> > > NPDESI

Designing and Implementing Cisco Network Programmability (NPDESI)

Course Description Schedule Course Outline
 

About this Course

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.

Who should attend

  • Network Engineer
  • Field Engineer
  • System Engineer
  • Network Designer
  • Network Operations
  • Network Programmer
  • Network Developer
  • Software Engineer
  • Application Developer

Certifications

This course is part of the following Certifications:

Class Prerequisites

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

  • Baseline Python knowledge
  • CCNA/CCNP level network background

What You Will Learn

  • 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.

Outline: Designing and Implementing Cisco Network Programmability (NPDESI)

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
Classroom Training

Duration 5 days

Price
  • United States: US$ 3,795
  • Cisco Learning Credits: 38 CLC
Enroll now
Online Training

Duration 5 days

Price
  • United States: US$ 3,795
  • Cisco Learning Credits: 38 CLC
Enroll now
 
Click City Name To BookSchedule
This is an Instructor-Led Classroom course
This is an Instructor-Led Online (ILO) course. These sessions are conducted via WebEx in a VoIP environment and require an Internet Connection and headset with microphone connected to your computer or laptop.
This is a FLEX course, which is delivered simultaneously in two modalities. Choose to attend the Instructor-Led Online (ILO) virtual session or Instructor-Led Classroom (ILT) session.
United States
May 8-12, 2017 Online Training Time zone: US/Pacific Enroll
Jun 19-23, 2017 This is a FLEX event Raleigh/Durham, NC Enroll
Online Training Time zone: US/Eastern Enroll
Jul 31-Aug 4, 2017 Online Training Time zone: US/Central Enroll
Sep 11-15, 2017 Online Training Time zone: US/Pacific Enroll
Oct 23-27, 2017 This is a FLEX event Raleigh/Durham, NC Enroll
Online Training Time zone: US/Eastern Enroll
Dec 4-8, 2017 Online Training Time zone: US/Central Enroll
Canada
Jun 19-23, 2017 Online Training Time zone: Canada/Eastern Enroll
Sep 11-15, 2017 Online Training Time zone: Canada/Pacific Enroll
Dec 4-8, 2017 Online Training Time zone: Canada/Central Enroll