Pulumi
Infrastructure as code in general-purpose languages. Pulumi is an infrastructure-as-code tool that lets you define cloud resources in general-purpose languages such as TypeScript, Python, Go, C# and Java. Like Terraform, it compares desired state with real state and previews changes before applying them. State can be stored in Pulumi Cloud or in your own backend such as S3.
When it is the right choice
- Your team prefers to write infrastructure in a language they already use
- You need loops, abstractions and unit tests that are awkward in HCL
- You want to share infrastructure components as normal code packages
- Less suitable when your team or partners already standardise on Terraform; mixing tools adds overhead
How we use it
- Structure Pulumi projects and stacks per environment with reusable components
- Run preview on pull requests and update only from the pipeline
- Write unit tests for infrastructure code and policies for guardrails
- Keep state in a backend you control when that is a requirement
Pulumi: frequently asked
Pulumi or Terraform?
Both manage the same clouds. Pulumi suits teams that want real programming languages; Terraform has a larger ecosystem of examples and modules. The best choice usually depends on your team.
Do we have to use Pulumi Cloud?
No. Pulumi can keep state in your own object storage, though Pulumi Cloud adds features such as a web console and access controls.
Running Pulumi, or deciding whether to? Tell us what you have; the first consultation is free.
Let's talk »


