The future of IBM Maximo: Work Centers and Inspections Can Transform Your Business


Network Programmability for the Enterprise (NPEN) v1.0

  • Tuition USD $4,500
  • Reviews star_rate star_rate star_rate star_rate star_half 482 Ratings
  • Course Code NPEN-v-1-0
  • Duration 4 days
  • Available Formats Classroom

Network Programmability for the Enterprise (NPEN) v1.0 is a four-day instructor led course. 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”. Applying CCIE-style learning methods, the course places emphasis on learning via hands-on labs and hands-on demonstrations. The terms “proof-by-Python” and “proof-by-JSON or XML” will be used frequently throughout the course.

Skills Gained

  • 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

Who Can Benefit

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).


  • CCNP or Equivalent Experience
  • Complete the Programming for Network Engineers (PRNE) ELT or equivalent Python programming experience such as the Skyline-ATS IPWSP-NE course.

Course Details

Module 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

Module 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

Module 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
  • gRPC

Lesson 2: IOS-XE Programmability

  • Cisco IOS-XE API Overview
  • Configuring and verifying NETCONF and RESTCONF on the IOS-XE

Lesson 3: IOS-XR Programmability

  • Cisco IOS-XR API Overview
  • 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

Module 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

Module 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?

How do I enroll?

A comprehensive listing of ExitCertified courses can be found here. You can register directly for the required course/location when you select "register". If you have any questions or prefer to speak with an ExitCertified education consultant directly, please submit your query here. A representative will contact you shortly.

How do I pay for a class?

You can pay at the time of registration using credit card (Mastercard/Visa/American Express) cheque or PO.

What if I have training credits?

ExitCertified honors all savings programs from the partners we work with. ExitCertified also offers training credits across multiple partners through our FLEX Account.

When does class start/end?

Classes begin promptly at 9:00 am, and typically end at 5:00 pm.


Lunch is normally an hour long and begins at noon. Coffee, tea, hot chocolate and juice are available all day in the kitchen. Fruit, muffins and bagels are served each morning. There are numerous restaurants near each of our centers, and some popular ones are indicated on the Area Map in the Student Welcome Handbooks - these can be picked up in the lobby or requested from one of our ExitCertified staff.

How can someone reach me during class?

If someone should need to contact you while you are in class, please have them call the center telephone number and leave a message with the receptionist.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

ExitCertified provided the participants with all the required information we needed to join the training one week in advance and ensured that we had all the required materials to make the experience as seamless as possible.

Course was thoroughly prepared and covered all the necessary applications and services. It was evident that the instructor had in-depth knowledge on Big Data (Data Analytics) as well as other AWS services.

Should allow student to download the software of the e-Textbook though out agency can't give the permition to download file out of the firewall.

Fantastic and great platform for training! Would definitely take another course with them!

The material was excellent, well laid out and the instructor was highly knowledgeable in material and able to present it easily.

0 options available

There are currently no scheduled dates for this course. If you are interested in this course, request a course date with the links above. We can also contact you when the course is scheduled in your area.

Contact Us 1-800-803-3948
Contact Us Live Chat
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward