Terraform vs. Pulumi vs. AWS CDK in 2026 · the IaC pick
All three describe cloud as code. The split is the language and the audience. Terraform / OpenTofu use HCL and a state file. Pulumi lets you write infrastructure in TS, Python, Go. AWS CDK targets AWS exclusively and synthesises CloudFormation.
Default OpenTofu (or Terraform if your team already pays HashiCorp) for multi-cloud infra owned by a platform team. Pulumi when application engineers also write infra in the same language as the app, or when loops, conditionals and tests in IaC matter more than HCL parity. AWS CDK if you are AWS-only and your team already lives in CloudFormation · do not pick CDK for multi-cloud. The most expensive mistake is picking the tool because of a conference talk and not the team's daily language.
When to pick which
Terraform / OpenTofu
- 01Multi-cloud or multi-provider infrastructure (AWS, GCP, Cloudflare, K8s)
- 02Platform team that thinks in modules, not application code
- 03You want a huge ecosystem of community modules and providers
- 04Reviewing a `plan` diff is the team's primary safety net
- 05Licensing matters · OpenTofu sidesteps HashiCorp BSL concerns
Pulumi
- 01App engineers write infra in the same language as the service
- 02You need real loops, conditionals, classes, and unit tests in IaC
- 03Stack composition feels natural · share types between app and infra
- 04Multi-cloud, but you want code that compiles instead of HCL
- 05You are willing to manage Pulumi state (self-host or Pulumi Cloud)
Factor-by-factor
| Factors to weigh | Terraform / OpenTofu | Pulumi |
|---|---|---|
| Language | HCL · declarative, narrow, predictable | TS, Python, Go, .NET · full programming language |
| State | S3 / Tofu Cloud / Terraform Cloud, well understood | Pulumi Cloud or self-hosted backend |
| Multi-cloud reach | Broadest ecosystem, every provider ships HCL | Strong, often via Terraform-bridged providers |
| AWS CDK (third lane) | n/a (Terraform CDK exists but rarely the right pick) | CDK is AWS-only, synthesises CFN, fast for AWS-pure shops |
| Testing | Plan diff + policy as code (OPA, Sentinel) | Real unit tests in your language of choice |
| Onboarding | HCL is small but yet another DSL to learn | Onboard via the language the team already knows |
| Hiring market | Largest pool · 'Terraform' on every CV | Smaller but growing, especially in TS shops |
| We recommend | Platform team default · multi-cloud, module-driven, plan-reviewed | App teams that want code; CDK only if you are AWS-only |
Let's get started.
Send an email or book a 30-minute call.