Network Infrastructure as Code
Source: Wikipedia
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:
- Infrastructure as Code Actually Makes Sense
- Automation Isn’t About Building a Button to Press
- Network Infrastructure as Code Is Nothing New
- Start Automating Public Cloud Deployments with Infrastructure-as-Code
- Infrastructure-as-Code Sounds Scary
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:
- Network Infrastructure as Database
- Adjusting System State with Infrastructure as Code
- Infrastructure-as-Code Tools
- Stop the Low-Level Configuration Manipulation
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.
- Infrastructure-as-Code, NETCONF and REST API
- REST API Is Not Transactional
- Can We Make REST API Transactional Across Multiple Calls?
You know you can always expect to see a few rants on ipSpace.net. Here are the NIAC-related ones:
- Imperative and Declarative API: Another Pile of Marketing Deja-Moo
- Network Reliability Engineering Should Be More than Software or Automation
Real-Life Implementations
Finally, you might enjoy these real-life NIAC-based solutions:
- Lessons Learned: Automating Site Deployments
- Deploy AWS Security Rules in a GitOps World with Terraform, GitLab CI, Slack, and Python
- Automating NSX-T Firewall Configuration
- Configuring NSX-T Firewall with a CI/CD Pipeline
- Automating NSX-T Deployments
- Full-Stack Network Automation
More Information
We covered numerous NIAC implementation details in Building Network Automation Solutions online course:
- Build a Network Automation Stack From Ground Up (including numerous single-source-of-truth implementation details)
- Network Infrastructure as Code Concepts
- Sample NIAC implementation in private cloud infrastructure
We even did a podcast or two on the topic:
- From Excel to Network Infrastructure as Code with Carl Buchmann
- Network Reliability Engineering on Software Gone Wild
Low-level device configuration management with Git is described in Ansible for Networking Engineers online course; source code is available in our GitHub repository.