What NetDevOps Actually Means
NetDevOps (Network + DevOps) applies the principles of software development — version control, automated testing, continuous integration — to network engineering. The core insight is that a network configuration is just text, and text can be treated like code.
The three pillars of NetDevOps are:
1. Infrastructure as Code (IaC): Network configurations are stored in a version control system like Git, not just on the device itself. Every change is a commit. Every commit has an author, a timestamp, and a message explaining why the change was made. You can git diff two configs just like you diff two Python files.
2. CI/CD Pipelines: Changes flow through an automated pipeline. A network engineer opens a Pull Request (PR) in Git. The pipeline automatically runs tests against the proposed configuration. Only if all tests pass does the change get approved for deployment. No more SSH-and-pray.
3. Verification: Software tools mathematically test the network configuration before it touches real hardware. This is the most powerful and least understood pillar. It's not just "run a ping test" — it's proving, with mathematical certainty, that the network will behave as intended.
Traditional Workflow:
Engineer → SSH → Live Device → Hope
NetDevOps Workflow:
Engineer → Git PR → CI Pipeline → Verification → Automated Deploy
Interviewers often ask: "How do you test network changes before deploying?" A weak answer is "I use a test lab." A strong answer explains the limitations of test labs (state drift, incomplete replication) and introduces formal verification tools like Batfish that analyze the actual production configuration files mathematically, without requiring a physical replica of the network.