# AWS CloudFormation

> I hate it. Pulumi does the same job with real code.

- Verdict: Never
- Vendor: AWS
- Layer: [Infrastructure as code](https://cloudlesslabs.com/stack/layers/iac.md)
- Last reviewed: 18 October 2026, by Nicolas Dao (Cloudless Labs, Sydney)
- Web page: https://cloudlesslabs.com/stack/aws-cloudformation/. The whole stack in one file: https://cloudlesslabs.com/stack/brief.md

Never by choice.

## Don't use it when

- Always. Use Pulumi.

## Use instead

Pulumi: real code, an S3 backend, and every other vendor through Terraform providers.

## Alternatives

- [Pulumi](https://cloudlesslabs.com/stack/pulumi/index.md): Always.

## Where it fits

- [Provisioning everything](https://cloudlesslabs.com/stack/use-cases/infra.md): don't. 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).

## Related

- [Infrastructure as code](https://cloudlesslabs.com/stack/layers/iac.md): every tool in this layer, with its verdict
- [The whole stack in one file](https://cloudlesslabs.com/stack/brief.md): every use case and tool, for questions that span many
- [Map of every Markdown file on cloudlesslabs.com, with what each one answers](https://ask.cloudlesslabs.com)
