Designing and Implementing Cisco Network Programmability

Cisco

Cisco

Cisco is the world leader in networking technologies. Streamtech Knowledge is a Cisco Learning Partner within Cisco Education. We are valued provider of authorised Cisco training in Australia, offering a wider range of Cisco courses, run more often than any of our competitors.

Code

NPDESI

Revision

1.0

Duration

5 Days

Audience

IT Professionals

Level

Specialist

Price

$5,500.00

Designing and Implementing Cisco Network Programmability v.1.0 (NPDESI) is a 5 Day course that addresses the evolving role of network engineers towards more programmability, automation and orchestration, decreasing the amount of manual interactions through CLI. This course is aligned with the topics covered by the 300-550 NPDESI exam, Cisco Network Programmability Design and Implementation Specialist Certification.

  • Network Engineer
  • Field Engineer
  • System Engineer
  • Network Designer
  • Network Operations
  • Network Programmer
  • Network Developer
  • Software Engineer
  • Application Developer
  • Learn 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.
  • Learn about SDN controllers 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.
  • Learn about DevOps and Agile software development methodologies, and get started on using automation tools such as Ansible, Chef and Puppet.

Cisco recommends that you should have the following skills and knowledge before attending this course:

  • Baseline Python knowledge
  • CCNA/CCNP level network background

1 Network Programmability Fundamentals

Lessons
  • Software-defined networking (SDN) overview
  • Industry trends
  • Network programmability and automation
  • Cisco platforms
  • Linux
  • Python
  • Python libraries

2 APIs and Automation Protocols

Lessons
  • Device management and programmability overview
  • Data encoding formats
  • JSON
  • XML
  • Data models
  • Model-driven programmability stack
  • REST
  • NETCONF
  • RESTCONF
  • gRPC
  • REST API
  • Nexus programmability overview
  • NX-API CLI
  • NETCONF
  • Python on box
  • NS-API REST
  • IOS XE RESTCONF API
  • IOS XE NETCONF API
  • IOS XR NETCONF APIs
  • Management plane
  • Access control lists

3 Data Models

Lessons
  • YANG
  • Yang validator
  • Development kit
  • YDK-Py API structure
  • Yang explorer

4 SDN Controllers

Lessons
  • Controller based networking
  • OpenFlow
  • OpenDaylight
  • APIC-EM
  • ACI overview
  • ACI object model
  • APIC REST API
  • Cobra SDK
  • Arya
  • ACI toolkit applications
  • Virtual topology system
  • UCS Manager
  • UCS Director

5 Network Operations

Lessons
  • Software development methodologies
  • DevOps
  • Git
  • Network test infrastructure
  • VIRL
  • DevNet
  • Travis CI
  • Ansible
  • NXOS features modules
  • Puppet

6 Labs

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