A computer network is one of those things you don’t notice until it fails. Whether you’re at home, in the office, at the airport, in a coffee shop, on the factory floor, or almost any other place, you expect a computer network to be up, available, and free of congestion and other glitches.
The people who design, build, maintain, and manage computer networks are the unsung heroes of the modern age. They tend to prefer it that way—if people are looking for them, it’s usually not to thank them for doing such a great job.
Networks are so complicated these days that it’s almost impossible for humans to deploy and manage them without help from automation. Automated tools can take much of the tedious, repetitive, and error-prone network configuration and maintenance work out of human hands, executing it faster and with fewer errors.
There’s a risk to network automation, however: A process that automates the deployment of an updated configuration across a network apparatus can also automatically deploy wrong configurations across the board, bringing the network to a grinding halt and, in some cases turning switches, routers, and other devices into expensive paperweights.
Network administrators are not eager for the kind of attention that situation would earn them.
As Nvidia partner Cumulus Networks describes it, NetDevOps is "DevOps with Net in the front." It emphasizes cooperation between operators and network architects, and it leverages automated management tools to help with network design and changes. At its core, it is "the process of making the running of networking gear at scale as efficient as the running of server gear at scale" and helps establish " a culture and environment where building, testing, and releasing network changes can happen rapidly, frequently, and more reliably."
Applying DevOps Principles to Network Automation
Many network operations teams turn to DevOps principles to guide their network automation initiatives. A significant enabler of this shift is the concept of infrastructure as code (IaC) (including configuration as code), in which network provisioning and configuration are defined and managed by a software layer on top of the physical hardware.
With IaC, network configurations are treated more like a software application; they can be built and evaluated in a test environment before being deployed to the production network.
Although DevOps network automation (aka NetDevOps) requires a cultural shift within the infrastructure support teams and a new way of doing business, the benefits are compelling:
One of the main principles of DevOps is the concept of continuous feedback. In NetDevOps, this feedback is realized through effective reporting. All network automation processes should be designed to report their status and results so that failures or anomalies can be identified and addressed before they blow up into major problems.
If your organization’s network operations are becoming too much to manage by traditional approaches, contact MicroStack to learn how NetDevOps can help.