HƯỚNG DẪN CÁCH HỌC MÔN DEVNET ASSOCIATE -

HƯỚNG DẪN CÁCH HỌC MÔN DEVNET ASSOCIATE -

HƯỚNG DẪN CÁCH HỌC MÔN DEVNET ASSOCIATE -

HƯỚNG DẪN CÁCH HỌC MÔN DEVNET ASSOCIATE -

HƯỚNG DẪN CÁCH HỌC MÔN DEVNET ASSOCIATE -
HƯỚNG DẪN CÁCH HỌC MÔN DEVNET ASSOCIATE -
(028) 35124257 - 0933 427 079

HƯỚNG DẪN CÁCH HỌC MÔN DEVNET ASSOCIATE

26-02-2020

HƯỚNG DẪN CÁCH HỌC MÔN DEVNET ASSOCIATE

 

1. Giới thiệu về chứng chỉ DEVASC 200-901, khoá học DEVASC 200-901

Chứng chỉ DevNet (DEVASC 200-901) ra đời nhằm để xác nhận các kỹ năng của các nhà phát triển phần mềm, kỹ sư DevOps, chuyên gia tự động hoá và các chuyên gia về phần mềm. Chương trình chứng nhận các kỹ năng kỹ thuật mới nổi quan trọng cho một loại chuyên gia CNTT mới, trao quyền cho các tổ chức nắm bắt tiềm năng của các ứng dụng, tự động hóa và cơ sở hạ tầng cho mạng, IoT, DevOps và Cloud.

Hoàn thành khóa học này, các bạn có thể đảm nhận các vị trí như kỹ sư tự động (Automation Engineer), kỹ sư DEVOPS/Infrastructure, chuyên gia về hạ tầng mạng, cloud.

Chứng nhận yêu cầu một bài kiểm tra kiểm tra kiến thức của bạn về phát triển và thiết kế phần mềm, bao gồm:

  • Hiểu và sử dụng API
  • Nền tảng và sự phát triển của Cisco
  • Phát triển ứng dụng và bảo mật
  • Cơ sở hạ tầng và tự động hóa

Thời lượng khóa học: 120 giờ

2. Nội dung chi tiết chương trình lý thuyết

     2.1. Software Development and Design – Thiết kế và phát triển ứng dụng

          2.1.1. So sánh định dạng dữ liệu ( XML, JSON, YAML) với cấu trúc dữ liệu Python

          2.1.2. Mô tả cách phân tích dữ liệu từ XML, JSON, YAML sang Python

          2.1.3. Mô tả các khái niệm về test-driven development

          2.1.4. So sánh các hướng phát triển phần mềm (agile, lean, waterfall)

          2.1.5. Giải thích lợi ích khi sắp xếp code theo các methods/function, classes, modules

          2.1.6. Xác định lợi ích của common design patterns (MVC and Observer)

          2.1.7. Giải thích lợi ích của việc quản lý Version

          2.1.8. Sử dụng git để quản lý Version

               2.1.8.a. Clone

               2.1.8.b. Add/remove

               2.1.8.c. Commit

               2.1.8.d. Push / pull

               2.1.8.e. Branch

               2.1.8.f. Merge and handling conflicts

               2.1.8.g. Diff

     2.2. Understanding and Using APIs- Tìm hiểu và sử dụng APIs

          2.2.1. Xây dựng một yêu cầu truy cập REST API

          2.2.2. Mô tả các mô hình sử dụng phổ biến liên quan đến webhooks

          2.2.3. Xác định những hạn chế khi sử dụng API

          2.2.4. Giải thích các code giá trị HTTP response (response code, headers, body)

          2.2.5. Xác định lỗi dựa trên HTTP response code, request và tài liệu API

          2.2.6. Xác định các thành phần của HTTP response (response code, headers, body)

          2.2.7. Sử dụng các cơ chế xác thực API phổ biến: basic, custom token và API keys

          2.2.8. So sánh các dạng API (REST, RPC, synchronous, and asynchronous)

          2.2.9. Xây dựng Python script để gọi API REST bằng thư viện requests

     2.3. Cisco Platforms and Development

          2.3.1. Xây dựng Python script sử dụng Cisco SDK dựa trên tài liệu SDK

          2.3.2. Mô tả khả năng của các nền tảng và API quản lý mạng của Cisco (Meraki, Cisco DNA Center, ACI, Cisco SD-WAN và NSO)

          2.3.3. Mô tả khả năng của các nền tảng và API compute management của Cisco (UCS Manager, UCS Director và Intersight)

         2.3.4. Mô tả khả năng của các nền tảng và API collaboration của Cisco (Webex Teams, Webex devices, Cisco Unified Communication Manager including AXL and UDS interfaces, and Finesse)

          2.3.5. Mô tả khả năng của các nền tảng và API bảo mật của Cisco (Firepower, Umbrella, AMP, ISE, and ThreatGrid)

          2.3.6. Mô tả device level APIs và dynamic interface của IOS XE và NX-OS

          2.3.7. Giới thiệu các nguồn tài nguyên của DevNet về các tình huống được dựng sẵn (Sandbox, Code Exchange, support, forums, Learning Labs, and API documentation)

          2.3.8. Áp dụng các khái niệm về lập trình hướng mô hình (YANG, RESTCONF, and NETCONF) trong môi trường của Cisco

          2.3.9. Xây dựng code để thực hiện một hoạt động cụ thể dựa trên một tập hợp các yêu cầu và tài liệu tham khảo API đã cho, ví dụ:

               2.3.9.a. Lấy list device hiện có trong môi trường mạng bằng cách sử dụng API của Meraki, Cisco DNA Center, ACI, Cisco SD-WAN, or NSO

               2.3.9.b. Quản lý không gian, người tham gia và tin nhắn của Webex Team

               2.3.9.c. Lấy list danh sách các hosts/ clients hiện có trong hệ thống mạng sử dụng Meraki, Cisco DNA center

     2.4. Application Deployment and Security

          2.4.1. Mô tả lợi ích của edge computing

          2.4.2. Xác định các thuộc tính của các mô hình triển khai ứng dụng khác nhau (private cloud, public cloud, hybrid cloud, and edge)

          2.4.3. Xác định các thuộc tính của các loại triển khai ứng dụng

               2.4.3.a. Virtual machines

               2.4.3.b. Bare Metal

               2.4.3.c. Containers

          2.4.4. Mô tả các thành phần cho CI/CD pipeline khi triển khai ứng dụng

          2.4.5. Xây dựng Python unit test

          2.4.6. Giải thích nội dung của Dockerfile

          2.4.7. Sử dụng Docker image trong local developer environment

          2.4.8. Xác định các vấn đề bảo mật ứng dụng liên quan đến bảo vệ bí mật, mã hóa (lưu trữ và vận chuyển) và xử lý dữ liệu

          2.4.9. Giải thích cách tường lửa, DNS, cân bằng tải và reverse proxy trong triển khai ứng dụng

          2.4.10. Mô tả các mối đe dọa OWASP hàng đầu (như XSS, SQL injections và CSRF)

          2.4.11. Sử dụng các lệnh Bash (quản lý tệp, điều hướng thư mục và các biến môi trường)

          2.4.12. Xác định các nguyên tắc thực hành DevOps

     2.5. Infrastructure and Automation

          2.5.1. Mô tả giá trị của model driven programmability cho tự động hóa cơ sở hạ tầng

          2.5.2. So sánh cấp điều khiển với quản lý cấp thiết bị

          2.5.3. Mô tả việc sử dụng và vai trò của các công cụ kiểm tra và mô phỏng mạng (như VIRL và pyATS)

          2.5.4. Mô tả các thành phần và lợi ích của CI/CD pipeline trong tự động hóa cơ sở hạ tầng

          2.5.5. Mô tả các thuộc tính hạ tầng mạng bằng code

          2.5.6. Mô tả khả năng của các công cụ automation nhưu Ansible, Puppet, Chef, Cisco NSO

          2.5.7. Xác định các quy trình làm việc khi tự động hoá bằng Python script bằng các API của Cisco (ACI, Meraki, Cisco DNA Center, or RESTCONF)

         2.5.8. Xác định các quy trình làm việc khi tự động hoá bằng Ansible Playbook (management packages, user management related to services, basic service configuration, and start/stop)

         2.5.9. Xác định các quy trình làm việc khi tự động hoá bằng bash script (file management, app install, user management, directory navigation)

         2.5.10. Giải thích kết quả của truy vấn bằng RESTCONF và NETCONF

         2.5.11. Giải thích cơ bản về YANG models

         2.5.12. Giải thích về unified diff

         2.5.13. Mô tả các nguyên tắc và lợi ích của quy trình code review

         2.5.14. Giải thích sequence diagram bao gồm gọi hàm API

     2.6. Network Fundamentals – Mạng căn bản

          2.6.1. Tìm hiểu về mục đích và công dụng của địa chỉ MAC và VLANs

          2.6.2. Tìm hiểu về mục đích và công dụng của địa chỉ IP, routes, subnet mask/ prefix, gateways

          2.6.3. Tìm hiểu  về chức năng của các thành phần trong hệ thống mạng ( switches, routers, firewall, cân bằng tải)

          2.6.4. Các nguyên tắc của sơ đồ hệ thống mạng cơ bản (switches, routers, firewalls, cân bằng tải và giá trị port)

          2.6.5. Tìm hiểu về các chức năng quản lý, dữ liệu và control plane của thiết bị mạng

          2.6.6. Tìm hiểu về các dịch vụ IP như: DHCP, DNS, NAT, SNMP, NTP

          2.6.7. Nhận biết các giá trị port của các giao thức cơ bản như SSH, Telnet, HTTP, HTTPS, và NETCONF

          2.6.8. Xác định nguyên nhân gây ra lỗi kết nối ( NAT problem, Transport Port blocked, proxy và VPN)

          2.6.9. Giải thích tác động của hạn chế trong mạng đối với ứng dụng

3. Nội dung các bài thực hành

  • 3.1. Thiết lập môi trường phát triển ứng dụng trên Windows
  • 3.2. Viết chương trình dung python và thư viện Netmiko để thực hiện truy cập SSH vào các thiết bị mạng
  • 3.3. Dùng công cụ Postman để lấy Ticket và danh sách thiết bị từ Network Controller
  • 3.4. Viết chương trình dung ngôn ngữ Python để lấy Ticket và danh sách thiết bị từ Network Controller
  • 3.5. Làm quen và sử dụng Github
  • 3.6. Quản lý và triển khai tự động hạ tầng mạng dung Ansible
  • 3.7. Viết Playbook cấu hình trunking giữa Switch và Router tự dộng trên Server Ansible ( AWX)
  • 3.8. Viết chương trình dung ngôn ngữ Python sử dụng Netconf để tjhực hiện lấy danh sách thông tin các cổng trên thiết bị Cisco (Sandbox)
  • 3.9. Viết trương chình sử dụng ngôn ngữ Python sử dụng RESTCONF dể thực hiện lấy danh sách thông tin các cổng trên thiết bị Sandbox Cisco
  • 3.10. Parse API Data Formats with Python
  • 3.11. Use Git for Version Control
  • 3.12. Identify Software Architecture and Design Patterns on a Diagram
  • 3.13. Implement Singleton Pattern and Abstraction Based Method
  • 3.14. Inspect HTTP Protocol Messages
  • 3.15. Use Postman
  • 3.16. Troubleshoot an HTTP Error Response
  • 3.17. Utilize APIs with Python
  • 3.18. Use the Cisco Controller APIs
  • 3.19. Use the Cisco Webex Teams Collaboration API
  • 3.20. Interpret a Basic Network Topology Diagram
  • 3.21. Identify the Cause of Application Connectivity Issues
  • 3.22. Perform Basic NETCONF Operations
  • 3.23. Use Cisco SDK and Python for Automation Scripting
  • 3.24. Utilize Bash Commands for Local Development
  • 3.25. Construct Infrastructure Automation Workflow
  • 3.26. Construct a Python Unit Test
  • 3.27. Interpret a Dockerfile
  • 3.28. Utilize Docker Commands to Manage Local Developer Environment
  • 3.29. Exploit Insufficient Parameter Sanitization

4. Tài nguyên học tập, tài liệu tham khảo

  • Diễn đàn http://forum.vnpro.org
  • Diễn đàn https://developer.cisco.com/
  • Sách thực hành: CCLabPro tập 3.
  • Sách lý thuyết, giáo trình chính: Developing Applications and Automating Workflows using Cisco Core Platforms (DEVASC)
  • Sách lý thuyết Network Programmability and Automation (Jason Edelman, Scott S. Lowe & Matt Oswalt)
  • Sách lý thuyết Mastering Ansible (3rd Edition) (James Freeman and Jesse Keating)
  • Sách lý thuyết Mastering Python Networking (Eric Chou)
  • Video Cisco Press Live Lesson Network Programmability Fundamentals
  • Video IPSpace Ansible for Network Engineer

5. Cách học và trình tự học

Về trình tự học, các bạn hãy bắt đầu từ chủ đề 1 – thiết kế và phát triển ứng dụng. Phần này giúp chúng ta nhận biết, phân tích về các định dạng dữ liệu thông dụng, các mô hình phát triển phần mềm và sử dụng Git để quản lý phiên bản ứng dụng.

Về chủ đề 2 – Tìm hiểu và sử dụng API, sẽ giải thích khái niệm API, các loại API và phân tích cơ chế xác thực trong API, các nội dung phần header, body, mã code trả về cho biết trạng thái của yêu cầu HTTP được phản hồi. Chúng ta sẽ có 2 bài lab trong chủ đề này: sử dụng postman và python script để lấy ticket. Khái niệm API này là một trong những khái niệm quan trọng và phổ biến nhất trong lĩnh vực mạng, phát triển phần mềm hiện tại và trong tương lai gần.

Tiếp theo là chủ đề 3. Sauk hi đã hiểu khái niệm API, chúng ta sẽ tìm hiểu về API trên các nền tảng của Cisco. Chủ đề này mô tả khả năng các nền tảng và API của Cisco về quản lý mạng, collaboration, bảo mật, giới thiệu các tài nguyên mà Devnet cung cấp để tìm hiểu, thực hành và giao lưu với nhau. Trong phần này các bạn sẽ thực hành bài lab dùng Postman và python script để lấy danh sách các thiết bị từ Network Controller (APIC-EM).

Chủ đề kế tiếp là về triển khai ứng dụng và bảo mật, mô tả các thành phần trong CI/CD giúp phát triển và triển khai ứng dụng nhanh chóng, được kiểm tra kỹ lưỡng để tránh xung đột; Chúng ta cũng tìm hiểu về khái niệm về Docker.

Chủ đề về cơ sở hạ tầng và tự động hóa mô tả lợi ích của CI/CD pipeline trong tự động hóa cơ sở hạ tầng, mô tả và thực hành với công cụ Ansible để cấu hình, quản lý mạng tự động hóa.

Cuối cùng là phần về mạng căn bản nói về các khái niệm cơ bản trong mạng, chức năng của các thành phần trong hệ thống mạng, các dịch vụ mạng và giới thiệu các port của các giao thức cơ bản.

  • Module 1: Phát triển phần mềm hiện đại.
  • Module 2: Mô tả tiến trình phát triển phần mềm.
  • Module 3: Thiết kế phần mềm.
  • Module 4: Giới thiệu về network-based API.
  • Module 5: Consume rest-based API.
  • Module 6: Giới thiệu Cisco platform và APIs.
  • Module 7: Triển khai khả năng lập trình trên các hạ tầng mạng.
  • Module 8: Mô tả IP network.
  • Module 9: Kết nối network và Apps.
  • Module 10: Triển khai mạng tự động theo các mô hình.
  • Module 11: Triển khai các ứng dụng.
  • Module 12: Tự động hóa hạ tầng mạng
  • Module 13: Kiểm định và bảo mật các app

FORM ĐĂNG KÝ MUA HÀNG
Đặt hàng
icon-cart
0