Các công cụ quản lý cấu hình
Cấu hình network 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 CLI. Nhưng bây giờ điều đó đã thay đổi trong tương lai. Khi cần cấu hình quan trọng trê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 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 port, access lists, QoS, và 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.
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, được coi 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 theiets 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:
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 |