Member-only story
Why We Replaced Terraform with Bash — and It Saved Us Thousands (But Not Without Pain)
There’s a certain point in your infra journey when Terraform starts to feel like a rite of passage. Everyone uses it. It’s the “professional” thing to do. Hell, it’s even in job descriptions now.
We felt the same.
Until we didn’t.
Because somewhere along the way, we realized our actual needs didn’t match the complexity Terraform brought with it. It wasn’t that Terraform is bad — it just became overkill for what we were actually doing. And maintaining it started costing us more than the value it gave.
So yeah. We replaced Terraform with Bash scripts.
And surprisingly, we’re not regretting it.
Let me walk you through the whole thing — the good, the bad, and the slightly embarrassing.
How We Got Here
A year ago, we had Terraform modules for everything:
S3 buckets, Route53 records, CloudFront distributions, IAM policies, you name it.
Back then, it made sense. We were setting up a lot, breaking things often, and needed to stay sane. Terraform helped us build with guardrails.