The Cliff of Infrastructure as Code

By Paul Stack
12/11/2025

When IaC Made Sense

I have spent much of my career building Infrastructure as Code (Iac). I was part of the teams behind Terraform and Pulumi, tools that helped define how we manage cloud infrastructure today. We believed the cloud needed something familiar and disciplined, a way to bring the best ideas from software engineering into operations. For a long time, that was exactly the right instinct. IaC brought order where there was none. It gave teams a common language to describe systems, a repeatable way to deploy them, and a path out of the snowflake era.

But the world IaC was built for no longer exists.

When IaC arrived, the big problem was consistency. Environments drifted constantly. Servers mutated by hand. Deployments were unpredictable or outright dangerous. IaC answered that moment with a single description of infrastructure that could be versioned, reviewed, and reapplied anywhere. It perfectly fit the early DevOps era, when the goal was standardization and stability.

The World That Outpaced IaC

Cloud infrastructure today behaves very differently. It rarely stays still long enough for a static description to capture it. Auto scalers replace machines every hour, cloud providers adjust resources behind the scenes, pipelines deploy continuously, and security systems rotate credentials automatically. When something breaks, the fastest path to recovery is often for a person to open the console and fix it directly.

The idea of a single declarative place that governs everything no longer matches the reality of modern systems and their complexity. This is the cliff of Infrastructure as Code, the moment where declarative intent cannot keep pace with the constantly shifting world of Day 2 operations.

Where IaC Meets Its Limits

Day 2 operations are everything that happens after a system works once. Restarts, rollbacks, migrations, credential rotations, capacity adjustments, and emergency fixes. These are not statements of desired state, they are actions driven by context, timing, and urgency. IaC tools can describe what the world should look like, but they cannot reason about what is happening, why it is happening, or what should happen next. IaC was never meant to manage these type of operations.

As the world evolved, IaC accumulated workarounds instead of capabilities. Imports, plan diffs, state juggling, and partial applies all point to a model trying to describe systems that change themselves. Databases, caches, and storage layers introduce real state and history that declarative syntax cannot safely express. Automation becomes brittle at the edges, and teams fill the gaps with scripts, runbooks, and ad hoc workflows.

IaC is not wrong, it is simply being stretched beyond the assumptions it was built on.

A Different Foundation

We need a new primitive for the world we operate in today. At System Initiative, this is moving from static configuration to a real-time digital representation of infrastructure. Instead of relying on snapshots or state files, the system continually maintains a model of what exists, how the components relate to each other, and how changes ripple through the environment.

Declared intent still matters, but it is paired with observed reality, not as an afterthought but as a core part of the system. This pairing enables something IaC was not designed for: safe action. You can restart, snapshot, migrate, or rotate resources with the system aware of dependencies and timing. You can adjust infrastructure and see the impact ahead of time through a full-fidelity simulation.

Our dynamic templates behave more like macros instead of sealed boxes. You can run them, inspect the resources they produce, and work directly with those resources. Refactoring becomes safe and collaboration becomes natural again. People work with the infrastructure rather than fight against it.

Beyond The Cliff

Infrastructure as Code brought much needed structure to an earlier era. It shaped how teams thought about the cloud, and I am proud of the role I played in that evolution. But today’s infrastructure is dynamic, distributed, and constantly changing. It requires tools that see and understand those changes, not tools that hope they do.

The digital twin, the real-time simulation, is that new primitive. It complements what IaC started and extends it into a world where infrastructure behaves more like a living system than a static declaration. IaC carried us to the edge of what was possible. System Initiative builds what comes after the cliff.

Paul Stack, Director of Product

Paul is an engineer turned product manager who is passionate about the Continuous Delivery and DevOps movements and how they are critical in helping businesses deliver value to their customers.

Get started for free.

Sign Up