# Provisioning everything

> Infrastructure as code across AWS and every vendor. Nicolas Dao's picks for this job (Cloudless Labs, Sydney), in order of preference, what he would avoid, and what to use instead.

- Use case 14 of 21 in The Stack, last reviewed 21 October 2026
- Web page: https://cloudlesslabs.com/stack/use-cases/infra/

Picks, in order of preference:

1. **[Pulumi](https://cloudlesslabs.com/stack/pulumi/index.md)** (My default): Real code, S3 backend, and any Terraform provider.

Don't:

- ~~AWS CloudFormation~~: Never. YAML templates that only reach AWS. Pulumi does the same job in real code and provisions every other vendor too. Instead: [Pulumi](https://cloudlesslabs.com/stack/pulumi/index.md).

Worked example: [Pulumi everywhere](https://cloudlesslabs.com/stack/guides/pulumi-everywhere/index.md)

## The picks in brief

- [Pulumi](https://cloudlesslabs.com/stack/pulumi/index.md): My default. Infrastructure as real code. And it can use any Terraform provider, so nearly everything is provisionable from one codebase. Pricing: Free and open source with a self-managed S3 backend (no Pulumi Cloud fees).

## Related

- [Pulumi everywhere](https://cloudlesslabs.com/stack/guides/pulumi-everywhere/index.md): the worked example for this job, with costs
- [Infrastructure as code](https://cloudlesslabs.com/stack/layers/iac/index.md): every tool in this layer
- [Every use case and tool in one file](https://cloudlesslabs.com/stack/brief.md)
- [Map of every Markdown file on cloudlesslabs.com, with what each one answers](https://ask.cloudlesslabs.com)
