For years, networking has often been treated as the outlier in IT. It’s been almost an accepted fact that the network evolves more slowly than other domains. But this paradigm cannot last.
As organizations scale infrastructure and accelerate operations, networking can no longer be the bottleneck for business-critical IT processes. The way we manage network changes must evolve alongside the rest of IT, adopting proven methodologies that improve efficiency and reliability.
Today, discussions around automation in networking are shifting. The key question is not just how to automate, but when to apply different approaches based on the nature of the infrastructure. Immutable environments, like cloud-native applications running in containers, align well with evolving GitOps practices and pipelines because changes are handled by replacing entire deployments. But in networking, where routers, gateways, and 5G infrastructure evolve over time, teams must take a different approach. Leveraging orchestration gives organizations the flexibility to manage services in mutable environments. Day 2 operations, state management, and dependencies require orchestration so teams can have the flexibility that pipelines don’t necessarily give.
This distinction is especially important when applying CI/CD principles to networking. While traditional CI/CD pipelines have transformed software development, their direct application to network automation requires careful consideration.
The following sections will explore how network teams can adopt a phased approach to integrating CI/CD into their automation strategy — leveraging pipelines for immutable infrastructure, where they provide speed and consistency, while using orchestration to manage complex, mutable network environments.
CI/CD & GitOps in a Networking Context
CI/CD originated in the software development world. By using pipelines, developers can move faster, integrating more reusable code, automating repetitive tasks, and enhancing process visibility, which all contributes to higher-quality code produced at greater speed and volume.
For network engineers, integrating CI/CD pipelines with your approach to network automation and orchestration enables you to treat your network infrastructure as code. This evolving GitOps approach delivers several important benefits:
- Share automation assets between individuals and projects, such as integrations for third-party systems, individual automation scripts, data transformation logic, etc.
- Test network changes much more rigorously, leveraging a library of unit tests built over time that can be called and run.
- Scale network management for the needs of your organization with version control, faster deployments, more comprehensive testing, etc.
A Phased Approach to Integrating CI/CD Pipelines With Network Automation
At most organizations, network teams either approach network change processes with an all-manual model or with limited automation tooling. To get from there to comprehensive, end-to-end implementation of a CI/CD pipeline for your network team’s GitOps strategy, it helps to take a phased approach. Your team can adopt specific, practical pieces of the overall goal and integrate them into the current change process, iterating until the target process is achieved. While obviously every team goes through a different, specific implementation journey, you can use the three overarching phases outlined below as a guide:
1: Manual Change Process
Teams that have yet to incorporate significant automation or any CI/CD or GitOps capabilities into their process suffer from slower end-to-end delivery of network changes. One of the key steps teams at this stage can take is beginning to analyze the existing network change process, looking for activities that are repeatable and consistent. These will be the best entry points for introducing automation and CI/CD practices.
The manual model:
- Only limited use of automation tooling with most activities performed manually.
- Information and version control is primarily document-based (e.g., spreadsheets).
- Payload Creation
- Engineers develop specific configurations and processes for each network change.
- Manual handoff to the testing stage.
- Testing
- Engineers create a test environment and manually test configurations and processes.
- Manual handoff to the deployment stage.
- Deployment
- Coordinated between engineers through manual means such as messaging, email, etc.
- Changes are manually deployed to production network.
- Manual handoff to the operations team.
- Operations
- Operations team performs life cycle management for deployed systems.
2: Early-Stage CI/CD Implementation
To begin the implementation, introduce CI/CD practices into the team’s typical activities to enable team members to gain experience with individual tools and platforms. Starting with highly repeatable, consistent processes gives team members a solid foundation to continue to iterate on and evolve. As network engineers continue to adopt and become familiar with these tools, productivity and the team’s ability to manage an increasing amount network changes will improve.
The early-stage CI/CD and GitOps model:
- Automated pre-deployment testing is introduced.
- Automations for deployment and operations are introduced.
- Network team uses a repo for version control.
- Payload Creation
- Same as above — engineers develop specific configurations and processes.
- Manual handoff to the testing stage.
- Testing
- Tools are used to create test environments and test payloads.
- Manual handoff to the deployment stage.
- Deployment
- Some manual activities, some automated activities.
- Repo utilized for version control.
- Manual handoff to the operations team.
- Operations
- Some manual activities, some automated activities.
- Repo utilized for version control.
- At this second phase, network engineers are much more productive due to automation of repetitive tasks. However, end-to-end network change processes still take a similar amount of time to the all-manual approach.
- Over time, the team can introduce more CI/CD methods and tooling in order to reach the next level of adoption.
3: Full CI/CD Implementation
A comprehensive implementation of a CI/CD pipeline for networking is the target state. When this goal is achieved, the team is fully enabled to treat network infrastructure as code, leveraging automation at every step of a change process and leveraging the pipeline to automate handoffs between each step. The benefits extend from just engineer-level productivity to accelerating the time to complete network changes end-to-end.
The CI/CD and GitOps target operating model:
- The goal is to further accelerate and improve the end-to-end process by introducing a pipeline to link each stage of the change process and automate handoffs between them.
- Also, process automation design is incorporated for payload creation in order to eliminate manual input across the entire process end-to-end.
- Payload Creation
- Network engineers build templates and automation workflows to generate configurations.
- Pipeline coordinates handoff to the testing stage.
- Testing
- Configuration tests are automated with test environment and processes created using pipeline and testing infrastructure.
- Pipeline coordinates handoff to the deployment stage.
- Deployment
- Deployment teams manage orchestrated deployment of systems, and workflows replace traditional change MOPs (Methods of Procedure).
- About 95% of activities are automated.
- Pipeline coordinates handoff to the operations team.
- Operations
- Operations team performs life cycle management of deployed systems via automation and orchestration.
- About 95% of activities are automated.
- With a full GitOps change process model, networking activities and the handoffs between them have shifted to become primarily automated and coordinated via pipeline. This extends the benefits of automation from network engineers alone to every piece of the entire process.
- Network change processes are faster end-to-end and more consistent across every stage of building and deployment.
Implement GitOps For Networking With Itential
Itential’s orchestration platform makes implementing CI/CD pipelines for network operations easy, providing the capabilities and integrations your team needs at every part of the phased implementation approach. Ready-to-use integrations in the Itential Marketplace and the ability to auto-generate additional integrations based on standard API formats means Itential can orchestrate automations across all your network and IT systems, meaning all components of building, testing, and deploying network automations can be managed in the same platform.
To dive deeper into how to get started with GitOps in networking, you can watch my webinar here where we discuss and demo how to put this into practice.