The Anatomy of NetDevOps
What distinguishes us as human? Complex cognitive abilities, of course. But beyond our intellectual prowess, the way humans change, adapt, evolve, and make use of tools is perhaps what sets our species apart more than anything else.1
As Network Engineers, we apply the network first principle – wherein our primary duty centers around the understanding of network architecture and packet flow. We immerse ourselves in knowledge of the networking realm through certifications such as CCIE, and mastery over the forefather of all human-machine interface: console/command-line.
The rise of the programmable network and its APIs transformed how applications are being developed, deployed, and hosted, giving them the ability to make micro adjustments to the network as required, optimizing latency, bandwidth and routes automatically, on-demand.
This new breed of application and infrastructure puts traditional network engineers on a new, foreign landscape: faced with an ever-changing, software defined network, their traditional, often manual and cli focused ways, falter.
Enter NetDevOps, the brainchild between Networking and DevOps.
What is NetDevOps?
No, it is not Ansible or Puppet or Chef. It’s not Jenkins, or GitLab pipeline. It’s not Cisco NSO, DNA Center, ACI or Meraki. Nor is it CI/CD, test/production environment, or Network as Code.
NetDevOps is all of the above. It is a principle, a philosophy, a culture, a discipline, and a set of holistic methodologies. It is not one tool, one process, or one particular set of CI/CD pipelines.
NetDevOps is about bringing all that is good in Software DevOps and applied towards Networking – for an end goal where changes can be rapidly and comfortably applied to your network, where your network’s operational status and states are automatically and preemptively scrutinized.
NetDevOps exists so that you and I can wake up each morning, enjoy sunshine, coffee, and not have to worry about our networks falling apart.
The key to successful NetDevOps is thorough agility: to be able to design, develop, integrate, test and deploy at a lightning’s pace. First and foremost, it calls for your organization’s philosophy and culture to embrace change rather than fear it. But beyond that, in order to churn fast, we must rely on proper tools: automated tools.
Figure 1. The Tools of NetDevOps
Whilst there is often an assortment of tools in each building block of NetDevOps, e.g.:
- communicate and collaborate using Cisco Webex Teams
- simulating your production network using Cisco VIRL
- automate end-to-end workflow using Travis CI
with multiple mature solutions in the field of deployment, provisioning and configuration management, there is little to choose from in the domain of stateful network validation and test.
As much as one can focus on making the right changes to your network, what keeps us up at night is whether the network is behaving as expected – an area where many still rely and fallback to individual engineering expertise.
Enter: Cisco Test Automation Solution
The thinking behind pyATS & Genie is simple: the most important aspect of NetDevOps should be a series of automated tests that covers every aspect of your network: from configuration state to operational status. This enables network engineers to freely (within reason) make changes to the network, as often and as rapidly as required, relying instead on automated tests and tools as the catch-all safety-net & informant.
Together with the latest addition, the pyATS UI dashboard: XPRESSO, focusing on script, testbed, execution, result management and analytics, the trio forms the foundation for Cisco Test Automation Solution.
In the next parts of this article series, we’ll dive deep, and explore Cisco pyATS | Genie | XPRESSO, how they can be leveraged in your NetDevOps workflow, uplifting your network validation experience, and ultimately helping you build a dynamic yet reliable network. In the meantime, visit the DevNet webpage to see a video introduction to pyATS by veteran Python core developer Raymond Hettinger.
From small to large, we’ll evolve together. From a network engineer … to a NetDevOps maestro.
1 Live Science, “Human Evolution: The Origin of Tool Use”, https://www.livescience.com/7968-human-evolution-origin-tool.html