Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News How DevOps Principles Are Being Applied to Networking

How DevOps Principles Are Being Applied to Networking

This item in japanese

Practices from the DevOps world are being adopted into managing networking services. Vendor hardware, configuration tools and deployment modes have eased programmable configuration and automation of network devices and functions.

Some recommendations on how to adopt network automation practices include looking at networks-as-code (along the lines of infrastructure-as-code), orchestration as part of CI/CD pipelines, using network functions that can be deployed in smaller units like containers, applying chaos engineering principles to network services delivery, and measuring and predicting using monitoring tools. The human factor has been found to be a key aspect in ensuring network reliability in some studies.

Networks-as-code is essentially declaring the way the network should look like and behave, and using a tool to deploy that topology onto the physical network. Automation tools are being adopted to manage networking devices - from provisioning to configuration to policy-based change management. Although the idea of network device configuration has been around for a while, with standards like NETCONF, it has started to be adopted into automation tool-sets only recently. Ansible introduced modules for networking infrastructure automation last year, with support for hardware from a number of networking vendors. Saltstack has similar modules. Other projects like NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor Support) have plugins for Ansible and Salt, and provide a unified API to program networking devices.

The use of virtual instances for networking functions, e.g. a firewall that is run on a virtual machine instead of being embedded in a dedicated hardware device, has served as a catalyst for experimenting with these tools before deploying them on production. This is mostly prevalent in the telecom world. Virtual Network Functions (VNFs) are being tried out in virtual machines as well as in containers, with some types of functions being more suited for containerization. The increase in the number of services delivered via software defined networking (SDN), which is a programmatic way of configuring networking devices, has also led to more automation since these devices lend themselves to being configured via scripting. Chaos Engineering is still in its infancy in the field of networking.

Networks are often monitored by the same tools used to monitor the rest of the stack, with some tools being tuned more towards network specific aspects.

Rate this Article