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

Designing and Implementing Cisco Network Programmability

 

Product Description

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

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

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
E-Learning Cisco Digital Learning
Price
  • US$ 750
  • Cisco Learning Credits: 8 CLC

Subscription duration: 365 days