Goal
. The goal of this learning matrix is to help you attain your goal to become certified by providing study resources tail
. It is intended to be used as a reference, and not to provide a complete list of all resources available. The matrix foc
. These widely available preparation resources can be in the form of specific chapters of books, Cisco Validated Desi
webinars, VoDs, SRNDs, white papers, case studies, design guides, Design TechNotes, reference guides, etc.
Disclaimer
. There is no guarantee that you will be able to pass the exam by only referring to material provided within this matr
. There are a lot of other resources (both internal and external) that cover the same exam topics. You are encourage
. This matrix should be considered a living document and taking into account the sheer amount of possible relevant
. We encourage you to participate and engage with us, so if you have any suggestions for further content or any com
How to make the best out of this learning matrix?
1.1. Evaluate yourself and determine which areas you need to improve in
1.2. Create a strategy
Determine which preparation resources YOU need based upon your self-evaluation. Several options might be provid
1.3. Get preparation resources tailored to your own needs
Buy or borrow books, schedule classes, find a study partner, etc. In short, arrange all YOU need to get ready for the
1.4. Are you ready?
Once you are comfortable you are mastering exam topics, register and take the exam.
1.5. Pass?
Did you pass? Great! Did you not? Do not despair, do a lessons learned review and update your self-evaluation.
providing study resources tailored to your own needs.
urces available. The matrix focusses primarely on Cisco and Cisco Press content.
of books, Cisco Validated Design documents (CVDs), Cisco Live 365 presentations, courses,
reference guides, etc.
erial provided within this matrix. But it will certainly improve your skills, which will serve as the foundation you need to build u
xam topics. You are encouraged to use any other resources at your own discretion during your exam preparation.
r amount of possible relevant content, the objective here is to refine and improve this compilation of resources over time, so p
for further content or any comments regards to the current content, please let us know.
everal options might be provided to prepare to each topic, you might not need all of them.
YOU need to get ready for the exam.
date your self-evaluation.
oundation you need to build upon.
am preparation.
on of resources over time, so please refer to it frequently.
DevNet Expert Learning Matrix
Index
1.0
1.1
1.1.a
1.1.b
1.1.c
1.1.d
1.2
1.3
1.4
1.5
2.0
2.1
2.2
2.3
2.3.a
2.3.b
2.4
2.5
2.6
2.6
2.7
2.7.a
2.7.b
2.7.c
2.7.d
2.8
2.8.a
2.8.b
2.8.c
2.8.d
2.8.e
2.8.f
2.9
2.9.a
2.9.b
2.9.c
2.9.d
3.0
3.1
3.2
3.2.a
3.2.b
3.2.c
3.2.d
3.2.e
3.2.f
3.2.g
3.3
3.3.a
3.3.b
3.3.c
3.4
3.5
3.5
3.5.a
3.5.b
3.5.c
3.5.d
3.5.e
3.5.f
3.5.g
4.0
4.1
4.1.a
4.1.b
4.1.c
4.1.d
4.1.e
4.1.f
4.1.g
4.1.g
4.1.i
4.2
4.2.a
4.2.b
4.3
4.3.a
4.3.b
4.3.c
4.3.d
4.4
5.0
5.1
5.1.a
5.1.b
5.1.c
5.1.d
5.1.e
5.1.f
5.2
5.3
5.4
5.5
evNet Expert Learning Matrix
Exam Topic
Software Design, Development, and Deployment
Design a solution based on an on-premises, hybrid, or public cloud deployment, considering these factors:
Deployment: maintainability, modularity (e.g., containers, VM, orchestration, automation, components, and infrastructure req
Reliability: high availability and resiliency
Performance: scalability, latency, and rate limiting
Infrastructure: monitoring, observability, and metrics (e.g., instrument placement and instrument deployment)
Modify an existing network automation solution based on business and technical requirements (includes gap analysis)
Use Git in a CI/CD development workflow
Troubleshoot issues with a CI/CD pipeline (e.g., code-based failures, pipeline issues, and tool incompatibility)
Diagnose application performance issues - such as asynchronous request processing, database delays, high memory and CPU u
microservice network delays, and asymmetric routing - using network and application tools as well as assurance data.
Infrastructure as Code
Build, manage, and operate a Python-based REST API with a web application framework (endpoints, HTTP request, and respon
specification)
Build, manage, and operate a Python-based CLI application to use a REST API
Consume and use a new API, given the documentation
REST
GraphQL
Translate a YANG module into requests and interpret the responses in relation to the module definitions
Create a NETCONF filter by using XPath
Configure network devices on an existing infrastructure by using NETCONF or RESTCONF, given YANG analysis tools
Configure network devices on an existing infrastructure by using NETCONF or RESTCONF, given YANG analysis tools
Create and use a role by utilizing Ansible to manage infrastructure, given support documentation
Loop control
Conditionals
Use of variables and templating
Use of connection plug-ins such as network CLI, HTTPAPI, and NETCONF
Use Terraform to statefully manage infrastructure, given support documentation
Loop control
Resource graphs
Use of variables
Resource retrieval
Resource provision
Management of the state of provisioned resources
Create a basic Cisco NSO service package to meet given business and technical requirements.
The service would generate a network configuration on the target device platforms using the "cisco-ios-cli" NED
and be of type "python-and-template"
Create a service template from a provided NSO device configuration
Create a basic YANG module for the service containers (including lists, leaf lists, data types, leaf references, and single argume
"must" conditions)
Create basic actions to verify operational status of the service
Monitor service status by reviewing the NCS Python VM log file
Network Programmability and Automation
Create, modify, and troubleshoot scripts by using Python libraries and SDK documentation to automate against APIs
(ACI, AppDynamics, Catalyst Center, FDM, Intersight, IOS XE, Meraki, NSO, Webex)
Automate the configuration of a Cisco IOS XE network device (based on a provided architecture and configuration), including t
components:
Interfaces
Static routes
VLANs
Access control lists
BGP peering
BGP and OSPF routing tables
BGP and OSPF neighbors
Modify and troubleshoot an automated test by using pyATS to meet requirements
Create a testbed file for connecting to Cisco IOS, IOS XE, or NX-OS devices
Gather current configuration and operational state from devices using the Genie
parsers and models included with pyATS
Develop and execute test jobs and scripts using AEtest to verify network health
Design a model-driven telemetry solution based on given business and technical requirements
by using gNMI dial-in, gRPC dial-out, NETCONF dial-in
Create YANG model-driven telemetry subscriptions
Create YANG model-driven telemetry subscriptions
Identify model elements and cadence
On-change or event drive
Optimize frequency
Dial-out subscription
Secure telemetry streams
Confirm data transmission
Identify network issues and make changes
Containers
Create a Docker image (including Dockerfile)
From a provided image
Expose ports
Add or copy files
Run commands during image build
Manipulate entry point and initial commands
Establish working directories
Environment variables as part of a definition to control an application
Docker ignore file
Volumes
Package and deploy a solution by using Docker Compose
Deploy and manage containers
Define services, networks, volumes, and links
Package and deploy a solution by using Kubernetes
Use deployments, secrets, services, ingress, volumes, namespaces, and replicas
Manage the lifecycle of pods (e.g., scale up, scale down, help status, logs)
Monitor pods by building health checks)
Use the kubectl interface
Create, consume, and troubleshoot a Docker host and bridge-based networks and integrate them with external networks
Security
Leverage OWASP secure coding practices into all solutions to meet given requirements
Input validation
Authentication and password management
Access control
Cryptographic practices
Error handling and logging
Communication security
Create a certificate signing request (CSR) by using OpenSSL; send CSR to a provided certificate authority; and use the certificat
web application
Use OAuth2+ to obtain an authentication token
Use a secret management system to secure an application
Use tokens, headers, and secrets to secure a REST API
Cisco docs
What is Hybrid Cloud?
Introduction to version control using Git and GitHub
What Is Infrastructure as Code?
Programmability Configuration Guide, Model Driven Telemetry
Programmability Configuration Guide, Model Driven Telemetry
Programmability Configuration Guide, gNMI
Programmability Configuration Guide, Model Driven Telemetry
DevNet (developer.cisco.com)
Get started with Infrastructure as Code
Network Automation Delivery Model
Continuous Integration/Continuous Delivery (CI/CD)
Get started with Infrastructure as Code
Useful Python Libraries for Network Engineers
Useful Python Libraries for Network Engineers
Intro to Coding and APIs
Data Formats: Understanding and using JSON, XML and YAML
REST API Basics
REST API Fundamentals
YANG data modelling
Introduction to Model Driven Programmability
NETCONF/YANG on Nexus
Model-Based Management Introduction
Getting the "YANG" of it with Standard Data Models
Cisco YANG Suite
YANG data modelling
Introduction to Model Driven Programmability
NETCONF/YANG on Nexus
Model-Based Management Introduction
Getting the "YANG" of it with Standard Data Models
Cisco YANG Suite
Introduction to Ansible
Introduction to ACI and Ansible
Introduction to Ansible for IOS XE
Cisco SD-WAN with Ansible
Cisco SD-WAN Ansible Pipeline
Configuration Management quick start guide
Managing infrastructure as code with Ansible
Get started with Infrastructure as Code
onfiguration Management and the Network
Code Exchange Ansible
Terraform practice labs
Cisco with Terraform
Get started with Infrastructure as Code
Terraform Cisco ACI provider
Code Exchange Terraform
Get started with NSO
NSO basics
NSO Intermediate and Advanced Topics
Cisco Network Services Orchestrator (NSO) Dev Center
Get started with Infrastructure as Code
NSO Fundamentals
DevNet NSO
Code Exchange NSO
Python on developer.cisco.com
Introduction to Ansible for IOS XE Configuration Management
Using NAPALM for Network Automation
Introduction to Model Driven Programmability
Model based management
Onbox Python
Configuration Management
Python fundamentals
Network Device APIs
Code Exchange IOS-XE
Using pyATS and Genie for Automated Testing
Accelerating your DevOps with pyATS
Cisco pyATS: Network Test & Automation Solution
Unicon: The Connection Library
pyATS Documentation
Getting Started with pyATS
pyATS Development Guide
Genie Documentation
Genie:Network Test Library for PyATS
Cisco Test Automation Platform with pyATS & Genie
Code Exchange PyATS
Introduction to Model Driven Programmability
IOS XE Model Driven Telemetry
YANG for NSO
Cisco App-First Security: Getting started with Docker
Docker 101
Hands-On: Deploy application on Kubernetes cluster
Hands-On: Deploy tested application on Kubernetes
Webex security and access: Tokens, OAuth, scopes, and roles
Ciscolive
Full Stack Observability: Managing the Application Experience with Cisco
Turnkey Observability: Orchestrating ThousandEyes Deployment
Redefining End-to-End Application Observability with ThousandEyes and AppDynamics
Infrastructure As Code: Deploying and Managing Meraki Networks Using Code and APIs
Coding 1001 - Intro to APIs and REST
NETCONF/YANG-Only Provision, Configure, Monitor
YANG Data Modeling and NETFCONF: Cisco and Industry Developments
Effectively Understand and Leverage YANG with NETCONF and RESTCONF for Model Driven Programmability
Model Driven Programmability with YANG and gRPC
Model Driven Network Automation with IOS XE
NETCONF/YANG-Only Provision, Configure, Monitor
How to Write an Ansible Module
Infrastructure as Code with Terraform and Cisco ACI: don’t call me a CLI junkie anymore
DevNet: Automating Cisco UCS Server Provisioning with Terraform and Intersight
How to programmatically migrate from traditional network to ACI with Terraform
Declarative Automation: Terraform with ACI
Automating Cisco in the Cloud with Terraform
Coding Class - Using YANG to Define Device and Service Configuration and Operations
Service Orchestration with Cisco Network Services Orchestrator
Expand your automation journey with new Cisco NSO usecases and features
Agilifing NSO Delivery
NSO for Network Operators
NSO Advanced XML Templates
Get Started Automating Your Network with Cisco NSO
Cisco Network Services Orchestrator
IOS XE Programmability and Automation for Network Engineers
Model Driven Network Automation with IOS XE - LTRCRT-2700
IOS XE Architecture for Programmability - BRKSDN-2666
Network Assurance with pyATS for Network Engineers
NetDevOps: Validation and Automation with Cisco pyATS/Genie Python Framework
Everybody can NetDevOps Now
Continuous Integration and Testing for Networks using Ansible, pyATS, and VIRL
Empower your Testing with Cisco Test Automation Solution - DEVNET-1480
Container Networking Deep Dive
Kubernetes Container Networking
Intro to API Security
Vendor Docs
GitLab CI/CD
Introduction to Infrastructure as Code with Terraform
RedHat Infrastructure as Code
Flask
Flask REST
Click
argparse
GraphQL Documentation
The YANG 1.1 Data Modeling Language
Network Configuration Protocol (NETCONF)
RESTCONF Protocol
XPath Capability
The YANG 1.1 Data Modeling Language
Network Configuration Protocol (NETCONF)
RESTCONF Protocol
Ansible playbooks best practices
Ansible roles and modules
Ansible roles
Ansible creating roles
Developing and Testing Ansible Roles
Collections in the Cisco Namespace
Ansible network modules
Ansible and Cisco
Introduction to Terraform
Terrsform Get Started - AWS
Terraform : Cisco ACI provider
Terraform : Cisco ASA provider
Terraform Cisco
Terraform Cisco ACI
Ansible Cisco Plugins
Docker: Create a base image
Best practices for writing Dockerfiles
Docker run reference
Dockerfile reference
Dockerfile reference
Overview of Docker Compose
Kubernetes Documentation : Deployments
Kubernetes Documentation: Services
kubectl Cheat Sheet
Docker: Use bridge networks
OWASP
OWASP Project top 10
Non-Cisco Conference - Cisco Presenter
Better Ansible Network Automation with Roles and Custom Modules
Introduction to Network Services Orchestrator
Designing and Developing Network Services with NSO
Useful Python Libraries for Network Engineers
Introduction to Writing Network Tests with pyATS
Deep Dive Into Model Driven Programmability with NETCONF and YANG
Cisco Community Books - CLICK HERE
Hybrid Cloud Discussions
Network Programmability and Automation Fundamentals
Network Programmability with YANG (ISBN 978-0135180396)
Network Programmability with YANG (ISBN 978-0135180396)
Network Programmability with YANG (ISBN 978-0135180396)
Network Programmability with YANG (ISBN 978-0135180396)
Network Programmability with YANG (ISBN 978-0135180396)
Creating a CSR (Certificate Signing Request) in openssl and packaging the PKCS12 file
Training - CLICK HERE
Cisco Classes for NSO
Relevant Books
Network Programmability and Automation Fundamentals
Network Programmability with YANG: The Structure of Network Automation with YANG, NETCONF, RESTCONF, and
Network Automation Made Easy
Programming and Automating Cisco Networks: A guide to network programmability and automation in the data cen
Containers in Cisco IOS-XE, IOS-XR, and NX-OS: Orchestration and Operation
Cisco DevNet Professional DEVCOR 350-901 Study Guide
Live Lessons
Practical Python for DevOps Engineers LiveLessons (Video Training)
Kubernetes in the Data Center LiveLessons