This is the fifth in a series of articles on the six sections of Cisco’s DevNet Associate Exam DEVASC 200-901, which leads to the Cisco Certified DevNet Associate certification.
Welcome to the fifth of the series of six articles where I will break down the blueprint sections for the DEVASC 200-901 exam. There are six major topic areas in this 120 minute exam. If you’re eager to explore how we make the donuts, then this Infrastructure and Automation section is the one you have been waiting for most. This section explores the frameworks for network automation and is worth 20% of the exam and should not to me taken lightly.
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)
5.4 Describe the components and benefits of CI/CD pipeline in infrastructure automation
5.5 Describe principles of infrastructure as code
5.6 Describe the capabilities of automation tools such as Ansible, Puppet, Chef, and Cisco NSO
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)
5.9 Identify the workflow being automated by a bash script (such as file management, app install, user management, directory navigation)
5.10 Interpret the results of a RESTCONF or NETCONF query
5.11 Interpret basic YANG models
5.12 Interpret a unified diff
5.13 Describe the principles and benefits of a code review process
5.14 Interpret sequence diagram that includes API calls
Model Driven Programmability
YANG (Yet Another Next Generation) is a data model that determines the structure, syntax and semantics of the device’s data. YANG models allow network developers to manage devices and services in a consistent manner. YANG statements are used to describe a specific YANG module.
Basics of YANG statements
- yang-version – The yang-version statement specifies which version of the YANG language was used in developing the module.
- namespace – All YANG definitions are specified within a module that is bound to a particular XML namespace, which is a globally unique URI.
- prefix – The “prefix” statement’s argument is the prefix string which is used as a prefix to access a module.
- organization – The “organization” statement defines the party responsible for this module. For example, IETF, ITU, OpenConfig etc.
- contact – Details to contact the entity responsible for the module.
- description – A description of the module.
- revision – YANG modules add a new revision statement detailing the changes in sub-statements.
Transport Protocols
First with NETCONF and more recently with RESTCONF, these transport protocols provide primitives to view and manipulate the data models.
NETCONF is a protocol defined by the IETF. NETCONF operations are realized on top of SSH transport and a Remote Procedure Call (RPC) layer using an XML encoding. NETCONF provides a basic set of operations to edit and query configuration on a network device.
RESTCONF uses structured data (XML or JSON) and YANG to provide a REST-like APIs, enabling you to programmatically access different network devices. RESTCONF APIs use HTTPs methods.
Automation Tools
Tools are required to automate the process to manage, configure, test, deploy, and operate modern network devices. Automation improves efficiency while reducing operating expenses and human error associated with command line changes.
Some network automation tools rely on APIs and software to orchestrate automation workflows and governance to declare and manage the state of infrastructure as code.
Other automation tools provide configuration management by primarily script-driven techniques (i.e., using scripting and programming languages to execute tasks when a trigger appears). It’s important to learn the following tool landscape for the test.
Orchestration Examples
- Terraform
- Cisco Network Services Orchestrator (NSO)
Configuration Management Examples
- Ansible
- Puppet
- Chef
Python Scripts
Hint: Visit http://developer.cisco.com and explore learning labs that include the basics of interacting with APIs to configure Cisco devices such as ACI, Meraki, and Cisco DNA Center. As an example, DNAC uses token-based authentication.
As always, thank you for reviewing this section on infrastructure and automation. We couldn’t cover all topics in this brief blog but please explore each session bullet in more detail. Remember, these exam topics are also covered in the DEVASC Developing Applications and Automating Workflows Using Cisco Core Platforms class. Study hard and crush your exam!
Training Resources:
DevNet Certifications
DevNet Training
DevNet CDL XL
Cisco Training
Read the other articles from this series:
Section 1: Software Development and Design
Section 2: Understanding and Using APIs
Section 3: Cisco Platforms and Development
Section 4: Application Deployment and Security