DevOps is a culture.
It is a mindset with a foundation in the Agile Manifesto.
Bridging the gap between Dev and Ops. Providing better software, more efficiently, through automation and replication.
There is also continuous delivery. DevOps is many things, but what is still on the horizon is bringing networking into the fold.
This is NetDevOps.
Bringing the DevOps principles to networking, and networking into the DevOps team.
Cumulus networks has provided a great start to the NetDevOps movement. The tools you are already using are incorporating it as well. Ansible, Chef, Puppet, and Red Hat are beginning to incorporate DevOps into networking.
This brings us to NetDevOps. The intersection of networking and DevOps.
What is NetDevOps?
NetDevOps is infrastructure as code. It is network automation. It is open communication. Like DevOps, the NetDevOps goals are as follows:
- Prevent fat fingers
- Repetitive tasks
- Reproduce and dispose things
- Deliver code
The result is network scalability and a replicable process.
Infrastructure as Code
If NetDevOps is infrastructure as code, it makes sense to provide a definition:
“Infrastructure as Code (IaC) is the process of managing and provisioning computing infrastructure (processes, bare-metal servers, virtual servers, etc.) and their configuration through machine-processable definition files, rather than physical hardware configuration or the use of interactive configuration tools.”
What this provides is the ability to apply and deploy changes at scale. The removal of manual configurations.
Network changes occur on physical servers; manually and individually. Utilizing infrastructure as code, this is accomplished remotely with the use of code. The code is then replicable and can be scaled. A benefit to this process is the ability to repeat processes that work particularly well.
The result is network automation.
Network automation is the result of the NetDevOps approach. As DevOps places a large emphasis on automating processes, NetDevOps looks to share this goal. This is accomplished through many tools, Datapath.io being one of them.
Network automation is setting parameters around network requirements. Then implementing a set of code to replicate the process. The tools in your current stack of IT automation already allow you to do this for other IT related functions. Let’s bring this to networking.
How Do I Incorporate NetDevOps?
The first step in NetDevOps is to pick an infrastructure that allows deployment of infrastructure as code.
Two approaches are as follows:
White-box Switches and Linux
NetDevOps, in its current form, is done by setting up White-box Switches. Installing Linux. Then utilizing your current DevOps IT stack. The White-box switches provide the ability to run code for your network.
NetDevOps Through a Cloud Provider
Making the transition to a cloud provider provides infrastructure as code services. For AWS this is AWS CloudFormation. The rest of the DevOps team may already be employing automation tools. This allows for automation in the cloud environment. Applying this to networking is the next step.
The goal of NetDevOps is to find tools that allow you to monitor and automate your network. This can improve network latency and performance or diagnose issues. NetDevOps brings the DevOps and networking team together.
You can download our DevOps Networking Terms Ebook for information regarding terms you may need for NetDevOps.