The Config Report

The Config Report

Infrastructure as Code: Stop Fixing Networks (Start Replacing Them)

IaC Series – Issue 5 of 6: When Your Network Becomes Software

JJ – Chief Packet Pusher's avatar
JJ – Chief Packet Pusher
May 11, 2026
∙ Paid

🧠 The Old Way: “Just Fix the Network”

Something breaks.

  • VLAN isn’t passing traffic

  • Firewall rule isn’t hitting

  • BGP neighbor flaps

  • Random site can’t reach one specific app (of course)

So what do we do?

We jump into the controller or device:

  • Add a quick rule

  • Tweak a VLAN

  • Bounce an interface

  • Change a route

  • Maybe disable something “temporarily”

And then…

👉 It works

And we move on with our lives like heroes.


💀 The Problem Nobody Talks About

That “quick fix” you just made?

It probably:

  • Exists only in the device/controller

  • Isn’t in Git

  • Isn’t documented

  • Isn’t consistent across sites

  • Won’t be there in DR

  • Won’t be there in the next deployment

You didn’t fix the network.

👉 You forked reality


❄️ Welcome to Snowflake Networking

Now your environment looks like this:

  • Site A → has the “fix”

  • Site B → doesn’t

  • Firewall → slightly different

  • Templates → “almost” correct

  • Controller → source of confusion, not truth

And 3 months later:

“Why does this only break at one location?”

Because past-you was moving fast and feeling dangerous.


🔥 The IaC Mindset Shift

Here’s the uncomfortable truth for network engineers:

❌ Devices are not the source of truth
❌ Controllers are not the source of truth
❌ Templates are not the source of truth

Yeah… even that shiny dashboard you trust.

Instead:

✅ Code is the source of truth
✅ The network is just a deployed result
✅ Changes happen in code first, not the network


🧨 The Rule That Changes Everything

If the network breaks, you don’t “fix” it… you redeploy it.

I can already hear it:

“JJ… I’m not redeploying a firewall in prod. Relax.”

Fair.

But stay with me.


🏗️ What This Looks Like in Networking

Instead of this:

  • Log into firewall

  • Add rule

  • Test

  • Leave it there forever

  • Forget to update templates

You do this:

  • Update rule in Git

  • Commit change

  • Pipeline runs

  • Push to device group / template / API

  • Network converges to desired state

Same outcome.

Completely different control.


😬 “But That’s Slower…”

Yeah… the first time.

Because now you have to:

  • Define rules properly

  • Track changes

  • Trust automation

But here’s the tradeoff:

👉 Manual fix = fast once
👉 Code-based deploy = fast every time after that


🧠 Why This Matters More for Network Engineers

Sysadmins figured this out years ago.

Network teams?

We’ve been living in:

  • Controllers

  • GUIs

  • “Just one quick change” culture

Which means:

👉 We create drift constantly
👉 And we don’t even notice it


😈 The Hidden Benefit

When engineers know:

“If it’s not in code, it won’t survive”

They stop doing:

  • “Let me just add this rule real quick”

  • “I’ll fix it in the firewall directly”

  • “We’ll update the template later”

Because they know:

👉 The next deploy will wipe it out

And suddenly…

✨ Your configs actually stay consistent


🧪 Quick Reality Check

Ask yourself:

  • If you rebuilt your firewall policies from Git right now… would they match prod?

  • If you pushed templates again… would anything break?

  • Do you trust your source of truth more than your controller?

If any of those answers feel uncomfortable…

Good.

That’s the point.


Related Config Chaos

Still wondering why “automated infrastructure” somehow turned into a group project between YAML, drift, and everyone’s least favorite state file? These issues are part of the same config-replacement support group:

  • Infrastructure as Code: Why Most IaC Projects Fail (Even With the Right Tools) — because buying Terraform, Ansible, or a shiny platform does not magically fix broken process, unclear ownership, or cowboy changes.

  • Infrastructure as Code: Declarative vs Imperative (And Why Your Automation Still Breaks) — for understanding whether your automation is defining the desired state or just issuing commands with confidence.

  • Infrastructure as Code: The State File Nobody Warned You About — because state is where automation stops being a demo and starts asking for incident-response-level respect.

  • Infrastructure as Code: Configuration Drift Is Killing Your Network — the slow, quiet config rot that makes “same template” mean three different things by Thursday.


🔒 Paid Section – Where This Gets Real

🧱 The “Redeploy, Don’t Patch” Pattern for Networks

This is how you actually apply this without nuking production.


Keep reading with a 7-day free trial

Subscribe to The Config Report to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2026 JJ from The Config Report · Publisher Privacy ∙ Publisher Terms
Substack · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture