DevOps embraces the ideology of interoperability and communication between the development and operations teams in order to break down silos and create better products. The movement also encourages automation and monitoring in order to increase efficiency and reduce error. Essentially, NetDevOps extends what an engineer or organization is already doing in the DevOps world, but with networking.
But how can it be defined? As defined by an engineer here at NVIDIA Cumulus, “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 is a practice that uses automated management tools, making the running of networking gear at scale as efficient as the running of server gear at scale.
In the mid 90s, there was a class of engineers known as “tools developers,” men and women who wrote code that glued together the worlds of traditional programmers and sys-admins. We now call these camps development and operations, respectively. Often software was cobbled together that would now be known as configuration management, version control, monitoring, test frameworks, and automated deployment. During this time, much of the infrastructure sustaining a large Web site was built on closed components. One of the more common infrastructure components was a backend database, which required highly specialized individuals to configure, manage, and organize these complicated infrastructures. Over time, as open source database software (think MySQL or Postgres) became more prevalent, this knowledge spread. System administrators grew their craft to include replication procedures, database monitoring, and other best practices. DevOps is part of a larger trend today to tear down the traditional silos between operations/IT and software development teams. Many of these problems and potential solutions are relevant to essentially any technically oriented team in any organization — especially network operation groups.
NetDevOps, when applied to a network, can reduce network downtime while increasing savings and agility. NetDevOps offers a chance to work more collaboratively, encouraging communication among teams in order to increase efficiency and foster collaboration so that the company can create the best possible products and services. NetDevOps removes the traditional issues of human inefficiencies and instead leverages tools between the application, server and networking space. NetDevOps is able to use Infrastructure as code, or IaC, which is the process of managing computer data centers through machine-readable definition files instead of physical intervention. Infrastructure as code works to ensure that automation scripts are error free, able to be redeployed on multiple servers, able to be rolled back, and are accessible to all teams thus reducing manual intervention and reducing downtime.