MỘT VÀI SUY NGHĨ VỀ NETWORK AUTOMATION
Một hệ thống mạng tiêu biểu thường bao gồm tập hợp các node. Mỗi node chạy một hệ điều hành, mỗi hệ điều hành lại được cấu hình bởi các giao thức và các tính năng. Các đặc điểm mạng trải rộng trên phạm vi toàn bộ mạng, ví dụ như giao thức định tuyến- sẽ yêu cầu các node có cấu hình đồng bộ để có thể tương tác với nhau. Số node trong mạng càng tăng thì độ phức tạp càng tăng. Các node mới hay các tính năng mới sẽ làm tăng độ phức tạp của hệ thống, làm tăng chi phí vận hành và làm giảm khả năng thay đổi của mạng. Các chi phí vận hành và chi phí đầu tư ban đầu thường làm cho những người kỹ sư mạng giới hạn việc triển khai các tính năng mới, hoặc họ không dùng các giải pháp hạ tầng để giải quyết các bài toán kinh doanh.
Tự động hóa trong lĩnh vực mạng, sau đây gọi là network automation, có thể giúp cho việc triển khai, vận hành và khắc phục lỗi trở nên tốt hơn. Nó có thể giúp giảm thiểu độ phức tạp khi triển khai và khi vận hành, hoặc giúp cho các hệ thống mạng thích ứng với sự thay đổi nhanh chóng hơn. Các chi phí về nhân sự và các rủi ro do con người thao tác có thể sẽ giảm đi vì các công cụ tự động được sử dụng để tương tác với hạ tầng mạng.
Về sự phức tạp
Có một giả thiết tổng quát trong kỹ thuật mạng là việc tự động hóa sẽ làm giảm độ phức tạp khi quản trị mạng. Lĩnh vực tự động có thể cung cấp tập hợp các công cụ để thực thi những tác vụ lặp lại và nó giúp giảm tương tác giữa người với máy. Thật ra quá trình này sẽ thêm vào nhiều trạng thái trung gian dưới hình thức là những cơ sở dữ liệu mới thêm vào, các tương tác mới giữa các giao thức và thêm vào một giao thức trong mặt phẳng quản trị - API. Một ai đó, cuối cùng sẽ phải quản lý, duy trì các công cụ. Các API cần phải tạo ra và sử dụng trong quá trình tự động. Nói cách khác, sự phức tạp được che dấu đi hay chỉ chuyển từ nơi này sang nơi khác (!).
Ý nêu trên không có nghĩa là network automation là một điều xấu. Ngày nay nó là một yêu cầu gần như bắt buộc trong các công việc điều hành mạng hàng ngày. Tuy nhiên, người kỹ sư phải luôn cân nhắc sự đánh đổi và chuẩn bị cho những yếu tố phức tạp khi triển khai network automation. Thay vì chúng ta nghĩ đơn giản là sự phức tạp đã giảm, chúng ta nên giả sử rằng sự phức tạp đã chuyển qua chổ khác và hãy xem xét cần quản lý sự di chuyển (độ phức tạp) này như thế nào.
Tự động hóa còn có thể hoạt động dưới hình thức của một mức trừu tượng hóa, thay thế một cấu hình lớn, đồ sộ bằng một vài dòng lệnh đơn giản. Điều này mang lại một điều tốt và một điều xấu. Điều tốt là nó sẽ đảm bảo các cấu hình là giống nhau và sẽ được áp dụng một cách giống nhau trên tất cả các thiết bị. Điều xấu là sự trừu tượng (abstraction - che dấu các chi tiết) sẽ thường giảm số trạng thái trung gian của mạng ở một nơi và sẽ giảm thiểu mức độ tối ưu của mạng ở một nơi khác. Tuy nhiên, chúng ta cần khẳng định lại rằng, network automation là con đường duy nhất để tiến về phía trước. Mặt khác, người kỹ sư mạng cần phải luôn luôn tìm ra những điểm mà độ tối ưu của mạng bị giảm khi sử dụng sự trừu tượng và hiểu các ảnh hưởng tiềm tàng của abstraction.
Về viễn cảnh tương lai
Sự bùng nổ và ngày càng phổ biến của lĩnh vực phân tích dữ liệu, lĩnh vực học máy sẽ giúp đẩy mạnh các thế hệ kế tiếp của network automation. Phân tích dữ liệu là một thuật ngữ chung cho một chuỗi các công cụ cho phép thu thập và chuyển hóa dữ liệu thành các thông tin có tổ chức và có ý nghĩa. Hiện tại, phần lớn các dữ liệu mà các thiết bị mạng đang sản sinh ra đều bị bỏ qua. Các dữ liệu bị bỏ đi này có thể giúp cho các nhà điều hành mạng các thông tin bên trong về trạng thái và sức khỏe của các thiết bị mạng, các thông tin về lưu lượng mạng hay tình trạng của các ứng dụng đang chạy trên mạng. Máy học machine learning sẽ cho phép các máy tính dự đoán các biến cố từ nguồn dữ liệu. Ví dụ machine learning có thể cho phép các máy tính dự đoán một vấn đề bảo mật hoặc một lưu lượng mạng dự kiến. Các hệ thống máy học cũng có thể thay đổi các cấu hình mạng dự trên các giả thiết của nó mà không cần can thiệp từ con người. Sự kết hợp giữa phân tích dữ liệu và machine learning, network automation sẽ cho phép các hệ thống mạng tự vận hành, tự sửa chữa.
Về các job mới trong phòng Network, phòng IT
Network automaton có thể đơn giản như là cấu hình một cách tự động các switch mới trong một trung tâm dữ liệu hoặc thay đổi cấu hình phần mềm tự động để trả lời cho các cảnh báo syslog. Các dự án triển khai tự động mạnh mẽ sẽ cho phép bộ phận network không suy nghĩ về hạ tầng mạng như một tập hợp các thiết bị đơn lẻ mà bắt đầu suy nghĩ về mạng như một hệ thống duy nhất. Network automation đã tạo ra một chức danh mới trong đội ngũ network: Automation engineer, DevNet engineer, DevOpsNet Engineer. Các kỹ sư này thường là một thành viên của đội điều hành, yêu cầu hiểu biết về mạng, các giao thức và các kỹ năng khắc phục sự cố; thành thạo trong các ngôn ngữ scripting chẳng hạn như Python; có khả năng xử lý sử dụng các công cụ quản lý cấu hình như Ansible, Chief….
Một hệ thống mạng tiêu biểu thường bao gồm tập hợp các node. Mỗi node chạy một hệ điều hành, mỗi hệ điều hành lại được cấu hình bởi các giao thức và các tính năng. Các đặc điểm mạng trải rộng trên phạm vi toàn bộ mạng, ví dụ như giao thức định tuyến- sẽ yêu cầu các node có cấu hình đồng bộ để có thể tương tác với nhau. Số node trong mạng càng tăng thì độ phức tạp càng tăng. Các node mới hay các tính năng mới sẽ làm tăng độ phức tạp của hệ thống, làm tăng chi phí vận hành và làm giảm khả năng thay đổi của mạng. Các chi phí vận hành và chi phí đầu tư ban đầu thường làm cho những người kỹ sư mạng giới hạn việc triển khai các tính năng mới, hoặc họ không dùng các giải pháp hạ tầng để giải quyết các bài toán kinh doanh.
Tự động hóa trong lĩnh vực mạng, sau đây gọi là network automation, có thể giúp cho việc triển khai, vận hành và khắc phục lỗi trở nên tốt hơn. Nó có thể giúp giảm thiểu độ phức tạp khi triển khai và khi vận hành, hoặc giúp cho các hệ thống mạng thích ứng với sự thay đổi nhanh chóng hơn. Các chi phí về nhân sự và các rủi ro do con người thao tác có thể sẽ giảm đi vì các công cụ tự động được sử dụng để tương tác với hạ tầng mạng.
Về sự phức tạp
Có một giả thiết tổng quát trong kỹ thuật mạng là việc tự động hóa sẽ làm giảm độ phức tạp khi quản trị mạng. Lĩnh vực tự động có thể cung cấp tập hợp các công cụ để thực thi những tác vụ lặp lại và nó giúp giảm tương tác giữa người với máy. Thật ra quá trình này sẽ thêm vào nhiều trạng thái trung gian dưới hình thức là những cơ sở dữ liệu mới thêm vào, các tương tác mới giữa các giao thức và thêm vào một giao thức trong mặt phẳng quản trị - API. Một ai đó, cuối cùng sẽ phải quản lý, duy trì các công cụ. Các API cần phải tạo ra và sử dụng trong quá trình tự động. Nói cách khác, sự phức tạp được che dấu đi hay chỉ chuyển từ nơi này sang nơi khác (!).
Ý nêu trên không có nghĩa là network automation là một điều xấu. Ngày nay nó là một yêu cầu gần như bắt buộc trong các công việc điều hành mạng hàng ngày. Tuy nhiên, người kỹ sư phải luôn cân nhắc sự đánh đổi và chuẩn bị cho những yếu tố phức tạp khi triển khai network automation. Thay vì chúng ta nghĩ đơn giản là sự phức tạp đã giảm, chúng ta nên giả sử rằng sự phức tạp đã chuyển qua chổ khác và hãy xem xét cần quản lý sự di chuyển (độ phức tạp) này như thế nào.
Tự động hóa còn có thể hoạt động dưới hình thức của một mức trừu tượng hóa, thay thế một cấu hình lớn, đồ sộ bằng một vài dòng lệnh đơn giản. Điều này mang lại một điều tốt và một điều xấu. Điều tốt là nó sẽ đảm bảo các cấu hình là giống nhau và sẽ được áp dụng một cách giống nhau trên tất cả các thiết bị. Điều xấu là sự trừu tượng (abstraction - che dấu các chi tiết) sẽ thường giảm số trạng thái trung gian của mạng ở một nơi và sẽ giảm thiểu mức độ tối ưu của mạng ở một nơi khác. Tuy nhiên, chúng ta cần khẳng định lại rằng, network automation là con đường duy nhất để tiến về phía trước. Mặt khác, người kỹ sư mạng cần phải luôn luôn tìm ra những điểm mà độ tối ưu của mạng bị giảm khi sử dụng sự trừu tượng và hiểu các ảnh hưởng tiềm tàng của abstraction.
Về viễn cảnh tương lai
Sự bùng nổ và ngày càng phổ biến của lĩnh vực phân tích dữ liệu, lĩnh vực học máy sẽ giúp đẩy mạnh các thế hệ kế tiếp của network automation. Phân tích dữ liệu là một thuật ngữ chung cho một chuỗi các công cụ cho phép thu thập và chuyển hóa dữ liệu thành các thông tin có tổ chức và có ý nghĩa. Hiện tại, phần lớn các dữ liệu mà các thiết bị mạng đang sản sinh ra đều bị bỏ qua. Các dữ liệu bị bỏ đi này có thể giúp cho các nhà điều hành mạng các thông tin bên trong về trạng thái và sức khỏe của các thiết bị mạng, các thông tin về lưu lượng mạng hay tình trạng của các ứng dụng đang chạy trên mạng. Máy học machine learning sẽ cho phép các máy tính dự đoán các biến cố từ nguồn dữ liệu. Ví dụ machine learning có thể cho phép các máy tính dự đoán một vấn đề bảo mật hoặc một lưu lượng mạng dự kiến. Các hệ thống máy học cũng có thể thay đổi các cấu hình mạng dự trên các giả thiết của nó mà không cần can thiệp từ con người. Sự kết hợp giữa phân tích dữ liệu và machine learning, network automation sẽ cho phép các hệ thống mạng tự vận hành, tự sửa chữa.
Về các job mới trong phòng Network, phòng IT
Network automaton có thể đơn giản như là cấu hình một cách tự động các switch mới trong một trung tâm dữ liệu hoặc thay đổi cấu hình phần mềm tự động để trả lời cho các cảnh báo syslog. Các dự án triển khai tự động mạnh mẽ sẽ cho phép bộ phận network không suy nghĩ về hạ tầng mạng như một tập hợp các thiết bị đơn lẻ mà bắt đầu suy nghĩ về mạng như một hệ thống duy nhất. Network automation đã tạo ra một chức danh mới trong đội ngũ network: Automation engineer, DevNet engineer, DevOpsNet Engineer. Các kỹ sư này thường là một thành viên của đội điều hành, yêu cầu hiểu biết về mạng, các giao thức và các kỹ năng khắc phục sự cố; thành thạo trong các ngôn ngữ scripting chẳng hạn như Python; có khả năng xử lý sử dụng các công cụ quản lý cấu hình như Ansible, Chief….