Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0

Designing and Implementing Cisco Network Programmability Training v1.0

Course Delivery

This Course is available in the following format:

Request this course in a different delivery format

GSA Schedule 70 Saving for Government Customers

Course Overview:

Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 – Hands-on

Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 is a course that addresses the evolving role of network engineers towards more programmability, automation and orchestration, enabling them to leverage the powerful level of abstraction provided by controller based architectures to create real added value. This Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 course is aligned with the topics covered by the 300-550 NPDESI exam, leading to the Cisco Network Programmability Design and Implementation Specialist Certification.

The goal of the Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 course is to provide the student a foundation to get started with network programmability by learning 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. Within these goals, the learner reviews network programmability fundamentals such as using Linux and Python, common automation protocols such as NETCONF and REST, how they relate to YANG data models, SDN controller northbound and southbound APIs, how to use device APIs on various Cisco platforms, and how to get started using automation tools such as Ansible and Puppet.

Customize It:

• If you are familiar with some aspects of this Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 course, we can omit or shorten their discussion.
• We can adjust the emphasis placed on the various topics or build the Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 course around the mix of technologies of interest to you (including technologies other than those included in this outline).
• If your background is nontechnical, we can exclude the more technical topics, include the topics that may be of special interest to you (e.g., as a manager or policy-maker), and present the Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 course in manner understandable to lay audiences.

Audience / Target Group:

The target audience for this Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 course:

• Network engineer
• Field engineer
• System engineer
• Network designer
• Network operations
• Network automation engineer
• Network programmer
• Network developer
• Software engineer
• Application developer

Designing and Implementing Cisco Network Programmability Training – Class Prerequisites:

The knowledge and skills that a learner must have before attending this Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 course are:

• Baseline Python knowledge
• Data Center CCNA/CCNP-level network background

Designing and Implementing Cisco Network Programmability Training – Objectives:

Upon completing this Designing and Implementing Cisco Network Programmability Training (NPDESI) v1.0 course, learners will be able to meet these objectives:

• Minimize the amount of manual interactions 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
• YANG data models
• SDN controllers including APIC, APIC-EM, and OSC
• Device-level APIs such as Cisco NX-OS, IOS-XE, IOS-XR, and ASA OS
• DevOps and Agile software development methodologies
• Automation tools such as Ansible, Chef, and Puppet

Designing and Implementing Cisco Network Programmability Training v1.0 – Course Syllabus:

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

Designing and Implementing Cisco Network Programmability Training – 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

Whether you are looking for general information or have a specific question, we want to help!

Request More Information

Print Friendly, PDF & Email