Cisco DNA Programmability Fundamentals



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.


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


Students should have a basic understanding of enterprise networking.

Learning Objectives

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

1. Programmable Infrastructure Overview

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

2. Cisco�s Digital Network Architecture (DNA)

The Digital Business
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

Benefits of DNA
DNA Use Cases

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

Case Study: NYU Security

3. Cisco Programmable Infrastructure

  • Programmability with
  • 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: ABMU Health Board � Health Care Automation

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