The intersection of CI/CD and network automation has grown substantially over the past few years. Network teams have seemingly reached the point in their automation and orchestration journey where it has become critical to implement a strategy to manage the testing, version control and deployment of both network changes and automation assets.
While CI/CD has grown in popularity, there are—at least on the surface—many differences in the types of pipeline implementations to which network teams want to apply the technology: Different tooling, different scenarios and different problems being solved. Despite the seeming disparities, there are some key themes that are consistent throughout most pipeline implementations. For instance:
Network teams either want to develop pipelines to better manage specific changes to the network or they want to use pipelines to better manage the testing and deployment of automation and orchestration assets like workflows or scripts. Where initially those teams may have turned to network infrastructure-as-code (IaC), a significant (and growing) number are investing in automation asset pipelines.
The trust and resources being dedicated to these pipelines is just one of a growing number of indicators that automation and orchestration solutions are maturing and moving beyond initial implementations to large-scale, business-as-usual technologies.
How Pipelines & Network Automation Complement Each Other
A close examination of recent pipeline developments provided more clarity about the respective strengths of CI/CD tooling and network automation tools for network change management and life cycle — GitLab, GitHub, Jenkins and CircleCI to name just a few. Most network teams would prefer to stick with a “right tool for the right job” philosophy, wherein the best tool for any given task can easily be integrated into an overall solution.
In this context, the “right tool” philosophy looks at pipelines and at network automation/orchestration tools to identify what they do best. Then, a strategy is developed that maximizes the benefit of both technologies. Using this approach, teams can avoid the pitfalls of trying to solve everything with one or the other, leading to a suboptimal process.
Some good current rules of thumb are based on two simple points:
- Pipelines focus on creating consistency and repeatability by managing activities related to code versioning, testing coordination, code merging, code validation, and approval. The primary benefit of pipelines is the ability to automate the change process.
- Network automation focuses on generating the network payload and applying that payload to the network elements. This may also include automation of engineering and business logic steps that typically must be performed in a specific order. The best uses of network automation within the change process require attention to business logic, order of operations, and network engineering rules.
By integrating both technologies into a common pipeline, network teams can get the best of both toolsets.
The example below illustrates an integrated model where network automation tools provide the engineering logic for the generation, testing and deployment of configuration changes, while the CI/CD tools (represented by the orange arrows) carry the activities through a repeated, automated process, ensuring that the changes go through a consistent path with proper version management, approvals and testing. Multiple teams have successfully implemented this model and they are beginning to iterate their solution to incorporate their unique experiences and improvements.
The widespread expectation from the industry is that, in addition to the integration of CI/CD and automation into a common pipeline, we will begin to see other indicators of maturation of orchestration and automation. Some of these are areas that are already taking shape, such as the shift in skillsets and competencies outside of traditional CLI-centric engineering toward DevOps and CI/CD skills, or the growing importance of quantifying the business impact of automation and orchestration.
How Itential Supports CI/CD Pipelines for Network Automation & Orchestration
At Itential, we’ve been working to help our customers overcome these challenges while also helping them embrace network infrastructure as code methodologies, and we have built a platform to better enable network engineers to achieve these goals. Our platform aligns with software engineering-oriented functionality, like API exposure and the ability to integrate with a wide range of CI/CD tools while staying flexible for network engineers, no matter their level of software development and scripting skill. To do that, we are continually evolving our approach towards a NetOps pipeline for network infrastructure as code.
To learn more about how to implement CI/CD practices to your network automation and orchestration strategies watch this on-demand webinar.
Article originally published on DevOps.com.