The IT Certification Resource Center

Featured Deal

Get CompTIA, Cisco, or Microsoft training courses free for a week.
Learn More ❯

Inching into Network Programmability with Cisco

Just as virtualization is recasting the data center and the server room, so it is also recasting networking. The rise of what Cisco calls 'network programmability' shows where this march of progress and change might lead.

Network programmability concept tunnelIn November 2015, I wrote a GoCertify blog post titled Cisco Aims to Future Proof Certs through 'Evolving Technologies'. Therein, I explained how Cisco is adding a new set of questions to the CCIE and CCDE credentials to make sure that those certs keep up with changing times and new technologies.


Those elements may be understood as “new and dynamic exam content” intended to make sure that cert candidates keep an eye on what’s new and what’s coming, as well as what’s important in the here and now. One such dynamic area for these certs, in fact, is called “network programmability,” and this is an area in which Cisco has invested heavily and recently.


They have also introduced some certs in this bailiwick, and beat the drum heavily to enlist interest and participation in this burgeoning arena for networking activity. I just got an email from Cisco Learning yesterday, for example, hyping “International Programmer’s Day” (Sept. 13, in case you didn’t know) that also offers links to a list on On Demand e-learning courses on — You guessed it! — network programmability:


Programming for Network Engineers (PRNE) v1.0
Designing and Implementing Cisco Network Programmability (NPDESI) v.1.0
Developing with Cisco Network Programmability (NPDEV) v4.0
Digital Network Architecture Implementation Essentials (DNAIE) v1.0


Defining Network Programmability


All of this raises two questions: First, What is network programmability?; and Second, Why should you care? For the answers to those questions, I turned to a Cisco blog post from the Enterprise Networks group. Published earlier this summer on May 1, it’s titled Defining Network Programmability, and goes straight at those two questions, head on.


Blogger Adrian Iliesiu, an engineer in Cisco’s Corporate Development Technology group and a point person in reaching out to developers interested in network programmability, defines the topic as follows:


“Driven by real benefits like time and cost savings, reduction of human error, customization and innovation, network programmability is currently understood as a set of tools and best practices to deploy, manage and troubleshoot network devices.”


Because some of these device may be virtual and others physical, this ends up being mostly about creating and using scripts at the command line, and learning and employing APIs designed to provide device access programmatically. Simple enough, right? And an effective answer to the first question.


Things get more interesting with the second question. Its answer depends on understanding how networks are changing and evolving in a virtualized world. Iliesiu speaks to common solutions in addressing increasingly flexible and agile networks where, to use his example:


“(I)n a dynamic DevOps world when entire testing and development environments are built and destroyed within minutes, we expect the network to keep up and be just as flexible” as the other parts of the infrastructures and services that IT now routinely provides on demand.


Thus, he points to a new and emerging approach to dealing with such needs. The solution, he says, is one that revolves “around providing application programming interfaces (APIs), sample code, and reliable software development kits (SDKs).” Thus, network administrators need to understand how to work with such tools, which perforce means that programming must also find a place in his or her bag of tricks going forward.