Pulumi vs Terraform: choosing your IaC tool
Real programming languages vs HCL: how state handling, unit testing, blast radius, and your team's skills should decide between Pulumi and Terraform.
Pulumi and Terraform solve the same problem — declarative, stateful infrastructure — but disagree on the language. Terraform uses HCL, a purpose-built config DSL; Pulumi uses real languages (TypeScript, Python, Go, C#). The right choice is mostly about your team and your testing needs, not features.
Reach for Pulumi when
Your team is engineers who want loops, abstractions, and real unit tests around infrastructure; or you are generating lots of similar resources where HCL's for_each starts to strain.
Reach for Terraform when
You want the largest provider/module ecosystem, a plan output that ops and auditors can read without knowing a programming language, and the biggest hiring pool. OpenTofu gives you the same with an open-source license.