Cisco announced new DevNet certifications at Cisco Live 2019. It was good timing for me. I was looking for an excuse to push myself to start coding. I actually made it a goal to pick up Python this year. That’s when I saw the DevNet Associate 200-901 certification.
When I took a look at the objectives of the DevNet Associate 200-901 certification, I couldn’t help notice how it aligned with my goals and the reasons why I wanted to learn to code.
With network devices supporting automation and programmability, I was looking for a way to work efficiently by building my own set of tools, dashboards, and more.
What you’ll find on this page are the resources I’ve made towards
achieving passing the DevNet Associate certification. Each resource follows closely to an objective and in February 2020 we will see how I’ve progressed with the resources down below. I’ve made it a challenge to myself to make it happen in 2020. I extend the challenge to you!
You will see new resources added as soon as they are completed! It is a work-in-progress.
DevNet Associate Resources
On February 26, 2020, I decided to take the DevNet Associate exam. To my surprise I passed! In this blog post I describe my experience and mention some of the resources I used to prepare for the exam.
In October 2019, I challenged myself to work towards achieving the DevNet Associate certification. This is how all the resources came to be. I wanted to document my progress and use my blog as a reference for when I forget things.
YAML is one data model you’ll work with as a network engineer. It’s easy to read with the human eyes and with Python you can parse the data to get what you need.
Commonly used in a lot of network devices, XML will be a format you must know how to manipulate. XML is commonly used to exchange data between systems and has been around for a very long time.
This is my favorite way to look at structured data. For me, it’s easy to read and easy to parse with Python. There are libraries available to import into Python and tools, such as Postman, leverage JSON.
Once you understand JSON structure, it’s time to start parsing data! I leverage the Meraki sandbox to query their API and convert the response into Python dictionaries and lists. I was really pumped ✊ when I got this working.
Yet another data modeling language 😉. There’s many to get used to. But YANG is used with NETCONF. So it’s important to understand what it is and how it’s used by NETCONF.
Now that you know what YANG is, let’s use it with NETCONF. But first we need a device that has NETCONF capabilities. I leverage the Cisco C9800-CL WLC for this purpose. It’s a virtual machine which makes it easy for lab purposes.
We’re querying network devices and receiving output from these queries. Sometimes, there is too much output to go through. From a previous lab, it was possible to make XML output pretty. Now it’s time to parse through the output and get only the information that’s pertinent.
Prior to writing any code, a test should be created. Initially, that test will fail but as the code is developed per the requirements, it will pass. Test Driven Development is a concept of testing small batches of code for efficiency and minimizes redundant code. Understand Test Driven Development (TDD) and what it means for the DevNet Associate.
Version control is an important part of source code. It’s a way to track changes, features, and collaborate with others while modifying or creating code. Git is a way to organize these changes. It’s been a new way for me to operate now that I’m creating my own little snippets of code.
Meraki provides a dashboard API to extend the capabilities through your own programmable solutions. Part of the basics is learning how to list network devices using the Meraki API. This exercise helps you understand JSON parsing and loops.
Cisco offers many solutions and DNA Center is in the middle of it all. Central to intent-based networking is DNA Center, which can act as a source of truth. Learn about the different programmable components of DNA Center and learn how to list devices using the API.