SP Stefano Pilla Discuss a Project
← Writing

Autopilot · 17 September 2026

What NetDevOps actually means in production

NetDevOps is not 'use Python and Git'. It is an operating model: intent as data, changes as reviewable code, and validation as a gate.

Intent, execution and validation loop for network changes

“NetDevOps” gets reduced to a tooling list: Python, Ansible, Git, a pipeline. That framing is why so many automation projects stall. The tools are the easy part. NetDevOps is really an operating model for how network changes are proposed, reviewed, applied and proven — and it changes the day-to-day more than any single tool.

It starts with intent as data

A traditional network change lives in a ticket, a CLI session and someone’s memory. A NetDevOps change starts from intent expressed as data: the desired state of interfaces, VLANs, routing, policy and services, stored in a source of truth the pipeline can read.

That single decision has a large effect. Once intent is data, you can render configuration, diff it, review it, and test it. Without it, automation is just faster typing.

Changes become reviewable artifacts

In a NetDevOps model, a change is a pull/merge request:

  • the intent diff is visible before anything touches a device;
  • peers review the outcome, not a wall of CLI;
  • the change carries its own validation and rollback plan;
  • the history answers “what changed, when, and why” without archaeology.

This is the part teams underestimate. Reviewing rendered intent is more effective than reviewing commands, because it exposes the blast radius.

Pipelines do the boring, dangerous parts

The pipeline is where consistency comes from:

  1. Render configuration from intent.
  2. Validate offline (syntax, policy, model checks).
  3. Stage in a lab or a canary site where possible.
  4. Apply in a controlled, idempotent way.
  5. Verify with the same checks before and after.

Idempotency is not a nice-to-have here. If re-running a pipeline produces a different result, you no longer have a reliable change process.

Validation is the gate, not a report

The most valuable part of a NetDevOps practice is the validation harness: the assertions that define a healthy network, run before and after every change. Application proof is not enough — “the config applied” says nothing about whether the network still works.

Validation should cover intent (does the state match), path (does traffic take the expected route), protocol health (adjacencies, route counts) and service behaviour (do the things the network carries still work). The diff between pre and post is the deliverable.

What actually changes on the team

Adopting NetDevOps changes roles more than it changes tools:

  • engineers spend less time typing and more time defining intent and assertions;
  • reviews move from “looks fine” to evidence;
  • runbooks become automation with tests;
  • operational feedback loops back into the source of truth.

It also demands restraint. Automation with too much authority and too little validation is a faster way to break things. The point is not to remove humans from the loop; it is to give them a better loop.

The honest summary

NetDevOps in production looks like: intent stored as data, changes proposed as code, pipelines that render and apply idempotently, and validation that gates every change. Python and Git are involved — but they are symptoms of the operating model, not the model itself.

Written by Stefano Pilla · LinkedIn