About this course
Course Overview
DNACPF (Cisco DNA Center Programmability Integration Fundamentals) is a 3-day, instructor-led, Cisco DNA Center course that will help you to become familiar with programmable infrastructure concepts and integrations that support Cisco SD-Access, DNA Center, and the Cisco Catalyst 9000 Series switch programming. In this course you will learn about production solutions that run on or interact with IOS-XE on the Catalyst 9000 switches.Target Audience
The primary audience for this course is as follows:
- Personnel involved in SD-Access Design, Implementation, and Integration
- Network Operations team with SD-Access solution
- Network admin staff that deal with Software Defined Networking
- Network Administrators
- Network Architects
- Network Engineers
Course Objectives
Upon completing this course, the learner will be able to meet these overall objectives:
- Describe what is SDN and Network Programmability
- Describe use cases and examples of Catalyst 9000 programmability
- Learn about Python and how it automates the Catalyst 9000
- Understand object-oriented programming
- Understand SD-Access
- Discuss how to apply Cisco Software-Defined Access programmatically
- Understand the Use Cases and Problems Solved with SDN programmability
- Explain an overview of OpenFlow and Network Controllers
- Explain an overview of Human Interaction DevOps-Style
Course Content
Module 1: SD-Access Introduction
- SDA Quick Overview
- SDA Key Benefits
- Technical Overview
- LISP
- Cisco Trustsec
- VXLAN
- Network Fabric
- SDA Overlay Key Components
- Control Plane
- Data Plane
- Policy Plane
- SDA Fabric Roles & Terminology
- DNA Controller
- Identity Services
- Analytics Engine (NDP)
- Control Plane
- Edge Nodes
- Border Nodes
- Virtual Network
- Scalable Groups
- VXLAN Encapsulation
Module 2: SDA Wireless Architecture
- SDA Wireless Architecture Overview
- SDA Wireless Benefits
- Policy Rollout
- Wireless Integration in SDA Fabric
Module 3: SDA Deployment
- Digital Network Architecture
- Campus Fabric Automation
- Smart CLI
- Programmable APIs
- DNA Center – SD-Access WorkFlow
- Design
- Provision
- Policy
- Assurance
Module 4: SDA Center Ecosystems Integrations
- Event Notifications and Webhooks
- Integrations Overview
- DevOps Integrations
- ChatOps Integrations
- Use Cases
- ITSM Integrations
- Client Insights with Apple Analytics
- IP Address Management (IPAM)
- Network Orchestrators
- Policy Orchestrators
- Security Analytics
- Firewalls
- Public and Private Cloud Integration
Module 5: DNA Assurance
- DNA Center Architecture
- Cisco DNA Assurance Introduction
- DNA Assurance Architecture
- Telemetry Collection Overview
- DNA Assurance Getting Started
- Full Stack Visibility
- Network & Client Experience
- Intelligent Capture
- Real Time Monitoring RF
- Path Trace
- Sensor-based Proactive Monitoring
- Application Experience
- Issue Remediation
- AI Network Analytics
- Machine Reasoning
Module 6: Python Programming
- Programmability Overview
- APIs Primer
- Python Foundation Overview
- Lists, Tuples & Dictionaries
- Control Sentences
- Functions
- Modules
- Classes
- Error Handling (Exceptions)
Module 7: Programming SDA and DNA Center
- DNA Center Architecture Overview
- DNA Controller
- DNA Center Automation
- DNA Center APIs
- Building DNA Center Applications
Module 8: Cisco Catalyst 9K Introduction
- Intent Based Networking
- Cisco Catalyst 9K Features and Characteristics
- Cisco Catalyst 9K IOS-XE
- Catalyst 9K Platform Support
- Linux Service Containers Introduction
- Python Programmability Introduction
- Zero-Touch Provisioning, iPXE, PnP
- CLI – Legacy, Python CLI, Guest Shell
Module 9: Catalyst 9K and Cisco Application Framework
- Cisco Application Framework / Virtual Service Infra (IOX)
- Cisco Catalyst 9K Application Hosting
- Application Hosting Value Proposition
- Catalyst 9K Switching Application Ecosystem
- Virtual Machines
- KVMs
- Containers
- General LXC (Linux Service Containers)
- GuestShell (pre-packaged LXC)
- Other pre-packaged LXCs, ie PerfSonar
- Python Programmability in Depth
- Python API
- Zero Touch Provisioning (ZTP) and Plug ’n Play
Module 10: Catalyst 9K EEM Python Module
- EEM Overview
- Python Scripting in EEM
- EEM Python Package
- Python-Supported EEM Actions
- EEM CLI Library Command Extensions
Module 11: Data Models & Model Driven Programmability
- Why Models are Important
- YANG data models
- Native models
- IETF models
- OpenConfig models
- Data Encoding
- XML
- JSON
- YANG Tools
- YANG Explorer
- YANG Catalog
- Pyang
- NetConf
- History
- Protocol layers
- Operations
- Messages
- Using NetConf
- RESTConf
- History
- Protocol layers
- Operations
- Messages
- Using RestConf
- Telemetry Introduction
Module 12: Model Driven Telemetry
- Yang Data Streaming
- Telemetry History
- gRPC
- Collectors & Renderers
- ELK
- Elastic Search
- Logstash
- Kibana
- TIG
- Telegraph
- Influx
- Grafana
- Quick Start with Docker
- Publication Types
- Telemetry Subscriptions
- IOS-XE 16.x and 17.x Yang Model Support
- Yang Model Metadata
- CLI and XML Configuration Examples
- Pipeline
- Splunk
Module 13: 3rd Party Integrations
- ServiceNow
- Splunk
LAB OUTLINE
Lab 1: Intro DNA Center
Lab 2: DNA Assurance
Lab 3: DNA Center API Discovery
Lab 4: Setup Machine for Development
Lab 5: Python Overview
Lab 6: Programming Cisco DNA Center
Lab 7: Managing the Guest Shell
Lab 8: Running Python Scripts as Part of EEM Applet Actions
Lab 9: NETCONF/RESTConf
Lab 10: YANG Data Modeling & YANG Explorer, YANG Catalog and pYANG
Lab 11: Catalyst 9K - Application Hosting
Lab 12: Programming Telemetry
Lab 13: Integrating DNAC with ServiceNow
Lab 14: Integrating DNAC with Splunk
Course Prerequisites
It is recommended, but not required, that students have the following knowledge and skills:
- Familiarity with Catalyst 9k Switches
- Familiarity with DNA Center and SD-Access