Open Source AWS CloudFormation Alternatives
A curated collection of the 2 best open source alternatives to AWS CloudFormation.
The best open source alternative to AWS CloudFormation is OpenTofu. If that doesn't suit you, we've compiled a ranked list of other open source AWS CloudFormation alternatives to help you find a suitable replacement. Other interesting open source alternative to AWS CloudFormation is Pulumi.
AWS CloudFormation alternatives are mainly Cloud Infrastructure Management. Browse these if you want a narrower list of alternatives or looking for a specific functionality of AWS CloudFormation.
A community-driven infrastructure as code tool for building, changing and versioning infrastructure across cloud providers and in-house systems.

OpenTofu describes infrastructure in a high-level configuration syntax and applies it safely and efficiently. The blueprint of a datacenter becomes a file you version, review and reuse like any other code, which pulls provisioning out of the realm of undocumented console clicks and tribal memory.
Changes are never applied blind. A planning step generates an execution plan showing exactly what will happen before anything is touched, and a resource graph resolves dependencies so that unrelated resources are created and modified in parallel. Popular service providers and custom in-house solutions are managed through the same mechanism.
Four properties carry most of the value.
- Infrastructure as code: configuration is versioned, shared and reused the way source is.
- Execution plans: the plan step shows what apply will do, which removes surprises.
- Resource graph: dependencies are computed and non-dependent work runs in parallel.
- Change automation: complex changesets apply with minimal human interaction and in a known order.
Development happens in the open, with community meetings every Wednesday, a technical steering committee every other Tuesday, and day-to-day discussion in a channel on the CNCF Slack. The tool is distributed under the Mozilla Public License v2.0. Nightly builds of the main branch are published for anyone testing unreleased changes, though they are experimental, removed after thirty days and explicitly not meant for production.
Infrastructure as code in general purpose languages, for teams that would rather write TypeScript, Python or Go than YAML.

Pulumi builds and deploys cloud infrastructure using programming languages you already write, which removes the YAML dialect and the templating tricks that come with it. Loops, functions, classes and package managers work the way they do everywhere else in your codebase.
You describe resources in code and Pulumi provisions and manages them on AWS, Azure, Google Cloud, Kubernetes and more than 300 providers in its registry. Running pulumi up computes the minimal difference between your program and the deployed state, and pulumi destroy removes everything that program created.
This repository holds the CLI, the language SDKs and the core engine.
- Languages: JavaScript, TypeScript, Python, Go, .NET with C#, F# and VB.NET, Java and YAML are all stable.
- Templates: pulumi new scaffolds a project for any supported language and cloud.
- Unified logs: pulumi logs streams output from containers and functions in one command.
- Automation API: embeds infrastructure as code inside your own programs instead of a CLI workflow.
- Secrets management: Pulumi ESC handles secrets and configuration across infrastructure and applications.
Installation is a single shell script, and the individual provider libraries live in repositories of their own. Pulumi is Apache 2.0 licensed and built to be extended, which suits teams standardising infrastructure across several clouds and languages at once.