BLOG: Defining Network Programmability

Cisco Blog >Enterprise Networks

Enterprise Networks

– May 1, 2017 – 19 Comments

Network programmability is such a generic term, like SDN and the whole Software Defined X paradigm, that it means different things to different people. Not so long ago network programmability was synonymous with Openflow but as time passed and pragmatism kicked in, the industry settled around a common view. 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.

Agreement on Network Programmability Cisco DevNet dCloud Anne Robotti Steve Dickson Adrian Iliesiu

Designing the flexible network

The times when we could configure and manage one device at a time are going away. In 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. This means that we have to look at the way we’ve done networking so far from a different angle. When a new VLAN needs to be added to our infrastructure, or a new application requires a set of QoS parameters to be applied end to end in the environment, we need to be capable of performing these changes safely and within minutes.

Networking vendors have seen this challenge and are at different phases of adopting and implementing solutions for it. The common solution across the industry seems to be revolving around providing application programming interfaces (APIs), sample code, and reliable software development kits (SDKs). Besides the good old Command Line Interface (CLI) that has faithfully served us for so many years, vendors are now exposing APIs with their products. Repetitive tasks in an environment that provides programming interfaces leads organically to network programmability and automation.

Designing the flexible network at Cisco Live Melbourne DevNet Patrick Riel and Kareem Iskander

Pushing the boundaries of automation

Network programmability and automation is not new. Engineers have tried to simplify their work since the first ARPANET in the late 60s. From screen scraping, to bash and Expect scripts, the pain has been real. What is new is that we have reached a point in which the scale of our networks, the agile nature and dynamic requirements of our network infrastructure cannot be realistically configured and managed one device at a time. It is now time to start interacting with the APIs, use them to automate most of the mundane and repetitive tasks that used to take so much time to get done, and manage as many network devices as possible with a few scripts. As an industry we learn from our mistakes and always try to improve and push the boundaries.

DevNet Zone training Cisco engineers NetAcad instructors Developers

Your time is now

So, what does all of this mean for us who have been in the industry for a while, or for new students looking to improve their knowledge and trying to get a job in networking? Is this the end of world as we know it? Hardly. Networking has been constantly changing and evolving, much like programming. Although you still see requirements for Fortran or Cobol developers, mostly for maintaining very old legacy applications (I am sure somewhere out there there’s still a network running on 10Base5), the vast majority of the world has long changed and evolved, in most cases for the better. If you follow the Cisco certification program and the NetAcad community, you can see the same change patterns. All the certification tracks have been in a constant evolution process based on new technologies, new requirements from the job market and feedback received from the students. This time is no different. The difference is that now the network has become even more critical, and the requirement for highly skilled network engineers will only increase. The network has become a business differentiator and the more agile and dynamic your infrastructure is, the quicker you can develop and bring those applications into production.

Cisco Live Europe Developer Demo Hank Adrian Susie

Training and retraining

Networking students: I recommend that you keep an open mind! Know that you will have to constantly learn and be interested in new technologies. If you enjoy this and are passionate about it, you are in for an amazing journey.

Networking veterans (me included): I tell you, this is no different that what you’ve done so far. Remember when you had to learn about ATM and Frame Relay, and then MPLS, L3VPNs, LISP and OTV? We all have to learn now about data formats, APIs, mostly REST hopefully, parsing and manipulating data programmatically in a way that makes your life easier.

Based on the maturity of the language, the amount of libraries and support, as well as ease to learn, the general consensus is that Python is the best fit at the moment to tackle the challenge of network programmability. As network, DevOps or systems engineers we need to be able to talk to developers in their own language and be able to understand their problems.

Adrian Iliesiu Cisco DevNet NetAcad Instructor Engineer Developer Training

Following the server virtualization and hypervisor revolution at the end of the 90s and more recently the move to the cloud and the whole DevOps style of management, it is now time for the network to become more agile and accommodating to the requirements of the applications. There’s no better place currently for massive innovation than the network. The network sees and hears everything that moves through it! From more intelligent WAN routing with solutions like Cisco iWAN, to embedded security in which the network acts as a dynamic sensor and policy enforcer, to traffic anomalies detection and instant analytics, with products such as Cisco Tetration, there’s more and more intelligence being moved to the network layer.

I would like to invite you to join me on this trip as we start exploring network programmability in more depth. All questions, beginner and advanced, are appreciated. Add them below, or find me on Twitter @aidevnet.

And remember… the only constant is change.


Leave a comment

We’d love to hear from you! To earn points and badges for participating in the conversation, join Cisco Social Rewards. Your comment(s) will appear instantly on the live site. Spam, promotional and derogatory comments will be removed.


  1. Brad Edgeworth

    May 1, 2017 at 8:09 am

    Great post and so much truth in it. The only for sure about being in IT is change. The network is migrating from the “Can I Ping IT?” to focus more on the application characteristics.

  • Adrian Iliesiu

    May 10, 2017 at 9:51 am

    Brad, thanks for reading the blog and for the comment. I agree with you, the network is becoming much more than just transport and making sure you have connectivity between two end points is no longer enough. What started with QoS is now being taken to the next level in which visibility and enforcement of the applications requirements and performance is key and a business differentiator.

  • Andre Laurent

    May 1, 2017 at 8:10 am

    Requires taking a close look at people, process and technology. Nice blog!

  • David Peñaloza

    May 1, 2017 at 8:12 am

    This is spot on! Engineers need to adequate the mindset to the industry trends. Not leaving your role behind you, but to enrich it much more and broaden your skill set. Thanks for this write-up!

    • Adrian Iliesiu

      May 10, 2017 at 10:41 am

      Thanks for the comment, David. I believe there is currently massive innovation across all industries and aspects of life. From new medical procedures to renewable energy advancements to new transportation breakthroughs there has never been a better time for innovation. In one way or another IT is integral to all these changes and I am extremely grateful for being part of it. In order to take advantage of all these innovations we have to keep up to date and continuously learn and like you said broaden our skill set.

  • Jeff Bull

    May 1, 2017 at 8:13 am

    Adrian, Great post! Breaking down the fogginess that most people experience when thinking about “DevOps” and Programmability is key (in my mind) for understanding how to take the next step in our careers and businesses. There are so many classic hurdles we’ve put in front of ourselves as an industry that the journey into a systems that work for us can be seem overly daunting, but it’s not the case. Thanks for bringing attention where it’s needed most… Cheers!

  • Steven Allspach

    May 1, 2017 at 8:30 am

    Great Article. I am seeing this with everyone of my customers especially in the Data Center where I am focused. The Networking trend is moving to a more open platform based around automation and programability. Those engineers who can adapt and change as the industry changes will be the most successful!

  • Anne Robotti

    May 1, 2017 at 9:07 am

    Definitely some great points made here – reminds me of the CLMel keynote, where Chris Dedicoat talked about the need for networks to evolve and become self-monitoring. The world is changing for sure, and the emphasis on evolving with it is well-timed and appropriate. It’s a great time to be a network engineer for sure!

  • Frank Jimenez

    May 1, 2017 at 9:25 am

    Adrian, great post – I think your commentary on how us ‘old’ network folks need to keep participating in the new world of automation is absolutely key. It’s a great reminder that learning is a process and not a singular achievement.

  • Kay Smith

    May 1, 2017 at 10:00 am

    Great to see a full fiscussion of SDN and the whole Software Defined X paradigm

  • Elaine Lopes

    May 1, 2017 at 2:21 pm

    Key takeaways: keep an open mind, and keep learning. Great article!

  • Ben Martin

    May 1, 2017 at 3:02 pm

    Great article! Network programmability is the future and thank goodness we have DevNet to help provide the tools to make the transition. The DevNet labs are laid out in a manner that is non-intimidating and easy for anyone to start. The DevNet Sandbox allows us to get more hands on experience.

  • Laura Marsh

    May 2, 2017 at 8:19 am

    Thanks for the insightful article! It should be broadcast out to the STEM students and teachers of the world.

    • Adrian Iliesiu

      May 10, 2017 at 11:01 am

      Laura, thanks for reading the blog and for the comment! We’ve already started reaching out to all the STEM teachers and students. What better community to start than Cisco’s NetAcad?

  • Jason Angelus

    May 2, 2017 at 11:12 am

    Great post Adrian, the change is here, embrace it and use the tools (DevNet and dCloud) to help!

  • Charikleia Kontaxi

    May 4, 2017 at 6:45 am

    Congratulations Adrian! Great write-up… and so true!!!! The only constant is CHANGE!! And is OUR time now to lead this change!

  • Neva

    May 10, 2017 at 8:22 am

    Can I just say what a aid to find somebody who really is aware of what theyre speaking about on the internet. You undoubtedly know how to bring an issue to mild and make it important. Extra folks have to learn this and perceive this side of the story. I cant believe youre not more in style since you undoubtedly have the gift.

  • Shehab El-Din

    May 19, 2017 at 11:54 am

    great blog ! I hope i see you one day