0345 4506120

Designing and Implementing Cisco Network Programmability

The goal of the course is to provide the delegate with the foundations of network programmability by learning how to minimize the amount of manual interactions (“CLI”) with the network and increase the use of scripts and automation tools to drive down operational inefficiencies. Within these goals, the learner reviews network programmability fundamentals such as using Linux and Python, common automation protocols such as NETCONF and REST, how they relate to YANG data models, SDN controller northbound and southbound APIs, how to use device APIs on various Cisco platforms, and how to get started using automation tools such as Ansible and Puppet.

Target Audience

Network Engineers looking to understand the fundamentals of network programmability.

Learning Objectives

After completing this course you should be able to:

  • Know how to minimize the amount of manual interactions (“CLI”) with the network, and increase the use of scripts and automation tools to drive down operational inefficiencies.
  • Review network programmability fundamentals including Linux and Python, common automation protocols such as NETCONF and REST and how they relate to YANG data models.
  • Understand SDN controlles including APIC, APIC-EM and OSC, as well as how to use device-level APIs such as Cisco NX-OS, IOS-XE, IOS-XR and ASA OS.
  • Recognise  DevOps and Agile software development methodologies, and get started on using automation tools such as Ansible, Chef and Puppet.

Pre-Requisites

Attendees should meet the following prerequisites:

  • Baseline Python knowledge
  • CCNA/CCNP level network background

Course Content

Network Programmability Fundamentals

  • Introduction to Network Programmability
  • Linux Primer for Network Engineers
  • Linux Networking
  • Python Foundations for Network Engineers – Part 1
  • Python Foundations for Network Engineers – Part 2
  • Writing and Troubleshooting Python Scripts
  • Python Libraries

APIs and Automation Protocols

  • Introduction to Network APIs and Protocols
  • Cisco ASA REST API
  • NX-OS Programmability
  • Cisco IOS XE APIs
  • Cisco IOS XR APIs
  • Securing the Management Plane

Data Models

  • YANG Data Modeling
  • YANG Tools

SDN Controllers

  • Introduction to Controller Networking
  • OpenDaylight
  • Cisco APIC-EM
  • Cisco Application Centric Infrastructure
  • Cisco Element and Domain Managers

Network Operations

  • Software Development Methodologies
  • Introduction to DevOps
  • Version Control
  • Automated Testing
  • Continuous Integration
  • Configuration Management and Automation Tools

Labs

  • Challenge 1: Using the Linux Command Line
  • Challenge 2: Linux Networking
  • Challenge 3: Python Foundations—Part 1
  • Challenge 4: Python Foundations – Part 2
  • Challenge 5: Writing and Troubleshooting Python Scripts
  • Challenge 6: Custom Python Libraries
  • Discovery 1: Working with JSON Objects in Python
  • Discovery 2: Using XML in Python
  • Discovery 3: NETCONF Capabilities Exchange
  • Challenge 7: Interacting with Cisco ASA REST API
  • Discovery 4: NX-API Discovery
  • Challenge 8: Consume NX-API with Python
  • Challenge 9: Consuming NETCONF on Nexus
  • Challenge 10: Using Python on the Nexus Switch
  • Challenge 11: Interacting with the Cisco IOS XE RESTCONF API
  • Challenge 12: Interacting with the Cisco IOS XE NETCONF API
  • Challenge 13: Interacting with the Cisco IOS XR NETCONF API
  • Challenge 14: Securing the Management Plane
  • Discovery 5: Validating YANG Models Using yang validator
  • Challenge 15: Writing a Custom YANG Model
  • Discovery 6: Viewing and Validating YANG Models with pyang
  • Discovery 7: BGP Configuration Change using ydk-py (with OC BGP models)
  • Discovery 8: Generate Python Bindings with ydk-gen
  • Discovery 9: Navigating YANG-Explorer
  • Discovery 10: Network Discovery Configuration
  • Challenge 16: APIC-EM Network Discovery and RBAC
  • Challenge 17: Consuming the APIC-EM API
  • Discovery 11: ACI Fabric Discovery
  • Discovery 12: Creating Objects with APIC GUI
  • Discovery 13: Navigating the Object Model
  • Discovery 14: Using API Inspector
  • Discovery 15: Using ARYA
  • Discovery 16: CLI Emulation Discovery 17: ACI Diagram Tool
  • Discovery 18: ACI Toolkit — Lint
  • Challenge 18: Using the APIC REST API
  • Discovery 19: GitHub Pull Request
  • Challenge 19: Working with Git
  • Discovery 20: DevNet Sandbox
  • Discovery 21: DevNet Learning Labs
  • Discovery 22: DevNet GitHub
  • Challenge 20: Integration Testing
  • Challenge 21: Compliance Checks with Ansible
  • Challenge 22: Tenant Provisioning with Ansible

Exams & Certification

Recommended preparation for the followning exams (exam not included):

  • 300-550 - Designing and Implementing Cisco Network Programmability

This exam is required for the Cisco Network Programmability Design and Implementation Specialist

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Virtual Classroom

Virtual classrooms provide all the benefits of attending a classroom course without the need to arrange travel and accomodation. Please note that virtual courses are attended in real-time, commencing on a specified date.

Virtual Course Dates

Our Customers Include