The Problem: Growing Complexity and the Need for Automation
Today’s network administrators face significant challenges in managing complex infrastructure. These include deploying configuration changes quickly and with minimum disruption to network operations, gaining a clear view into network activity, and reacting to unexpected incidents in a timely manner. Beyond these, the rise of hybrid and multi-vendor environments adds layers of interoperability issues, where legacy and modern systems must coexist seamlessly.
The industry is rapidly moving toward solutions that integrate automation, AI, and analytics to manage these challenges. This shift aligns with broader trends toward NetDevOps, where networks are treated like software—versioned, tested, and deployed programmatically. The primary business drivers for network automation are clear:
- Reduce the time to deploy services, enabling zero-touch provisioning, cutting setup time from hours to minutes.
- Lower the total cost of ownership (TCO) by reducing operational complexity and supporting policy-based management for compliance across large-scale networks.
- Increase network uptime and reliability by minimizing human error through scripted validations.
- Improve staff productivity by automating repetitive tasks.
- Enhance the customer experience through more reliable and predictable services.
This post documents a project to explore practical solutions to these real industry needs, focusing on using open-source tools to demonstrate many concepts in network automation. The project de demonstrates interoperability by unifying multiple management interfaces (NVUE in Cumulus Linux, and gNMI in Nokia SR Linux). The reasons for choosing Nokia SR Linux and NVIDIA Cumulus Linux as the in this setup are that both use open-source platforms, which aligns with the project’s emphasis on open, extensible, and accessible tools.
The Plan: Project Objectives
This project will focus on building a comprehensive lab environment to demonstrate key modern networking concepts. The core objectives are:
- Establish a Hybrid Automation Framework: The lab will showcase how to unify automation strategies across platforms with different capabilities.
- Implement Infrastructure as Code (IaC): Using tools like Ansible, the project will follow IaC methodologies to create version-controlled, repeatable workflows for network configuration.
- Build a CI/CD Pipeline: To ensure reliability, a continuous integration/continuous deployment pipeline will be created to validate, test (with tools like Batfish), and deploy network changes automatically.
- Define a Single Network Source of Truth (SoT): A central SoT, using NetBox, will drive accuracy in network inventory, IP addressing, and device configurations.
- Enhance Network Observability: Moving beyond simple monitoring, the project will focus on observability—the ability to understand a system’s internal state from its external outputs and determine why problems occur. This will be achieved using tools like Grafana, SuzieQ, and streaming telemetry.
The project will be rolled out in phases. Each phase will cover part of the objectives.
The Lab Environment: A Multi-Vendor Leaf-Spine Fabric
The entire project is built around a container-based lab environment using Containerlab, emulating a classic leaf-spine data center fabric. The lab consists of:
- Two Spine Routers: Running Nokia SR Linux (v25.3.3).
- Four Leaf Routers: Running NVIDIA Cumulus Linux (v5.3.0).
Phase One: Exploring the Management Interfaces
The initial phase servs as a foundational introduction to the distinct management interfaces of the two network operating systems.
- Nokia SR Linux (gNMI/YANG): This platform uses gNMI (gRPC Network Management Interface), which relies on standardized YANG data models.
- NVIDIA Cumulus Linux (NVUE REST API): This platform offers the NVUE (NVIDIA User Experience) REST API, which allows for switch’s configuration using standard HTTP methods.
This first phase will provide the hands-on introduction to these two management interfaces before progressing to later stages.
Join the Journey
This project aims to be a practical, hands-on resource for anyone interested in network automation, CI/CD, and observability. By tackling a multi-vendor environment, it reflects the real-world complexities that many network engineers face today. The project presents a new challenge for me. Although I am familiar with many of the tools and processes mentioned in this post, integrating them in one project is a new goal. I don’t know how far I can proceed or what challenges I will encounter. Therefore, expect this post to be amended to reflect the milestones in this journey.
I encourage you to follow along as I share progress, insights, and code. You can find the project files and instructions on GitHub, and I will be posting regular updates here on my blog and on LinkedIn. I look forward to building this project and sharing the journey with the community.