What is Network DevOps?
Network DevOps refers to the acceptance of DevOps culture and principles in network engineering and operations. It embodies a preference for network automation including "network as API" concepts, along with continuous development, integration and deployment of new networking technologies. This methodology aligns with an "instrument everything" mentality that seeks to programmatically provide network performance metrics beyond typical networking teams to a broad audience including network engineers and network operations personnel.
Network DevOps Requires Automation
DevOps for networking has developed in the context of IT and production teams adopting DevOps and agile development utilizing various programming languages. As software development organizations look to work more collaboratively and in a continuous process from the development stage onward, network teams that are locked in a more manual and siloed way of functioning become chokepoints. Any network operator or service provider trying to maintain that sort of agility can only do so through the systematic introduction of automation principles, including provisioning, configuration, testing, version control and deployment of application and network services. Multi-vendor Software Defined Networking (SDN) environments allow for faster implementation of new capabilities versus legacy hardware solutions, making it more important to adopt configuration management and continuous delivery.
Automation can help address the following requirements:
- Speed of deployment: Automation allows for quick network configuration or policy changes during the application development and test phases.
- Stability of infrastructure: Automation allows developers to create tests and achieve stability of infrastructure with every application update and throughout application operation, including supporting networking for ephemeral infrastructure such as containers. Automation is the only way for Network DevOps to maintain the integrity of the underlying network architecture through multiple adjustments utilizing configuration management tools.
- Consistent processes: Automation allows access to policies that are already required, established and tested to be reused across applications, without the need to re-architect the entire network infrastructure, significantly improving the efficiency, security and availability of resources throughout the lifecycle of critical applications that embody network functions.
In today's rapidly changing application-centric network environment, including technologies such as virtualization, automation, templates and APIs, Network DevOps teams need DevOps tools to keep their networks running smoothly in the face of constant application change.
Network DevOps Best Practices
Network DevOps helps improve IT organizations by keeping pace with constantly changing application environments. Organizations of all sizes should adopt the following DevOps practices to manage successful projects.
- Continuous integration: the software development practice of adding new code to a centralized repository.
- Continuous delivery: the use of automation for code changes, testing and release is at the heart of efficiency in the world of Network DevOps. Automated configuration management can save time by making key processes faster and more repeatable with less IT operations hands-on management.
- Continuous monitoring: Gain operational insights for both app development and operations from the constant flow of information through the Network DevOps process. While passive network data such as NetFlow, sFlow and IPFIX are valuable for monitoring internal networks, particularly microservices architectures, active monitoring is needed to specifically monitor across external network dependencies.
- Correlate app experience and network metrics: To be effective in collaborating with other IT teams, network teams need to be able to tie network metrics to app and user experience metrics such as HTTP response time, page load and transaction times.
- Continuous testing: A combination of automated and hands-on testing is critical to comprehensive software testing. All Network DevOps testing mechanisms should extend to include microservices, version management, middleware installation and the application itself.
ThousandEyes addresses many of the challenges associated with the pursuit of Network DevOps practices. To assure optimal network performance, network operations and DevOps teams need detailed and accurate network path visibility, along with routing and application layer data.