If Terraform is so great, why isn't anyone using it anymore?

sebkow1 pts1 comments

If Terraform is so great, why isn’t anyone using it anymore? | by Sebastian Kowalczyk | Jul, 2026 | MediumSitemapOpen in appSign up<br>Sign in

Medium Logo

Get app<br>Write

Search

Sign up<br>Sign in

If Terraform is so great, why isn’t anyone using it anymore?

Sebastian Kowalczyk

7 min read·<br>Just now

Listen

Share

Press enter or click to view image in full size

Terraform is not dead. Let’s get that out of the way.<br>I was a Terraform advocate for over 10 years. I have used it across startups, large organizations, and enough weird infrastructure edge cases to know where it shines and where it starts to hurt.<br>Terraform earned its place. It changed how teams thought about infrastructure. It gave us a declarative way to define cloud resources, review changes, version infrastructure, and stop clicking around in cloud consoles.<br>But defaults deserve to be challenged.<br>Most infrastructure tools are fine. They all have quirks. They all get the job done. But after using Pulumi seriously for around 2 years, I think it is the best iteration of infrastructure as code I have used to date.<br>Not because Terraform suddenly became bad .<br>Because infrastructure has changed.<br>Modern infrastructure is no longer just about provisioning resources. It is about building platforms, creating reusable patterns, supporting multiple environments, adding guardrails, testing changes, and operating systems over time.<br>That is the gap Pulumi fills.<br>Infrastructure Has Changed<br>For a long time, Terraform was the obvious answer.<br>But infrastructure is more complex now.<br>Teams are managing Kubernetes, cloud networking, IAM, CI/CD systems, observability, preview environments, internal platforms, and the glue between them.<br>Modern infrastructure has conditions, reusable patterns, environment-specific logic, validation, testing, and platform abstractions. You can do some of this in Terraform, but once the system gets complex enough, it can start to feel like you are working around HCL instead of building infrastructure.<br>The problem is not that Terraform cannot do these things. The problem is that the shape of the work starts to look less like configuration and more like software.<br>Infrastructure as code is no longer just about declaring resources. It is about building reusable systems that other engineers can safely use.<br>That is why real programming languages matter.<br>With Pulumi, you use languages like TypeScript, Python, Go, C#, and others.<br>The argument is not that programming languages are always better.<br>They are not.<br>The argument is that once your infrastructure becomes platform-shaped, using a real language becomes a feature, not a liability.<br>Terraform treats infrastructure like configuration.<br>Pulumi treats infrastructure like software.<br>That difference did not matter as much when infrastructure was simpler. It matters a lot more when infrastructure becomes a platform.<br>Why Pulumi Is Winning Now<br>Terraform did not become bad overnight. What changed is the environment around it.<br>I think three things changed.<br>First, Pulumi matured. When I first tried Pulumi, it felt like a wrapper around Terraform, and honestly, it kind of was. That is not how it feels today.<br>Second, Pulumi introduced Any Terraform Provider, which helps close one of the biggest gaps Pulumi had: missing providers. For a long time, Terraform’s provider ecosystem was one of the strongest reasons to stay with Terraform. That argument is much weaker now.<br>Third, AI lowered the coding barrier. Pulumi used to scare off some traditional infrastructure and operations folks because it meant writing real code. That is less true now. AI makes it much easier to write, understand, refactor, and test code.<br>Pulumi Is Not More Complicated. Bad Abstractions Are.<br>The funny thing is when I talk to colleagues and friends about Pulumi, a lot of them still say the same thing.<br>“It seems difficult.”<br>“It does not make sense to use.”<br>“It makes infrastructure harder to read.”

Press enter or click to view image in full size

Discord conversationA recent Discord conversation with a friend made this click for me. We were talking about Pulumi, and the concern was basically that once you use a real programming language, your infrastructure becomes harder to understand.<br>I lost my mind.<br>Not because the concern is stupid, but because I think a lot of people misunderstand how modern infrastructure as code can be written.<br>Generally speaking, there are two ways people think about IaC: declarative and programmatic.<br>Terraform is mostly declarative. You describe the end state you want, and Terraform figures out how to get there.<br>Pulumi gives you a programmatic language, but that does not mean your infrastructure has to become a pile of complicated logic. You can still keep the interface declarative. You can define simple config, simple inputs, and simple patterns, then only use programmatic logic where it actually helps.<br>That distinction matters.<br>A simple example is creating an internal subnet.<br>export function...

infrastructure terraform pulumi like using changed

Related Articles