1­-855­-778­-7246
> > > NPDESI

Designing and Implementing Cisco Network Programmability (NPDESI)

 

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

Duration 5 days

Price
  • Canada: CAD 3,595
  • Cisco Learning Credits: 38 CLC
Online Training

Duration 5 days

Price
  • Canada: CAD 3,595
  • Cisco Learning Credits: 38 CLC
E-Learning Cisco Digital Learning
Price
  • Canada: CAD 1,095
  • Cisco Learning Credits: 8 CLC
Buy E-Learning
 
Click on town name to book Schedule
This is an Instructor-Led Classroom course
This class will become guaranteed to run with one more student registration.
This computer icon in the schedule indicates that this date/time will be conducted as Instructor-Led Online Training.
This is a FLEX course, which is delivered both virtually and in the classroom.
  *   This class is delivered by a partner.
Canada
Dec 2-6, 2019 Online Training 09:00 Canada/Eastern Enroll
United States
Nov 18-22, 2019 Online Training 09:00 US/Central * Enroll
Nov 18-22, 2019 Online Training 09:00 US/Central * Enroll
Dec 2-6, 2019 Online Training 09:00 US/Eastern Enroll

Fast Lane Flex™ Classroom If you can't find a suitable date, don't forget to check our world-wide FLEX™ training schedule.

Europe
Germany
Nov 4-8, 2019 Munich Enroll
Dec 2-6, 2019 Berlin Enroll
Jan 13-17, 2020 Stuttgart Enroll
Feb 3-7, 2020 Hamburg Enroll
Mar 2-6, 2020 Munich Enroll
Mar 30-Apr 3, 2020 Berlin Enroll
May 4-8, 2020 Frankfurt Enroll
Jun 15-19, 2020 Hamburg Enroll
Jul 13-17, 2020 Düsseldorf Enroll
Aug 10-14, 2020 Münster Enroll
France
Nov 4-8, 2019 Paris Enroll
Jan 20-24, 2020 Paris Enroll
May 11-15, 2020 Paris Enroll
Italy
Nov 18-22, 2019 Milan 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
Switzerland
Mar 2-6, 2020 Zurich Enroll
Nov 2-6, 2020 Zurich Enroll
United Kingdom
Dec 2-6, 2019 This is a FLEX event London, City Enroll
Online Training Time zone: Europe/London Enroll
Feb 3-7, 2020 London, City Enroll
May 11-15, 2020 London, City Enroll
Latin America
Brazil
Oct 14-18, 2019 Online Training Time zone: America/Sao_Paulo Enroll
Middle East
United Arab Emirates
Dec 22-26, 2019 Dubai Course language: English This course is being delivered by iTLS. Enroll
Apr 19-23, 2020 Dubai Course language: English This course is being delivered by iTLS. Enroll
Oct 18-22, 2020 Dubai Course language: English This course is being delivered by iTLS. Enroll
Africa
Egypt
Dec 22-26, 2019 Cairo Course language: English Enroll
Mar 8-12, 2020 Cairo Course language: English Enroll
Sep 13-17, 2020 Cairo Course language: English Enroll