Course Duration

3 Days


Students should have a basic understanding of enterprise networking.

Course Content

This Cisco Digital Network Architecture (DNA) Programmability introductory course will help you become familiar with the SDN concepts, programmability, and integration that support Cisco and multi-vendor solutions to help usher customers into the new age of Software Defined Networks.

What You’ll Learn

After you complete this course you will be able to:

  • Describe SDN and Network Programmability
  • Understand the Use Cases and Problems Solved with SDN
  • Understand the Digital Transformation and Cisco Digital Network Architecture (DNA)
  • Explain an Overview of OpenFlow and Network Controllers
  • Explain an Overview of Human Interaction DevOps-Style
  • Understand Next Steps to Get Customers Ready

Who Should Attend

  • Systems Engineers
  • Channel Partner Systems Engineers
  • Field Engineers
  • Systems Architects
  • IT Managers

Course Outline

1. Programmable Infrastructure Overview

  • Digital Enterprise Definition
  • The 4 Pillars of Digitization (IoT, Mobility, Big Data and Cloud)
  • Digital Disruption
  • What is Network Programmability?
  • Network Automation
  • Business Benefits of Programmability
  • Simplification
  • Programmability Use Cases

2. Cisco’s Digital Network Architecture (DNA)

Digital Network Architecture Overview

    • Network fabrics
    • Virtualization Architecture
    • Transport virtualization
    • Network function virtualization
    • Cloud enablement
    • Network controller
    • Service definition and orchestration
    • Analytics and telemetry applications

Digital Network Architecture Components

    • DNA Automation and Management: APIC-EM
    • DNA Virtualization: NFV and Cisco IOS XE
    • DNA Analytics: CMX
    • DNA Security: TrustSec, ISE, StealthWatch
    • Digital Network Architecture Overview
    • DNA Collaboration: Spark

DNA Use Cases

  • New Branch Office
  • Employee Productivity
  • Mobile and Cloud Service Adoption
  • Customer Experience

3. Cisco Programmable Infrastructure

  • Programmability UCS
  • Automation
  • Enterprise Networking (APIC-EN, CMX, PI)
  • Open Daylight (RESTCONF, NETCONF)
  • DC Networking (ACI, NX-OS)
  • Software Defined Storage
  • Collaboration (Spark, Tropo, Acano)
  • Management, Monitoring & Analytics (UCS-D, DCNM)
  • Case Study

4. REST APIs and Python

  • How API Enables Business Automation
  • What is REST?
  • How to Make a REST API Call
  • REST API Request and Response
  • Python Basics
  • Python and JSON
  • Using Python with Rest APIs
  • Coding and Parsing with Python
  • Use Case – Creating a List of Users

5. Spark API

  • Spark Automation Business Benefits
  • Introduction to Spark API
  • Using Spark API with Python
  • Using Spark API with Postman
  • Use Case – Wi-Fi Public and Guest Access
  • Use Case – Post Message in a Spark room

6. Cisco Mobility Experience (CMX) APIs

  • CMX Programmability Benefits
  • Introduction to CMX 10 Mobility Services
  • CMX 10 Mobility Services REST API
  • CMX Deep Dive Using the Notifications Resource
  • Programming CMX Notifications for Applications and Third Party Systems
  • Use Case – Find the IP Address of the WLC
  • Case Study: University of Melbourne – WiFi Analytics

7. APIC-EM and Rest APIs

  • APIC-EM Automation Enterprise benefits
  • Controller Basic
  • APIC-EM Overview
  • APIC-EM Applications and Use Cases
  • Application Design for Python with APIC_EM
  • Use Case – Find out the device name using the IP address
  • Case Study: Symantec – Network Automation


  • Why Models are Important
  • Standard Device Interfaces
  • YANG Data Modeling
  • NETCONF Protocol
  • RESTCONF Protocol
  • Programming with NETCONF and Python
  • Use Case – Create a Python Script to Retrieve Interface Stats with NETCONF/YANG and Post to Spark

9. Implementing DevOps

  • The Transition to DevOps
  • Spark for Human Interactions
  • Tropo for Human Interactions
  • NeXt UI Toolkit
  • Programming Using Spark, Tropo, and NeXt
  • Use Case – Post Messages from a Tropo Script to Cisco Spark Spaces