Infrastructure as Code: Stop Fixing Networks (Start Replacing Them)
IaC Series – Issue 5 of 6: When Your Network Becomes Software
🧠 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.


