> > > NPDESI Detailed outline

Designing and Implementing Cisco Network Programmability (NPDESI)

Course Description Schedule Course Outline

Detailed Course Outline

Module 1: Network Programmability Fundamentals

  • Software-defined networking (SDN) overview
  • Industry trends:
    • Open source
    • Programmable infrastructure
    • SDN
    • DevOps
    • Cisco ACI
  • Network programmability and automation
  • Cisco platforms
  • Linux
    • File system
    • Paths and directories
    • File permission
    • Processes
    • Networking commands
  • Python
    • Code
    • Utilities
    • Data types
    • Writing scripts
    • Analyzing code
    • Error handling
  • Python libraries

Module 2: APIs and Automation Protocols

  • Device management and programmability overview
  • Data encoding formats
  • JSON
  • XML
  • Data models
  • Model-driven programmability stack
  • REST
  • NETCONF
  • RESTCONF
  • gRPC
  • REST API
    • overview
    • Agent pre-requisites
    • Documentation and console
    • Examples
  • 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

Module 3: Data Models

  • YANG
    • Overview
    • Module / header
    • Leaf /list statement
    • Types
    • Typedef statement
    • Choice statement
    • Grouping statement
    • RPC statement
    • Imports and includes
    • Modules and submodules
    • Model types
  • Yang validator
  • Development kit
  • YDK-Py API structure
  • Yang explorer

Module 4: SDN Controllers

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

Module 5: Network Operations

  • Software development methodologies
  • DevOps
    • Introduction
    • Demystified
    • Tools and technologies
  • Git
    • Overview
    • Architecture
    • Commands
    • Branches
    • GitHub
  • Network test infrastructure
  • VIRL
  • DevNet
  • Travis CI
  • Ansible
  • NXOS features modules
  • Puppet
    • Components
    • Server
    • Manifests
    • Resources
    • Node and agent

Labs:

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

Cookies help us deliver our services. By using our services, you agree to our use of cookies.   Got it!