Build the Network Automation Bridge: NetDevOps

By relying on NetDevOps concepts to implement network automation, organizations can unlock new levels of reliability, agility, and security, paving the way for a brighter and more connected future.

By relying on NetDevOps concepts to implement network automation, organizations can realize many benefits.
(Credit: NicoElNino / Alamy Stock Photo)

You can’t fully realize the benefits of network automation unless you embrace NetDevOps.

The concept of DevOps isn’t new. It emerged 15 years ago as a response to the challenges and complexities of modern software development, deployment, and management. The application of DevOps principles in the realm of network management — NetDevOps — is still relatively new. And that needs to change.

By enabling reusable and modular development practices, version control, and automated testing, with a focus on platform engineering and scaling automation through an organization, NetDevOps helps solve many of the pressing problems that modern network teams face: inefficient operations, human errors, and enabling more than select few to contribute to the automation journey. And in doing so, it opens the door for organizations to embrace automation throughout the network.

Organizations that don’t introduce some form of automation will find themselves struggling to keep up. It will only get harder to invest and adopt newer technologies such as AI/ML.

Understanding NetDevOps

At its core, NetDevOps follows many of the same principles that traditional DevOps approaches embrace. NetDevOps bridges the gap between network infrastructure and applications to create a unified and more collaborative approach to network management.

NetDevOps embodies the principles of agility, collaboration, and automation, enabling organizations to respond rapidly to changing business requirements while increasing the stability and reliability of their network infrastructure.

If you’re adopting NetDevOps, it means you’re versioning everything possible. If your team is building Python scripts, Ansible playbooks, Terraform configurations, YAML files, Jinja templates, etc. they are versioned. If you are versioning files in a Git repo, it means there are tests. Those tests should run as part of an automated pipeline. If you’re using NetDevOps, you're thinking about automated deployments, redeployment, or upgrades to any network change and network application or tool.

5 Obstacles to NetDevOps Deployment

The current state of network management can create significant challenges for organizations that are working towards NetDevOps. Here’s some detail on each:

1) Aversion to Risk

The biggest issue is a cultural, ingrained aversion to risk and the unknown. Today’s network management tools and manual processes aren’t perfect, but teams know how to implement and use them. And team leaders may believe that automation will introduce new risks.

You need to start small, automate small, and ensure you have the right test infrastructure. Start with the low-hanging fruit and simple use cases that don’t have a direct impact on network operations — maybe that’s generating configurations, performing read-only automation, or automating documentation. Then transition to more complex and critical use cases as your confidence grows across the team.

2) A “Tools First” Mentality

Another obstacle is the “tools first” mentality that many network teams have. Selecting tools prior to knowing what workflows you want to automate can limit your potential.

NetDevOps allows teams to pause and rethink how things are done. Long-term automation success requires a mindset shift. Define your goals first, then thoroughly review the underlying workflows to understand the processes and systems involved. It is important to understand the existing state first. Without understanding, it is impossible to automate and lay the groundwork for building a network automation architecture.

3) Skills Shortages

Traditional network engineering skills alone are insufficient for automating networks. They’re obviously still important, of course, but the Network Engineer (or NetDevOps) engineers of tomorrow must understand the primitives of automation such as Git, YAML/JSON, Jinja, and working with REST APIs. The more advanced users will go deeper into automation frameworks and programming languages. It will take time to build a team with the right mix of skilled individuals across multiple disciplines.

4) Missing or Outdated Documentation

Many organizations also suffer from missing or outdated documentation. That’s a problem when moving to NetDevOps, which is all about implementing standardized processes and best practices through code. Not having documentation of the existing state effectively puts a barrier to understanding and, therefore, automating. Deploying discovery and analysis tools or performing read-only automation aids in improving documentation, which leads to improved understanding.

5) Lack of Data Management

A lack of data management includes a combination of data sprawl and non-standardized data. This causes problems when trying to aggregate the data required to perform automation. When data is spread across multiple systems of record, there are often naming and format discrepancies, which can complicate efforts to parse and use the data programmatically. This is another cornerstone of NetDevOps.

Don’t leave your management practices up to institutional knowledge, and don’t have your data strewn across multiple systems in multiple formats without it being aggregated, unified, and multi-vendor ready. Get your key data sources documented and data standardized before your NetDevOps journey begins. There is no doubt that if you have a data-driven approach to network automation, there is a greater chance of coming out on top.

Benefits of NetDevOps

An ideal NetDevOps approach applies the tenets of DevOps to networking in a few important ways:

Version control: NetDevOps enables organizations to manage networks in central repositories with Git and version control of configurations, YAML/JSON data files, Jinja templates, Dockerfiles, and any other software artifact used to drive network automation.

Continuous integration and delivery (CI/CD): Automate the testing of changes to the network automation stack and the network itself, using both pre- and post-validation checks to ensure changes have their desired effects without unintended consequences. An agile CI/CD pipeline increases efficiency, ensuring team members no longer have to waste time and resources manually managing changes and performing tests. Having proper pipelines is also absolutely required when building platforms and tools others are adopting.

Open source: Open source software continues to pave the way across all technology functions, and networking is no different. It enables innovation, flexibility, and control. Think of all the open-source software that powers network automation today:

  • Netmiko, NAPALM, and Nornir enable multi-vendor management of devices from multiple vendors - many commercial vendors are using these libraries already

  • pyntc simplifies common workflows such as OS upgrades

  • Nautobot is an Enterprise network source of truth and automation platform;

  • And even most commercial products contain some open-source components or integrate with open-source platforms such as Git, Ansible, and Terraform.

It’s not an exaggeration to say that everything in network automation involves open source in some way.

A Path to Efficiency and Connectivity with NetDevOps

NetDevOps represents a fundamental shift in network operations.

To successfully embrace NetDevOps, keep in mind nothing happens overnight. It is important to make it an iterative process. Even small, simple steps can pay large dividends. And if you think your network is too unique or too complex for it to work, think again. No network is too special to take advantage of NetDevOps.

As the demand for scalable, secure, and reliable network infrastructure continues to increase, and now, with the rise of AI/ML, so too does the complexity of network operations. NetDevOps offers a new way of working to help solve these challenges. It also improves the skills of every engineer, helping them grow their career by investing in them.

By relying on NetDevOps concepts to implement network automation, organizations can unlock new levels of reliability, agility, and security, paving the way for a brighter and more connected future.

Related articles:

About the Author(s)

Jason Edelman, Founder, Network to Code

Jason Edelman founded Network to Code in late 2014. Observing how DevOps was radically changing the IT operational models for systems administrators and developers, Jason saw an opportunity to combine existing technologies from the worlds of DevOps and software development within the networking infrastructure domain to create holistic network automation solutions. Prior to Network to Code, Jason spent a career in technical sales at Presidio, BlueWater, and Cisco, developing and architecting network solutions with his last role at Presidio leading efforts around SDN and programmability. Jason is co-author of O'Reilly's Network Programmability & Automation book. He is a former CCIE and has a B.E. in Computer Engineering from Stevens Institute of Technology.

SUBSCRIBE TO OUR NEWSLETTER
Stay informed! Sign up to get expert advice and insight delivered direct to your inbox

You May Also Like


More Insights