Search Training
X

Cisco® Network Programmability for the Enterprise NPEN v1.0

Course Overview

This course teaches how to automate common Cisco enterprise platforms such as IOS-XE and IOS-XR routers as well as ASA firewalls. This course also includes coverage of the automation capabilities of the APIC Enterprise Module or “APIC-EM”.

Who Should Attend

This course is designed for network engineers who want to learn how to deploy network programmability and automation using the following Cisco platforms: the Cisco routers running IOS-XE or IOS-XR, ASA firewalls, or the APIC Enterprise Module (APIC-EM).

Course Objectives

Upon completing this course, the learner will be able to meet these overall objectives: (Network Programmability for the Data Center (NPEN v1.0) Use Linux tools that empower network programmers Write and troubleshoot Python scripts in the specialized area of Network Programmability Understand and interact with Data Models on Cisco routers running IOS-XE and IOS-XR Understand and interact with REST, NETCONF and RESTCONF API’s on IOS-XE, IOS-XR and the ASA Understand and interact with XML and JSON on IOS-XE, IOS-XR and the ASA Understand and interact with the APIC-EM and its REST/SWAGGER interface Learn how to use DevOps tools such as GitHub, VIRL and services offered by Cisco DevNet Learn how to use Ansible to configure Cisco routers and firewalls

Course Outline

1 - NETWORK PROGRAMMABILITY FUNDAMENTALS

  • Lesson 1: Introduction to Network Programmability
  • Understanding Software-Defined Networking
  • Explore Network Programmability and Automation
  • Examine Open Source Tools and Enterprise Platforms
  • Understand Network Programmability Technology
  • Explore a range of Cisco Platforms and their APIs
  • Lesson 2: Linux Primer for Network Engineers
  • Understand the Need to Learn Linux
  • Explore the Linux File System
  • Examine Linux Distributions and Package Managers
  • Work with Files and Directories
  • Explore Linux Processes
  • Lesson 3: Linux Tools for Programmers
  • Build a Programmer’s Workbench in Linux
  • Use Complex Grep and Find Commands to Locate Files
  • Explore powerful use cases of BASH scripting for network programmers
  • Lesson 4: Python Fundamentals for Network Engineers – Part 1
  • Understanding Python
  • Executing Python Code
  • Examining Python Helper Utilities and Function
  • Writing Idiomatic Python
  • Exploring Common Python Data Types
  • Lesson 5: Python Fundamentals for Network Engineers – Part 2
  • Lists
  • Dictionaries
  • Loops
  • Functions
  • Working with Files
  • Lesson 6: Writing and Troubleshooting Python Scripts
  • Writing Scripts
  • Executing Scripts
  • Analyzing Code
  • Error Handling
  • Lesson 7: Python Libraries
  • Python Libraries
  • Python Modules
  • Python Packages

2 - DATA MODELS IN THE ENTERPRISE

  • Lesson 1: Introduction to Data Models
  • Data Models Defined
  • The power of using a Data Model
  • The pain of not using a Data Model
  • Review of the SNMP Data Model
  • SNMP compared to the Cisco Data Center Managed Object Model
  • SNMP compared to a YANG derived Data Model
  • The Power of YANG + Cisco DevNet ydk-gen in auto-generating Python Modules
  • An Example of a State of the Art Network Programmability environment using Python with a Data Model
  • Lesson 2: YANG Data Modeling
  • YANG Overview
  • YANG Module and Module Header
  • YANG: Fundamental Definitions and Statement
  • YANG Types and the TypeDef Statement
  • YANG Choice and Grouping Statements
  • YANG Miscellaneous Statements
  • Putting Things Together with YANG
  • YANG Model Examples with XML and JSON
  • Lesson 3: YANG Tools
  • YANG Validator
  • The YANG Tool
  • YANG Development Kit
  • YDK-Py API Structure
  • YDK-Gen
  • YANG Explorer

3 - NETWORK PROGRAMMABILITY WITH IOS-XE, IOS-XR ROUTERS AND THE ASA FIREWALL

  • Lesson 1: Introduction to Network APIs and Protocols
  • Evolution of Device Management and Programmability
  • Data Encoding Formats
  • JSON
  • XML
  • Data Model-Driven Programmability Stack
  • REST
  • NETCONF
  • RESTCONF
  • gRPC
  • Lesson 2: IOS-XE Programmability
  • Cisco IOS-XE API Overview
  • IOS-XE NETCONF API
  • IOS-XE RESTCONF API
  • Configuring and verifying NETCONF and RESTCONF on the IOS-XE
  • Lesson 3: IOS-XR Programmability
  • Cisco IOS-XR API Overview
  • IOS-XR NETCONF API
  • The difference between the deployment of NETCONF on IOS-XE and IOS-XR
  • Configuring and verifying NETCONF on the IOS-XR
  • Lesson 4: ASA Programmability
  • ASA REST API Overview
  • ASA REST Agent Pre-requisites
  • Using the ASA REST API without a Data Model; Using the REST API Documentation
  • Configuring and verifying REST on the ASA

4 - PROGRAMMING THE APIC-EM

  • Lesson 1: Cisco APIC-EM
  • APIC-EM Overview
  • APIC-EM Platform Architecture
  • Performing Basic Tasks with the APIC-EM
  • Performing Network Discovery with the APIC-EM
  • Exploring APIC-EM Network Programmability with Postman
  • Review of APIC-EM Applications and their API’s
  • Review the APIC-EM and the Swagger REST interface

5 - DEVOPS IN THE ENTERPRISE

  • Lesson 1: Version Control
  • Version Control Systems
  • Overview of Git
  • Git Architecture
  • Git Commands
  • Git Workflow
  • Git Branches
  • Using Git
  • Collaborating with GitHub
  • GitHub Pull Request: Fork and Pull
  • Changing Views
  • Lesson 2: Automated Testing
  • Network Test Infrastructure
  • Network Function Virtualization
  • VIRL
  • DevNet
  • DevNet Sandbox
  • DevNet Learning Labs
  • DevNet GitHub
  • Network Testing
  • Unit Tests
  • Lesson 3: Automating with Ansible
  • Ansible Overview
  • Ansible Base Modules
  • Ansible and YAML
  • Automating the deployment of a complex configuration to IOS-XE, IOS-XR and ASA devices with Ansible?

Enroll Today

This is a 4-day class

Price: $4,500.00
Payment Options

ILT Instructor‑Led Training

OLL Online LIVE

GTR  Guaranteed to Run

Class times are listed Eastern time. This class is available for Private Group Training

To sort by location or date, click the ‘When’ and ‘Where’ column headings.

Class dates not listed.
Please contact us for available
dates and times.