Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bài 3/4: Device API

    🔥 "CLI không còn là Vua – API mới là Ngôi Báu!" 🔥
    Đây không chỉ là một khẩu hiệu marketing, mà là sự chuyển mình rõ rệt trong cách mà các kỹ sư mạng hiện đại tiếp cận việc quản lý thiết bị mạng. Trong bài này, chúng ta sẽ cùng nhau bóc tách cơn sóng lập trình hóa mạng (Network Programmability) và lý do vì sao Network Automation đang là xu hướng tất yếu – không chỉ trong Data Center mà cả trong các mạng doanh nghiệp truyền thống.
    💥 Tạm biệt CLI, chào API!

    Trong hàng chục năm, CLI là phương pháp “vào việc” chuẩn chỉnh của dân mạng: từ cấu hình router, switch đến khắc phục sự cố. Nhưng rồi mạng ngày càng phức tạp, thiết bị ngày càng nhiều, chưa kể overlay như SDN, IPv6, security stack, Wi-Fi controller… làm quản trị CLI trở nên thiếu hiệu quả, khó mở rộng.
    ➡️ Và đó là lúc API lên ngôi.
    Các thiết bị mạng hiện đại (Cisco, Juniper, Arista…) đều được tích hợp API để giao tiếp lập trình – cho phép tự động hóa toàn bộ vòng đời thiết bị: từ provisioning đến kiểm tra cấu hình và rollback nếu cần.
    Ví dụ thực tế:
    Bạn có thể viết một đoạn script dùng Python + REST API để tự động tạo VLAN trên 20 switch cùng lúc, thay vì telnet/SSH từng con và gõ tay.

    🧠 REST, NETCONF, YANG, gRPC: Không chỉ là từ viết tắt

    Đừng lo nếu bạn mới tiếp cận những từ như RESTCONF, NETCONF, YANG. Dưới đây là giải thích dễ hiểu:
    • REST API: Giao tiếp qua HTTP/HTTPS, dạng JSON/XML. Rất phổ biến vì đơn giản, nhanh, dễ bảo mật.
    • NETCONF: Chuẩn IETF, dùng để cấu hình thiết bị. Giao tiếp qua XML và định nghĩa hành động qua RPC.
    • RESTCONF: Là cách “bọc” NETCONF dưới dạng REST API – tiện hơn, nhưng vẫn có đủ tính năng cấu hình mạng.
    • YANG: Yet Another Next Generation. Đây không phải là API mà là ngôn ngữ mô hình dữ liệu, giúp định nghĩa cấu trúc dữ liệu được dùng bởi RESTCONF/NETCONF.
    • gRPC: Giao thức RPC do Google phát triển, dùng protobuf thay vì JSON/XML nên cực kỳ nhẹ, nhanh và tiết kiệm băng thông. Được ưa chuộng trong hệ thống lớn, phân tán.

    🛠 Tự động hóa không chỉ là viết API – mà là cả một hệ sinh thái DevOps

    API là công cụ. Nhưng automation là quy trình. Bạn sẽ cần:
    • Git để lưu version cấu hình
    • Jenkins để CICD cấu hình mạng
    • Docker để dựng môi trường test
    • Ansible để đẩy cấu hình lên hàng loạt thiết bị
    • Cisco Modeling Labs (CML) để test code trong môi trường mô phỏng trước khi “bắn thật”
    Và tin vui là: Hầu hết các công cụ kể trên đều mã nguồn mở hoặc có phiên bản cộng đồng. Bất kỳ kỹ sư mạng nào cũng có thể học và triển khai.
    🌐 Cisco không đứng ngoài cuộc

    Cisco đã và đang "API hóa" toàn bộ hệ sinh thái của họ:
    • Cisco DNA Center (DNAC): điều phối mạng doanh nghiệp, hỗ trợ full REST API
    • Cisco ACI / APIC: điều phối Data Center theo mô hình policy, toàn bộ hoạt động qua API
    • Cisco Webex / CallManager: nền tảng cộng tác cũng được lập trình hóa để tích hợp dễ dàng
    • IoT Gateway: giao tiếp với sensor, camera thông qua REST/gRPC API

    🤔 Còn CLI thì sao?

    Đừng lo, CLI chưa biến mất. Trong nhiều tình huống như:
    • Troubleshooting cần debug chi tiết
    • Thiết bị cũ chưa hỗ trợ API
    • Hoặc công cụ automation chưa support dòng thiết bị bạn dùng
    Thì CLI vẫn là “cứu tinh”. Tuy nhiên, CLI giờ đây là công cụ hỗ trợ chứ không phải là “main path”.
    ✅ Kết luận: Kỹ sư mạng thời hiện đại = CLI + API + Automation mindset

    Bạn không cần trở thành developer, nhưng bạn phải biết code, phải hiểu API, và phải học cách xây dựng automation pipeline.
    Gợi ý học tập:
    • Bắt đầu với REST API bằng Postman
    • Viết script Python dùng requests hoặc ncclient
    • Dùng Ansible để deploy cấu hình đơn giản
    • Lab với Cisco CML để kiểm chứng

    🎯 Bạn đang học CCNA, CCNP hay đang chuẩn bị cho CCIE? Đây chính là lúc để đưa lập trình hóa mạng vào hành trình học của bạn. Vì đó không còn là “kiến thức phụ” – mà là kỹ năng bắt buộc trong mạng thế hệ mới!
    👉 Nếu bạn thấy bài này hữu ích, hãy chia sẻ vào nhóm VnPro – NetCenter CCNA/CCNP/CCIE để mọi người cùng học!
    💬 Bạn đã từng thử REST API hoặc Ansible chưa? Bình luận bên dưới nhé!

    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X