Quản lý mạng hiện đại: API
API (Application Programming Interface) là tập hợp các hàm và giao thức cho phép các ứng dụng phần mềm giao tiếp và tương tác với nhau. API xác định cách các thành phần phần mềm trao đổi dữ liệu và cung cấp cơ chế để lập trình viên truy cập dữ liệu và dịch vụ từ các hệ thống khác nhau.
Cisco cung cấp nhiều API trong các giải pháp quản lý mạng của mình. Phần này mô tả kiến trúc REST API và cách thức hoạt động của nó.
REST API (Representational State Transfer)
REST (Representational State Transfer) là một phong cách kiến trúc dùng để thiết kế ứng dụng.
REST API (hoặc RESTful API) là API tuân theo các nguyên tắc của REST. Các nguyên tắc chính của REST
1️⃣ Client–Server
2️⃣ Stateless (Phi trạng thái)
3️⃣ Uniform Interface (Giao diện thống nhất)
REST API sử dụng các phương thức HTTP chuẩn:
4️⃣ Cacheable
5️⃣ Layered System
6️⃣ Code on Demand (Tùy chọn)
So sánh phương pháp quản lý mạng
Mô hình hiện đại thường so sánh:
Ví dụ API trong Cisco DNA
Client gửi API call đến DNA endpoint để lấy tài nguyên.
Controller trả về response chứa dữ liệu yêu cầu (thường ở dạng JSON).
Ví dụ luồng cơ bản:
Client → REST API Request → Cisco DNA → Response (JSON)
API trong hệ sinh thái Cisco
Các giải pháp quản lý mạng của Cisco cung cấp nhiều API cho:
Python và Cisco API
Python là ngôn ngữ phổ biến để xây dựng script tự động hóa với Cisco API vì:
Python giúp kỹ sư mạng:
API (Application Programming Interface) là tập hợp các hàm và giao thức cho phép các ứng dụng phần mềm giao tiếp và tương tác với nhau. API xác định cách các thành phần phần mềm trao đổi dữ liệu và cung cấp cơ chế để lập trình viên truy cập dữ liệu và dịch vụ từ các hệ thống khác nhau.
Cisco cung cấp nhiều API trong các giải pháp quản lý mạng của mình. Phần này mô tả kiến trúc REST API và cách thức hoạt động của nó.
REST API (Representational State Transfer)
REST (Representational State Transfer) là một phong cách kiến trúc dùng để thiết kế ứng dụng.
REST API (hoặc RESTful API) là API tuân theo các nguyên tắc của REST. Các nguyên tắc chính của REST
1️⃣ Client–Server
- Client cung cấp giao diện người dùng (UI/UX)
- Server xử lý yêu cầu, lưu trữ dữ liệu và các chức năng backend
2️⃣ Stateless (Phi trạng thái)
- Mỗi request từ client đến server được xử lý như một yêu cầu mới
- Server không lưu trạng thái của client giữa các request
3️⃣ Uniform Interface (Giao diện thống nhất)
REST API sử dụng các phương thức HTTP chuẩn:
- GET → Lấy tài nguyên
- POST → Tạo tài nguyên mới
- PUT / PATCH → Cập nhật tài nguyên
- DELETE → Xóa tài nguyên
4️⃣ Cacheable
- Phản hồi có thể được cache
- Có thể lưu trong CDN để tối ưu hiệu suất
5️⃣ Layered System
- Kiến trúc có thể được tổ chức thành nhiều lớp
- Mỗi lớp có chức năng riêng
- Tăng tính mở rộng và bảo mật
6️⃣ Code on Demand (Tùy chọn)
- Có thể cho phép tải và thực thi mã (script, applet) từ server
So sánh phương pháp quản lý mạng
Mô hình hiện đại thường so sánh:
- Quản lý truyền thống (CLI-based)
- Quản lý dựa trên Controller
- Quản lý lập trình qua API (Programmable / API-driven)
Ví dụ API trong Cisco DNA
Client gửi API call đến DNA endpoint để lấy tài nguyên.
Controller trả về response chứa dữ liệu yêu cầu (thường ở dạng JSON).
Ví dụ luồng cơ bản:
Client → REST API Request → Cisco DNA → Response (JSON)
API trong hệ sinh thái Cisco
Các giải pháp quản lý mạng của Cisco cung cấp nhiều API cho:
- Tự động hóa (Automation)
- Lập trình (Programmability)
- Tích hợp hệ thống
- Quản lý thiết bị
- Truy xuất dữ liệu
- Cấu hình thiết bị
- Triển khai chính sách
Python và Cisco API
Python là ngôn ngữ phổ biến để xây dựng script tự động hóa với Cisco API vì:
- Cú pháp đơn giản
- Nhiều thư viện hỗ trợ (requests, json, urllib3…)
- Dễ tích hợp với hệ thống DevOps / NetDevOps
Python giúp kỹ sư mạng:
- Tự động cấu hình hàng loạt thiết bị
- Thu thập dữ liệu
- Phân tích log
- Triển khai chính sách mạng