Cisco DevNet Certifications: Everything You Need to Know (with Lab Example)
Today, I wanna go over the new Cisco DevNet certification program, Associate and Professional tracks, and what it takes to prepare for them. I will also walk you through a small coding lab at the end of this article where we will parse XML using Python.
Just to recap, Cisco announced DevNet program back in June this year at Cisco Live in San Diego, after tinkering around with DevNet initiative for about 5 years. Like Network side of things with CCNA and CCNP tracks, DevNet program also contains Associate and Professional tracks with several exams depending on the certification level.
At the time of announcement, Cisco said that there will also be an Expert track, so what are we talking about? Cisco Certified DevNet Expert, a CCDE? I think it will be a while before an Expert track is rolled out so don’t hold your breath for that one. Last but not least, take note that all new DevNet exams are scheduled to go live come Feb 24th, 2020.
Why did Cisco announce DevNet certification program?
Well, Cisco knows, like every other networking vendor, that networking hardware and even software have now become commoditized, thanks to Cloud that made owning infrastructure a stupid thing of the past and likewise SDN that helped us move away from black boxes with proprietary operating systems to mostly branded white boxes with highly programmable operating systems such as Arista EOS or Cumulus Linux. Now, keep in mind that Cisco didn’t arrive at this conclusion overnight, obviously their profit margins were tied up into infrastructure and they still are, but they seem to now have embraced subscription-based pricing model and the market has rewarded them for it by sending stock price back to where it was 20 years ago.
Anyhow, with DevNet, Cisco is hoping to turn their products into platforms where they can focus on providing the APIs and let the infrastructure and application software developers do the integration work. Cisco now claims that they have well over 500K members enrolled into their DevNet initiative, obviously a lot of them come from channel partners. What I also noticed is that Cisco is walking a fine line here, they are not going all out and saying network engineers should all become developers or that developers should consider becoming CCIEs. Obviously, they don’t have all the answers themselves.
The most critical question is, what does it all mean for you as a Network Engineer?
The most critical question is, what does it all mean for you as a Network Engineer. Regardless of what Cisco’s party line is, DevNet certification program represents a tremendous opportunity for you to graduate out of being a networker to an Automation Engineer or a Network DevOps.
So, what am I talking about? Embrace the cloud and the automation wave, learn DevOps tooling ecosystem to stay relevant in the shifting job market as well as to advance your career. If you choose not to, and I bet in about 5 years, there may not even be a job role known as a network engineer i.e. someone who can hand configure routers, switches and firewalls. I think you get the idea.
For now, you have two choices, you can target Associate or Professional track. Much like the new CCNP track where CCNA is no longer a prerequisite, DevNet Associate is not a qualification requirement for DevNet Professional either. Let me unpack these for you.
How to choose between Associate and Professional Track?
If you are clueless about programming, DevOps, encoding formats such as JSON, and APIs, then you want to start with the Associate track. But, if you find yourself writing python code during downtime, or perhaps you came from a coding background, like I did, then you can venture straight into the Professional track. Another way to figure this out is to simply read through the Associate exam topics, if you find a lot of unfamiliar jargon in it, then congratulations you have hit the jackpot. I personally think, most network engineers would want to start at the Associate level. Now, in terms of job roles, I disagree with a bunch of boilerplate roles that Cisco published as part of the announcement, I think we’re really talking about two roles here, i.e. either Network Automation Engineer or Network DevOps, where Associate or Professional tracks control for your level of expertise, i.e. Beginner or Intermediate, Junior or Senior, what have you.
Cisco DevNet Associate and Professional Exams
Now, you can become Cisco Certified DevNet Associate or CCDA by just passing DEVASC 200-901 exam. This exam is about APIs, Infrastructure, deployment, software development principles and obviously knowing your network fundamentals, i.e. knowing your protocols and some of the bits and bytes.
DevNet Professional track, or path to CCDP, requires passing not just one but two exams. You need to pass one Core exam, i.e. DEVCOR 350-901 and one concentration exam.
The only key difference between the two exam topics, i.e. Associate exam versus DevNet Core exam is the level of difficulty as knowledge domains remain the same with the exception of Network fundamentals. You are expected to know your networking protocols and devices if you are targeting Professional track.
As for concentration exam, Cisco has offered 8 exams choices and all you need to do is to pick one from either list. If you are familiar with DevOps tooling ecosystem, then you can pick DevOps. Likewise, if you find yourself deeply interested in pursuing network automation, go for the Enterprise exam.
Cisco DevNet Associate DEVASC and Professional DEVCOR Exam Topics
Let’s double click into each exam area or section, you can see they are pretty evenly divided across the two levels, obviously since there is no network fundamentals section in DEVCOR, Cisco folks simply peanut buttered that 15% into the APIs, apps deployment and infra automation sections.
Now, what’s more interesting is if you look at each of the keyword that each of the line item starts with, within the exam topics for each track. These should be familiar to you, if you’ve taken any Cisco exam before. The red box indicates the topics that I consider purely conceptual, call it theory if you want.
Now, it gets more interesting, if you look at the green box, those keywords inspire action, i.e. involve some kind of hands-on and that’s where you can see real divergence between Associate versus Professional Tracks. Associate only seems to include 9% hands whereas Professional track clocks in with about half of the exam topics requiring hands-on. While I’d have liked to see more hands-on included into the Associate track right off the bat, but Cisco kind of makes it up for it by not requiring Associate as a prerequisite for Professional track.
Just for fun, I thought why not compare it with new CCNA and CCNP exam topics, and you can see that DevNet tracks edge out both CCNA and CCNP for hands-on.
Now, perhaps the most critical part, how can you get started.
Well, as cliché as it may sound, there are always two choices, i.e. Do It Yourself or shall we say doing DevNet the hard way. Anyhow, if that’s piques your interest, then I have broken down the actual domain of knowledge that you need to master in order to attempt and get DevNet certified. The foundation of all is still networking, but then the meat of it, is around programming, which is mostly Python and corresponding libraries, DevOps toolchain, becoming familiar with infra APIs and application deployment. You can create your own syllabus and google every topic until you are ready.
If you prefer the structured approach to learning, then we have done the research for you and you can get started today by hopping over to fullstacknetworker.com. We have published DevNet Associate course, where DevNet Professional Core is waiting in the works.
So, let’s see how it works with our approach. Firstly, we follow Cisco’s DevNet Associate official blueprint to make learning and managing your progress super easy. All of our code examples are posted on GitHub, so you can follow all the examples included within our course material.
Once you learned the concept, you have to put it through the paces without exception so we use cloud hosted Python IDE where you can execute the code without leaving your lesson. We have way more code examples than Cisco intended for Associate course, what am I talking about? 9% hands-on is not enough to make a foray into a new area so we have tons of code for you to build on the fly. All code is pre-loaded for you, all you have to do is to hit that green button to execute and see the output in the terminal. If you want to modify the code, you can fork it, that’s Chinese for making your own code copy, and have at it.
Last but not least, each section has a practice quiz to benchmark your learning and concept comprehension. As DevNet exams go live, we will be adding exam simulation or timed practice quizzes that help you prepare to deal with the real pressure of a Cisco exam.
We’ve covered quite a bit of ground here, so let me summarize.
- DevNet certification program offers two tracks, Associate call it an entry level, and the next step up, the Professional track.
- While Cisco doesn’t explicitly say so, Network Engineers, please pay attention to this if you don’t want to witness your job getting automated.
- Associate requires passing one exam, whereas Pro track requires passing two.
Now, time for a lab.
So today, we’re going to cover the first two-line items mentioned in the DevNet Associate track with an XML example. Our XML document has three elements or nodes and then each of these elements have two sub elements. Every element is a node, but not every node is going to be an element as there are bunch of other types of nodes.
Now, let’s look at the python code that would help us parse this XML document using DOM or Document Object Model. If you are familiar with Python, you can see that we’re importing the ElementTree library, then we parse persons.xml file and initialize our XML tree. We’re also printing out the entire XML document here, and then printing the number of elements and sub-elements in our XML tree. Finally, we print out the actual values associate with those elements and sub-elements. Tag is what you between less than and greater than signs and the actual tag value is what’s within the opening and closing tags. In our example, gender and name are sub-element tags.
I hope you found this article and the small lab useful. I am looking forward to hearing from you so leave your comments below.
Python Code Snippet and Output (hit the green button to execute)
How useful was this post?
Author:Muhammad Afaq Khan, CCIE #9070
How useful was this post?