NetDevOps to Rescue!

Roshan Daneshvaran
microstack
Published in
3 min readFeb 22, 2021

--

The people who design, build, maintain, and manage computer networks are the unsung heroes of the modern age. I’d like to start this article with this bold claim! (and it has nothing to do with the fact that I used to manage firewalls and loadbalancers early in my career!)

If people are looking for Network guys, it’s usually not to thank them for doing such a great job.

The need for Network Automation

Networks are so complicated these days that it’s almost impossible for humans to deploy and manage them manually at scale. I think this is an established fact by now and no argument about that. What I’d like to discuss here is that there are ways to adapt the DevOps automation philosophy and best practices in the Network world, and it’s probably a good idea!

What Automation is NOT: An ad-hock bash script that changes a router or firewall configuration, usually built and managed by a single individual. (And that script has probably a weird name such as add-route.sh or is-it-firewalled.sh…)

The idea is to leverage what’s available and not reinvent the wheel (in other words, do away with those weird scripts!). Learn from DevOps methods, and develop an Automated Test-Driven Approach for Network Infra and Configuration with a Single Source-of-Truth.

Automated tools can take much of the tedious, repetitive, and error-prone network configuration and maintenance work out of humans’ hands, executing it faster and with fewer errors.

Nowadays, there are many tools available for Network testing and simulation, such as Batfish, which could get incorporated into the network change pipeline and test changes before deployment. How many outages(and how many jobs!) could be saved if things can be tested in a safe, simulated environment.

However, it doesn’t come without any disadvantage; A process that automates the change across all network apparatuses can also deploy wrong configurations across the board, bringing the network to a grinding halt. So if you’re budgeting for a proper network automation project, don’t forget about the testing and validation tools (And hiring people who can manage such tools!)

Additionally, there’s a hefty upfront cost for getting to a NetDevOps-oriented organization. Time and money need to be invested in transforming the network engineers to Network/DevOps engineers, also called NetDevOps engineers.

network manager to his/her engineer:

“You know your firewalls and routers right?! Good… Now, it’s time to learn coding with Python and Ansible.”

Rise of NetDevOps

“NetDevOps is the process of making the running of networking gear at scale as efficient as the running of server gear at scale.”

  • “It’s a practice that is at-scale and uses automated management tools.”
  • “NetDevOps is a culture, movement, or practice that emphasizes the collaboration and communication of both network architects and operators while automating the process of network design and changes. It aims at establishing a culture and environment where building, testing, and releasing network changes can happen rapidly, frequently, and more reliably.”
  • “It’s DevOps with Net in the front.”

Reference: https://cumulusnetworks.com/blog/netdevops-meaning/

Values of DevOps Principles to Network Automation

For all reasons discussed earlier, many network operations teams turn to DevOps principles to guide their network automation initiatives.

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:

  • Promoting collaboration: DevOps principles promote communication and cooperation among different infrastructure teams, breaking down silos and sharing tools and processes. This has immense value when dealing with problems as “one team” rather than disjointed departments.
  • Boosting consistency: NetDevOps helps infrastructure teams across the organization perform tasks consistently, which simplifies maintenance and troubleshooting.
  • Increasing deployment speed: Whether provisioning network resources in an on-premise data center or cloud-based infrastructure, NetDevOps automation enables provisioning to be performed faster than traditional manual methods.
  • Enabling flexibility: When evolving application environments demand changes to infrastructure, NetDevOps simplifies the process, turning a weeks-long project under traditional methods into something that can be designed, tested, and deployed in days or hours.

Conclusion

It all seems great, yet challenging, seemingly impossible, and perhaps costly!

However, IMHO there are all the reasons for companies with decent IT maturity to consider transformation to NetDevOps!

--

--

Roshan Daneshvaran
microstack

☸️ DevSecOps & Kubernetes Aficionado | 🔐 Cybersecurity & Cloud Expert |💡Researcher | ☁️ AWS | 🌩️ GCP