I am back and going all-in on the CCNA DevNet, and will blog every exam topic!
Quick shout out to my current study resources:
- Cisco $800 Guided Study Group 8-week course that includes Cisco Learning Modules / Access to Cisco Platinum Library and test exams – So this info if the Cisco Curriculum is correct (which it lines up with CBT almost perfectly)
- CBT Nuggets for beginning of GIT and some CI/CD and Security topics
I can’t believe I am already almost done with the course, that was awesome to fill in, I have a few rogue items I will be filling in during my review month after the class ends otherwise the published Material should be as close to accurate as possible!
Below is a mapping of Blueprint Topics to my articles covering them for reference!
Since I grabbed this from Cisco’s website earlier this year, the topics have been updated, and for the sake of being absolutely complete I will have to re-map articles to topics, so below will again be empty except for the most current Blueprint and I will fill this in at a later time when I can get back around to getting my posts mapped to Blueprint Items.
Be advised that there is much more material noted in my study materials then is in this Blueprint, such as REST API rate-limits, full OWASP threats, and GIT Repository types (3 specific to know for exam day) – I try to over explain every topic!
I will also be doing a review / labbing of a lot of these topics, these are mainly from my 8-week class that I am cranking out quick and as concise as I can understand it on the fly, please let me know if there are any errors in these links!
(Note this list will continue to grow as I finish my class, and open to labbing!)
CCNA DevNet Exam (DEVASC 200-901) Domain and Topics as of 8/20/2020
1.0 Software Development and Design (15%)
1.1 Compare data formats (XML, JSON, and YAML)
YAML Data Format! (Needs a touch up in Ubuntu)
1.2 Describe parsing of common data format (XML, JSON, and YAML) to Python data structures
This post, though Data Formats links just above covers it 100%
1.3 Describe the concepts of test-driven development
Test Driven Development (TTD) Model Reviewed!
1.4 Compare software development methods (agile, lean, and waterfall)
All 3 explained in painful detail!
1.5 Explain the benefits of organizing code into methods / functions, classes, and modules
1.6 Identify the advantages of common design patterns (MVC and Observer)
Original / Observer / MVC Design Patterns covered!
1.7 Explain the advantages of version control
Advantages of Git and 3 Git Models covered in detail!
1.8 Utilize common version control operations with Git
Clone / Add (Stage) / Remove / Commit / Push / Pull / Branching / Merge Conflict and Handling / digg demo’d and explained!
GitHub Push / Clone / Pull demo from Local to GitHub repo!
GIT Timeline Understanding / Detached Head / GIT Reset / GIT revert / GIT Amend Explained!
- 1.8.a Clone
- 1.8.b Add/remove
- 1.8.c Commit
- 1.8.d Push / pull
- 1.8.e Branch
- 1.8.f Merge and handling conflicts
- 1.8.g diff
2.0 – Understanding and Using APIs (20%)
2.1 Construct a REST API request to accomplish a task given API documentation
2.2 Describe common usage patterns related to webhooks
Demo’d on my Meraki Home Stack!
2.3 Identify the constraints when consuming APIs
All 6 constraints and 4 Principles of Uniform Interfaces!
2.4 Explain common HTTP response codes associated with REST APIs
Code types and exact codes reviewed in depth!
2.5 Troubleshoot a problem given the HTTP response code, request and API documentation
Covered, but need a new article to fully cover this topic!
2.6 Identify the parts of an HTTP response (response code, headers, body)
2.7 Utilize common API authentication mechanisms: basic, custom token, and API keys
Basic / Bearer / API Key Authentication covered!
2.8 Compare common API styles (REST, RPC, synchronous, and asynchronous)
2.9 Construct a Python script that calls a REST API using the requests library
Demonstrated, but needs a review for clarity, will review this!
3.0 – Cisco Platforms and Development (15%)
3.1 Construct a Python script that uses a Cisco SDK given SDK documentation
3.2 Describe the capabilities of Cisco network management platforms and APIs (Meraki, Cisco DNA Center, ACI, Cisco SD-WAN, and NSO)
NSO and SD-WAN Covered in depth!
IOS-XE, (DevNet Data-Planes), DNA Center, ACI, and NX-OS Reviewed!
3.3 Describe the capabilities of Cisco compute management platforms and APIs (UCS Manager, UCS Director, and Intersight)
These are all Cisco On-Prem / Bare Metal Clouds described here!
3.4 Describe the capabilities of Cisco collaboration platforms and APIs (Webex Teams, Webex devices, Cisco Unified Communication Manager including AXL and UDS interfaces, and Finesse)
All covered with important details highlighted for exam day!
3.5 Describe the capabilities of Cisco security platforms and APIs (Firepower, Umbrella, AMP, ISE, and ThreatGrid)
All security platforms / API Integrations reviewed!
3.6 Describe the device level APIs and dynamic interfaces for IOS XE and NX-OS
Overview of RESTCONF APIs here, labs to come!
3.7 Identify the appropriate DevNet resource for a given scenario (Sandbox, Code Exchange, support, forums, Learning Labs, and API documentation)
!!! ALL RESOURCE LINKS HERE, KNOW AND LOVE THEM !!!
3.8 Apply concepts of model driven programmability (YANG, RESTCONF, and NETCONF) in a Cisco environment
Overview of YANG, NETCONF, and RESTCONF – Labs to come!
3.9 Construct code to perform a specific operation based on a set of requirements and given API reference documentation such as these:
- 3.9.a Obtain a list of network devices by using Meraki, Cisco DNA Center, ACI, Cisco SD-WAN, or NSO
- 3.9.b Manage spaces, participants, and messages in Webex Teams
- 3.9.c Obtain a list of clients / hosts seen on a network using Meraki or Cisco DNA Center
4.0 – Application Deployment and Security – (15%)
4.1 Describe benefits of edge computing
Less latency! Edge computing Explained!
4.2 Identify attributes of different application deployment models (private cloud, public cloud, hybrid cloud, and edge)
4.3 Identify the attributes of these application deployment types
Methods and Environments covered!
- 4.3.a Virtual machines
- 4.3.b Bare metal
- 4.3.c Containers
4.4 Describe components for a CI/CD pipeline in application deployments
Covered here but lacking, will review / update soon!
4.5 Construct a Python unit test
4.6 Interpret contents of a Dockerfile
Of creating a “Dockerfile” / Template and its contents (to create a Container)
4.7 Utilize Docker images in local developer environment
Demonstrated in Ubuntu at length!
4.8 Identify application security issues related to secret protection, encryption (storage and transport), and data handling
Extra Security regarding Pushing / Executing code to remote sites!
4.9 Explain how firewall, DNS, load balancers, and reverse proxy in application deployment
4.10 Describe top OWASP threats (such as XSS, SQL injections, and CSRF)
All covered + more, and link to OWASP Top Ten Threats!
4.11 Utilize Bash commands (file management, directory navigation, and environmental variables)
Demo’d here and in DevNet lab posts! (May re-make this in its own article)
4.12 Identify the principles of DevOps practices
5.0 – Infrastructure and Automation (20%)
5.1 Describe the value of model driven programmability for infrastructure automation
5.2 Compare controller-level to device-level management
5.3 Describe the use and roles of network simulation and test tools (such as VIRL and pyATS)
pyATS covered in detail, and enough VIRL for exam day!
5.4 Describe the components and benefits of CI/CD pipeline in infrastructure automation
Covered, but needs a clean up for clarity, will review / re-write!
5.5 Describe principles of infrastructure as code
Software-Defined Infrastructure / Full-Stack Automation
5.6 Describe the capabilities of automation tools such as Ansible, Puppet, Chef, and Cisco NSO
Ansible / Puppet / Chef covered here (More Ansible Labbing to come)
5.7 Identify the workflow being automated by a Python script that uses Cisco APIs including ACI, Meraki, Cisco DNA Center, or RESTCONF
5.8 Identify the workflow being automated by an Ansible playbook (management packages, user management related to services, basic service configuration, and start/stop)
Brief Hands-On Lab, more to come!
5.9 Identify the workflow being automated by a bash script (such as file management, app install, user management, directory navigation)
Small demo, much more to come!
5.10 Interpret the results of a RESTCONF or NETCONF query
RESTCONF and NETCONF Basics Reviewed
5.11 Interpret basic YANG models
5.12 Interpret a unified diff
5.13 Describe the principles and benefits of a code review process
Near bottom of this giant post!
5.14 Interpret sequence diagram that includes API calls
6.0 – Network Fundamentals (15%)
6.1 Describe the purpose and usage of MAC addresses and VLANs
6.2 Describe the purpose and usage of IP addresses, routes, subnet mask / prefix, and gateways
6.3 Describe the function of common networking components (such as switches, routers, firewalls, and load balancers)
6.4 Interpret a basic network topology diagram with elements such as switches, routers, firewalls, load balancers, and port values
6.5 Describe the function of management, data, and control planes in a network device
Detailed review from TSHOOT studies!
6.6 Describe the functionality of these IP Services: DHCP, DNS, NAT, SNMP, NTP
6.7 Recognize common protocol port values (such as, SSH, Telnet, HTTP, HTTPS, and NETCONF)
6.8 Identify cause of application connectivity issues (NAT problem, Transport Port blocked, proxy, and VPN)
6.9 Explain the impacts of network constraints on applications
Covered here (will update if I find better info)!
Challenges of testing code on Physical Networks, Testing on SDN Networks
I will be filling this in again ASAP to see where I am at / what I am missing!
This Blueprint change so much since I first posted this in February / March that I decided to completely wipe out all my mappings, so I just completely wiped out the old topic to post mappings and will be doing that again as soon as possible, but until then I am going to start in on getting some of my 8-week Cisco DevNet boot camp material covered!
Will update ASAP to see how much ground I have covered!