The best Terraform alternatives, compared honestly
Terraform is still the default way most teams provision cloud infrastructure — the provider ecosystem is unmatched and everyone can read HCL. Teams aren't leaving because it stopped working. They're leaving because of the 2023 BSL license change, the IBM acquisition, and per-resource pricing on the managed platform. Here's where they're going, by need.
The best Terraform alternative depends on what's actually bothering you:
- Keep HCL, drop the license baggage → OpenTofu — the drop-in, MPL-2.0 fork under the Linux Foundation.
- Write infrastructure in a real language → Pulumi (TypeScript, Python, Go, C#).
- All-in on one cloud → AWS CloudFormation or AWS CDK; Azure Bicep on Azure.
- Kubernetes-native, self-healing control plane → Crossplane.
- Configuration first, some provisioning → Ansible.
Why teams look elsewhere
What pushes teams off Terraform
The tool is fine — the trust and the bill are what changed. Two events reshaped the Terraform landscape: the August 2023 relicensing, and IBM's takeover of HashiCorp in February 2025.
The BSL license change
On August 10, 2023 HashiCorp moved Terraform from open-source MPL 2.0 to the Business Source License 1.1 (v1.6+). Internal use is fine, but the community reaction was immediate — and produced the OpenTofu fork.
The IBM era
IBM closed its $6.4B acquisition of HashiCorp on February 27, 2025. Roadmap and pricing now sit inside IBM's hybrid-cloud strategy — and by the time the deal closed, a Spacelift survey already had roughly 38% of Terraform users evaluating or migrating to OpenTofu.
Per-resource pricing
HCP Terraform bills by resources under management: $0.10 (Essentials), $0.47 (Standard) or $0.99 (Premium) per resource per month. A 2,000-resource estate lands between $200 and $1,980 a month at list price.
The free plan was restructured
The legacy user-based free plan was retired on March 31, 2026 — organisations were auto-migrated to a usage-based Free tier that still covers 500 managed resources with one concurrent run. New signups start on pay-as-you-go with a one-time $500 platform credit.
Features trimmed
Cost estimation — the feature that predicted the cloud bill of a plan before applying it — was removed from all HCP Terraform tiers after the pricing restructure.
The HCL ceiling
HCL handles loops and conditionals through workarounds, and Terraform only fixes drift when you run a plan. Teams wanting real languages go to Pulumi or CDK; teams wanting continuous reconciliation go to Crossplane.
The shortlist
7 Terraform alternatives worth trying
Ranked for a typical multi-cloud team leaving over the license or the bill. Your ranking will shift with your constraints — single cloud, existing Kubernetes, team language preferences — so we've noted the honest weakness on each.
The Linux Foundation fork of Terraform 1.5.x — same HCL, same providers, same state, MPL-2.0 forever. Adds state encryption, provider for_each and OCI registries, and ships releases faster than upstream. Migration is usually just swapping the binary. Weakness: no first-party managed platform — bring your own backend and CI.
Infrastructure in TypeScript, Python, Go, C# or Java — loops, types, tests and IDE support included. Apache-2.0 engine, reuses most Terraform providers via a bridge. Weakness: Pulumi Cloud is also per-resource (~$0.18/resource/mo on Team after ~200 free); self-managing state means DIY locking and secrets.
Amazon's own declarative IaC — the service is free, state is managed by AWS, drift detection is built in, and it's the compliance-friendly default on AWS. Weakness: AWS-only, 500 resources per stack, and large stacks deploy slowly.
Define AWS infrastructure in real languages; the CDK synthesizes CloudFormation under the hood. Free and open source (Apache-2.0). Weakness: it inherits every CloudFormation limit — rollback behaviour, stack caps — and only ever targets AWS.
Microsoft's free, MIT-licensed DSL that compiles to ARM templates — day-0 support for new Azure resources and no state file to manage (ARM is the source of truth). Weakness: Azure-only by design.
CNCF-graduated (October 2025) control plane that manages cloud infrastructure as Kubernetes APIs, with continuous reconciliation that heals drift automatically — something plan/apply tools can't do. Weakness: you need Kubernetes and a platform team; the learning curve is the steepest here.
The configuration-management standard, with provisioning modules for every major cloud. Agentless and easy to start. Weakness: procedural push model with no plan/state semantics — most teams pair it with an IaC engine rather than replacing one.
Also worth a look: Spacelift, env0, Scalr and the open-source Atlantis — they don't replace Terraform, they orchestrate Terraform/OpenTofu runs if what you actually want is a better platform, not a different engine.
Side by side
Terraform alternatives compared
The top row is Terraform itself, for reference. "Managed offering" is what the vendor's paid platform costs — every tool below also runs free from your own machine or CI.
| Tool | License | Config model | Multi-cloud | State & drift | Managed offering | Best for |
|---|---|---|---|---|---|---|
| Terraform (reference) | BSL 1.1 (since v1.6) | HCL | ✓ | State file; drift found on plan | HCP: 500-resource free tier, then $0.10–$0.99/resource/mo | Staying put; HCP platform features |
| OpenTofu | MPL-2.0 (Linux Foundation) | HCL (same providers) | ✓ | Same as Terraform + state encryption | None needed — free CLI, BYO backend | Drop-in Terraform replacement |
| Pulumi | Apache-2.0 (engine) | TS / Python / Go / C# / Java / YAML | ✓ | Self-managed (S3 etc.) or Pulumi Cloud | Cloud: free individual; Team ~200 resources free, then ~$0.18/res/mo | Teams that want real code |
| AWS CloudFormation | Proprietary service | JSON / YAML | ✗ AWS | Managed by AWS; drift detection built in | Free (pay for resources) | AWS-only, compliance-heavy shops |
| AWS CDK | Apache-2.0 | TS / Python / Java / Go / C# → CFN | ✗ AWS | Via CloudFormation | Free | AWS developers who want code |
| Azure Bicep | MIT | Bicep DSL → ARM | ✗ Azure | No state file — ARM is source of truth | Free | Azure-only shops |
| Crossplane | Apache-2.0 (CNCF graduated) | Kubernetes CRDs / YAML | ✓ | Continuous reconciliation; auto-heals drift | Free OSS (Upbound optional) | Platform teams on Kubernetes |
| Ansible | GPLv3 (core) | YAML playbooks (procedural) | ✓ | Stateless — describes tasks, not state | AWX free; Red Hat AAP subscription | Config management first |
Pricing models and free tiers change often — check each vendor for current terms. Compiled July 2026 from each vendor's official pricing and documentation pages.
Official pages: OpenTofu · Pulumi · AWS CloudFormation · AWS CDK · Azure Bicep · Crossplane · Ansible · HCP Terraform pricing
None of these tools replaces the pipeline that runs them. Whichever engine you pick — Terraform, OpenTofu, Pulumi — most teams execute plan on pull request, apply behind an approval from CI, with state in their own backend and zero per-resource fees. Buddy is a CI/CD platform that runs any of them in Docker-based pipelines with manual approval gates, encrypted secrets, and pipelines defined as code. We build this site, so weigh the recommendation accordingly — but it's a genuinely common way to run IaC without paying per resource.
A fair call
When Terraform is still the right choice
Migrating an IaC estate is real work, even when the target is a drop-in fork. Sometimes staying is the rational move.
Terraform is still fine if…
- The BSL genuinely doesn't affect you — internal provisioning isn't restricted, and most companies never hit the "competing offering" clause.
- You rely on HCP Terraform platform features — Sentinel policies, no-code provisioning, the private registry — and the RUM bill is acceptable.
- Enterprise support under IBM is a plus for your procurement, not a minus.
- Hiring and onboarding matter most — Terraform is still the biggest talent pool in IaC.
Consider an alternative if…
- License or vendor risk keeps coming up in reviews → OpenTofu is the lowest-effort exit.
- The per-resource HCP bill grows faster than your infrastructure → OpenTofu with your own backend, run from CI.
- Your team would rather write TypeScript or Python than HCL → Pulumi (or AWS CDK if you're AWS-only).
- You live in one cloud → CloudFormation/CDK on AWS, Bicep on Azure.
- You're a platform team standardising on Kubernetes → Crossplane.
Common questions
Terraform alternatives — common questions
Is Terraform still free to use?
The Terraform CLI is free to download and use, including in production. Since version 1.6 (August 2023) it's licensed under the Business Source License 1.1, which only restricts using Terraform to build a product or service that competes with HashiCorp's commercial offerings; each release reverts to open source (MPL 2.0) after four years. What costs money is HCP Terraform, the managed platform, which bills $0.10 to $0.99 per managed resource per month depending on tier.
Is OpenTofu a drop-in replacement for Terraform?
For most configurations, yes. OpenTofu forked from Terraform 1.5.x and keeps the same HCL syntax, the same providers and the same state format — migration is usually swapping the terraform binary for tofu, and only the version marker in the state file changes on the first apply. The OpenTofu registry mirrors the Terraform registry with 3,900+ providers and 23,600+ modules as of mid-2026. Deep integrations with HCP Terraform itself are the main thing that doesn't carry over.
Why did OpenTofu fork from Terraform?
On August 10, 2023, HashiCorp relicensed Terraform from the open-source MPL 2.0 to the Business Source License 1.1, which forbids building competing commercial services on it. In response, a group of vendors and contributors forked Terraform 1.5.x as OpenTofu, now maintained under the Linux Foundation with the original MPL 2.0 license and community governance.
What changed for Terraform after IBM bought HashiCorp?
IBM completed the $6.4 billion acquisition of HashiCorp on February 27, 2025. Since then the legacy user-based free plan was retired (March 31, 2026) in favour of a usage-based Free tier that still covers 500 managed resources with one concurrent run — new signups start on pay-as-you-go with a one-time $500 platform credit. The built-in cost-estimation feature was removed from all tiers, and pricing consolidated into Essentials ($0.10), Standard ($0.47) and Premium ($0.99) per resource per month. The CLI itself remains free under the BSL.
Should I use Pulumi or Terraform?
Choose Pulumi if your team prefers writing infrastructure in real programming languages — TypeScript, Python, Go, C# or Java — with loops, types, tests and IDE support. Its Apache-2.0 engine can reuse most Terraform providers through a bridge. Stay with Terraform or OpenTofu if your team already thinks in HCL, or if you rely on the huge body of existing HCL modules and examples. Both are multi-cloud and both can store state yourself or in a paid SaaS.
Do I need HCP Terraform (Terraform Cloud) to run Terraform?
No. Terraform and OpenTofu run fine from a laptop or any CI pipeline with a self-managed state backend such as S3, GCS or Azure Blob — you pay nothing per resource that way. HCP Terraform adds a managed platform (remote runs, policies, registry). If you want platform features without per-resource pricing, dedicated orchestrators like Spacelift, env0, Scalr or the open-source Atlantis run Terraform and OpenTofu with different pricing models.
What is the best Terraform alternative for a single cloud?
If you're all-in on one cloud, the native tools are hard to beat on price and support: AWS CloudFormation (declarative JSON/YAML) or AWS CDK (real programming languages that compile to CloudFormation) on AWS, and Azure Bicep on Azure. All three are free — you pay only for the resources they create. Their trade-off is lock-in: none of them will ever manage another cloud.