Network Infrastructure as Code

blog » series » Network Infrastructure as Code

Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools.

Source: Wikipedia

Network infrastructure as code refers to the practice of automating the configuration, deployment, and management of network resources using software development techniques. This approach involves defining network infrastructure and policies as code, which can be version controlled, tested, and deployed using tools such as Git, Jenkins, or Ansible. With network infrastructure as code, organizations can reduce manual errors, increase agility, and improve scalability and security in their network operations.

Generated by ChatGPT in February 2023

Translated into plain English: Describe the desired state of networking infrastructure (your intent) in text files that can be managed with traditional source code control tools like Git.

You could use Network-Infrastructure-as-Code (NIAC) to manage traditional device configurations (which would be a very-low-level intent) or as part of a solution that uses abstract high-level data model.

Network-Infrastructure-as-Code Principles

These blog posts cover NIAC principles:

You might also want to watch the Network Infrastructure as Code part of Network Automation Concepts webinar and explore CI/CD in Networking and Single Source of Truth concepts.

Implementation Details and Tools

Other blog posts dived deeper into implementation details and related tools:

A few blog posts discussed how hard it is to implement infrastructure-as-code or intent-based networking with the new cool kid on the block: REST API.

You know you can always expect to see a few rants on ipSpace.net. Here are the NIAC-related ones:

Real-Life Implementations

Finally, you might enjoy these real-life NIAC-based solutions:

More Information

We covered numerous NIAC implementation details in Building Network Automation Solutions online course:

We even did a podcast or two on the topic:

Low-level device configuration management with Git is described in Ansible for Networking Engineers online course; source code is available in our GitHub repository.

Sidebar