> > > NPDESI

Designing and Implementing Cisco Network Programmability (NPDESI)

Course Description Schedule Course Outline
 

Course Content

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:

Prerequisites

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

  • Baseline Python knowledge
  • CCNA/CCNP level network background

Course Objectives

  • 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
Modality: C

Duration 5 days

Price
  • United States: US$ 4,495
  • Cisco Learning Credits: 45 CLC
Enroll now
Online Training
Modality: L

Duration 5 days

Price
  • United States: US$ 4,495
  • Cisco Learning Credits: 45 CLC
Enroll now
E-Learning Cisco Digital Learning
Modality: P
Price
  • United States: US$ 750
  • Cisco Learning Credits: 8 CLC
Buy E-Learning
 
Click City Name To Book Schedule
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.
  *   This class is delivered by a partner.
United States
Dec 10-14, 2018 Online Training 09:00 US/Central * Enroll
Mar 11-15, 2019 Online Training 09:00 US/Eastern Enroll
Jun 10-14, 2019 Online Training 09:00 US/Central Enroll
Sep 9-13, 2019 Online Training 09:00 US/Pacific Enroll
Dec 2-6, 2019 Online Training 09:00 US/Eastern Enroll
Canada
Mar 11-15, 2019 Online Training 09:00 Canada/Eastern Enroll
Jun 10-14, 2019 Online Training 09:00 Canada/Central Enroll
Sep 9-13, 2019 Online Training 09:00 Canada/Pacific Enroll
Dec 2-6, 2019 Online Training 09:00 Canada/Eastern Enroll
Europe
Germany
Jan 7-11, 2019 Stuttgart Enroll
Feb 4-8, 2019 Hamburg Enroll
Mar 4-8, 2019 Munich Enroll
Apr 8-12, 2019 Berlin Enroll
May 13-17, 2019 Frankfurt Enroll
Jun 17-21, 2019 Hamburg Enroll
Jul 15-19, 2019 Düsseldorf Enroll
Aug 12-16, 2019 Münster Enroll
Sep 9-13, 2019 Stuttgart Enroll
Oct 7-11, 2019 Frankfurt Enroll
Nov 4-8, 2019 Munich Enroll
Dec 2-6, 2019 Berlin Enroll
Croatia
Mar 25-29, 2019 This is a FLEX event Zagreb Course language: English Enroll
Online Training Time zone: Europe/Zagreb Enroll
France
Jan 7-11, 2019 Paris Enroll
Jun 10-14, 2019 Paris Enroll
Sep 23-27, 2019 Paris Enroll
Hungary
Jun 3-7, 2019 This is a FLEX event Budapest Course language: English Enroll
Online Training Time zone: Europe/Budapest Enroll
Italy
Feb 11-15, 2019 Rome Enroll
Apr 1-5, 2019 Milan Enroll
Jun 3-7, 2019 Rome Enroll
Jul 29-Aug 2, 2019 Milan Enroll
Sep 30-Oct 4, 2019 Rome Enroll
Nov 18-22, 2019 Milan Enroll
Netherlands
Feb 25-Mar 1, 2019 Utrecht Course language: English Enroll
Portugal
Mar 11-15, 2019 Lisbon Enroll
Aug 26-30, 2019 Lisbon Enroll
Romania
Oct 7-11, 2019 This is a FLEX event Bucharest Course language: English Enroll
Online Training Time zone: Europe/Bucharest Enroll
Serbia
Dec 2-6, 2019 This is a FLEX event Belgrade Course language: English Enroll
Online Training Time zone: Europe/Belgrade Enroll
Slovenia
Jan 28-Feb 1, 2019 This is a FLEX event Ljubljana Course language: English Enroll
Online Training Time zone: Europe/Ljubljana Enroll
Spain
Nov 19-23, 2018 Madrid Enroll
Mar 4-8, 2019 Madrid Enroll
Aug 19-23, 2019 Madrid Enroll
United Kingdom
Dec 3-7, 2018 This is a FLEX event London, City Enroll
Online Training Time zone: Europe/London Enroll
Feb 11-15, 2019 This is a FLEX event London, City Enroll
Online Training Time zone: Europe/London Enroll
Apr 29-May 3, 2019 This is a FLEX event London, City Enroll
Online Training Time zone: Europe/London Enroll
Latin America
Argentina
Sep 9-13, 2019 Online Training Time zone: America/Buenos_Aires Enroll
Brazil
Jun 17-21, 2019 Online Training Time zone: America/Sao_Paulo Enroll
Oct 14-18, 2019 Online Training Time zone: America/Sao_Paulo Enroll
Chile
Apr 22-26, 2019 Online Training Time zone: America/Santiago Enroll
Costa Rica
May 6-10, 2019 Online Training Time zone: America/Costa_Rica Enroll
Sep 9-13, 2019 Online Training Time zone: America/Costa_Rica Enroll
Mexico
Mar 4-8, 2019 Online Training Time zone: America/Mexico_City Enroll
Jul 1-5, 2019 Online Training Time zone: America/Mexico_City Enroll
Middle East
Qatar
Jun 30-Jul 4, 2019 Doha Course language: English Enroll
United Arab Emirates
Jun 30-Jul 4, 2019 Dubai Course language: English This course is being delivered by iTLS. Enroll
Dec 22-26, 2019 Dubai Course language: English This course is being delivered by iTLS. Enroll
Africa
Egypt
Jun 30-Jul 4, 2019 Cairo Course language: English Enroll
Dec 22-26, 2019 Cairo Course language: English Enroll