Showing results for 
Search instead for 
Did you mean: 

Network Centric DevOps

Cisco Employee

Over the past few years, we have seen an emergence of new types of networking devices –- devices that are programmable.  Cisco has announced onePK and NX-API that are two different APIs that will allow greater programmatic access and control over a number of Cisco router and switch platforms. The question is, what do you, as a user, do with these APIs? Do you become a software engineer? Do you start to build ad-hoc scripts?  What’s next?

The answers to the previous questions will vary based on size, scale, and internal skill set of where you work, but from an overall end user perspective, I am of the belief there will be very few customers that start to build internal and custom applications that leverage these new types of device APIs.  But, the fact is, these APIs are still incredibly valuable for the industry and for you going forward.  If we look at what the DevOps community has been doing from an automation and tool perspective, we may be able to learn a thing or two.

Learning from the DevOps Community

First, the sysadmins that are leveraging automation frameworks and tools such as Puppet, Chef, Ansible, and SaltStack are not necessarily programmers or software engineers by trade, but they can in fact write working code that gets the job, when and if needed.  In speaking to several engineers that have “DevOps” in their title, they use one or more of the aforementioned tools, but the *majority* of the time, are using off the shelf “modules” that the tool/platform offers to automate specific tasks.  In the sysadmin and public cloud world, this may be install packages, restart services, kill processes, spin up new EC2 instances, etc.  So, when do these folks really need to dive in and write a little code? This is exactly the second point.

Automate when you can, Program when you must

Follow the mantra, automate when you can, program when you must.  This means that ideally, the automation framework you are using should inherently offer modules that can help you accomplish the *majority* of your tasks.  In the case when this is not possible, the platform you are using should be extensible enough to create custom modules that accomplish exactly what you need. Some frameworks may be extended with Ruby and others in Python.  It all depends on the framework being used.

If we look at the start of NetOps, Network Centric DevOps, we need to continue to learn from the DevOps community though.

Community & Culture

NetOps needs a community. Where do you go to share what you’ve learned?  Where do you go to hear from others?  What is the culture like at companies that successfully embrace DevOps/NetOps? Cisco is also beginning to create its own community around all things programming across their devices.  Check out Cisco DevNet to learn more.


All of the tools mentioned above are purpose built for cloud and servers.  These will be continued to be extended for networking, but networking needs tools that are network centric and understand people like us.

Speaking about culture and community, there is the first event of its kind for Network Centric DevOps tomorrow October 14 in Santa Clara, CA. Come and learn from your peers.  Hope to you see there.


Twitter: @jedelman8


(Posted by Amanda Whaley for Jason Edelman @jedelman8)

Content for Community-Ad

This widget could not be displayed.