Cấu hình thiết bị mạng kiểu truyền thống
Các thiết bị mạng thường được cấu hình bởi 1 quản trị viên sử dụng giao tiếp dòng lệnh CLI. CLI ngay từ ngày đầu được thiết kế cho giao tiếp giữa máy và con người. Tuy nhiên, để phục vụ nhu cầu tự động hóa – network automation, bây giờ điều đó đã thay đổi.
Khi cần cấu hình quan trọng trên một số lớn các thiết bị thì nó sẽ là một vấn đề khá lớn trong môi trường mạng rộng hoặc với những cấu hình phức tạp.
Để quản trị các node trong hệ thống mạng, quản trị viên thường sử dụng giao thức SNMP để giảm sát các thông số của thiết bị, từ đó tìm ra các sự cố và giải quyết vấn đề hiện có trong hệ thống mạng. SNMP thường không được sử dụng để cấu hình thiết bị bởi vấn đề bảo mật và sự khó khăn trong việc triển khai.
Bây giờ các thiết bị sẽ được tích hợp sẵn các APIs. Chúng ta có thể triển khai tự động hoá trong việc triển khai và quản lý tài nguyên hệ thống mạng. Thay vì cấu hình thủ công các cổng port, access lists, QoS, chính sách cân bằng tải thì chúng ta có thể sử dụng các công cụ quản lý cấu hình như Ansible, Puppet hay Chef.
Thay vì cấu hình từng thiết bị chúng ta có thể sử dụng các giao thức và công nghệ như REST, Ansible, Puppet, Chef, python, JSON, XML .v.v. đây là một cách thức quản lý cấu hình mới được nhiều người hưởng ứng. Xu thế này cũng được xem là làn gió mới cũng như thách thức mới cho người quản trị mạng.
Lợi ích của việc tự động hoá:
So sánh các công cụ quản lý cấu hình:
Ansible, Chef, Puppet, và SaltStack đều được phát triển trên nền tảng API để cấu hình RESTful API request. Tất cả các thiết bị đều hỗ trợ JSON và YAML cũng như các định dạng dữ liệu khác
Sau đây là những sự khác biệt lớn giữa các công cụ quản lý cấu hình
Các thiết bị mạng thường được cấu hình bởi 1 quản trị viên sử dụng giao tiếp dòng lệnh CLI. CLI ngay từ ngày đầu được thiết kế cho giao tiếp giữa máy và con người. Tuy nhiên, để phục vụ nhu cầu tự động hóa – network automation, bây giờ điều đó đã thay đổi.
Khi cần cấu hình quan trọng trên một số lớn các thiết bị thì nó sẽ là một vấn đề khá lớn trong môi trường mạng rộng hoặc với những cấu hình phức tạp.
Để quản trị các node trong hệ thống mạng, quản trị viên thường sử dụng giao thức SNMP để giảm sát các thông số của thiết bị, từ đó tìm ra các sự cố và giải quyết vấn đề hiện có trong hệ thống mạng. SNMP thường không được sử dụng để cấu hình thiết bị bởi vấn đề bảo mật và sự khó khăn trong việc triển khai.
Bây giờ các thiết bị sẽ được tích hợp sẵn các APIs. Chúng ta có thể triển khai tự động hoá trong việc triển khai và quản lý tài nguyên hệ thống mạng. Thay vì cấu hình thủ công các cổng port, access lists, QoS, chính sách cân bằng tải thì chúng ta có thể sử dụng các công cụ quản lý cấu hình như Ansible, Puppet hay Chef.
Thay vì cấu hình từng thiết bị chúng ta có thể sử dụng các giao thức và công nghệ như REST, Ansible, Puppet, Chef, python, JSON, XML .v.v. đây là một cách thức quản lý cấu hình mới được nhiều người hưởng ứng. Xu thế này cũng được xem là làn gió mới cũng như thách thức mới cho người quản trị mạng.
Lợi ích của việc tự động hoá:
- Quản lý phiên bản phần mềm của các thiết bị
- Quản lý thuộc tính của thiết bị như tên, IP, bảo mật
- Cấu hình các giao thức
- Cấu hình Access Control List
- Ansible
- Chef
- Puppet
- SaltStack
So sánh các công cụ quản lý cấu hình:
Ansible, Chef, Puppet, và SaltStack đều được phát triển trên nền tảng API để cấu hình RESTful API request. Tất cả các thiết bị đều hỗ trợ JSON và YAML cũng như các định dạng dữ liệu khác
Sau đây là những sự khác biệt lớn giữa các công cụ quản lý cấu hình
Ansible | Chef | Puppet | SaltStack | |
Ngôn ngữ lâp trình | Python + YAML | Ruby | Ruby | Python |
Mô hình triển khai | Agentless | Agent-based | Cả hai | Cả hai |
Thiết bị quản lý | Bất kỳ thiết bị nào cũng có thể là controller | Chef Master | Puppet Master | Salt Master |
Các file cấu hình | Playbook | Cookbook | Manifest | Pillar |