AWS CloudFormation
AWS CloudFormation is Amazon Web Services' infrastructure-as-code service for defining, provisioning, and managing AWS resources through declarative templates.
Last updated August 28, 2026
Overview
AWS CloudFormation is an infrastructure-as-code service within Amazon Web Services that lets customers describe AWS infrastructure in templates and use those templates to create, update, and delete related resources as managed stacks. Rather than configuring every resource manually through a console or issuing individual API calls, users can express desired infrastructure in YAML or JSON and ask CloudFormation to orchestrate the required operations. The service is designed to make infrastructure repeatable, reviewable, and suitable for automation across development, testing, and production environments. CloudFormation's central abstraction is the stack. A template can declare resources such as Amazon Elastic Compute Cloud instances, Amazon Simple Storage Service buckets, Amazon Virtual Private Cloud components, AWS Lambda functions, databases, permissions, and many other supported services. CloudFormation determines dependencies between resources and generally provisions them in an order that respects those relationships. During updates, it compares the declared configuration with the existing stack and applies a change set, allowing teams to inspect proposed modifications before execution. Stack deletion can remove managed resources together, subject to retention and deletion policies. The service supports parameters, mappings, conditions, outputs, intrinsic functions, nested stacks, cross-stack references, and reusable components. These features allow organizations to create templates that work across accounts, regions, and environments while keeping environment-specific values separate from the infrastructure definition. CloudFormation also provides drift detection, which helps identify changes made outside the service, although drift detection does not automatically repair every difference. StackSets extend deployment across multiple AWS accounts and Regions, while the CloudFormation Registry and third-party resource providers broaden the types of resources that can be managed through the CloudFormation model. CloudFormation is part of a wider AWS automation ecosystem. It integrates with services such as AWS Identity and Access Management, AWS CodePipeline, AWS CodeBuild, AWS Service Catalog, and AWS Systems Manager. AWS Cloud Development Kit applications can synthesize higher-level programming-language constructs into CloudFormation templates, making CloudFormation the deployment engine underneath many CDK workflows. AWS also offers application-oriented tooling, including the AWS Serverless Application Model, that produces or relies on CloudFormation resources. Its main audience includes platform engineering teams, DevOps practitioners, cloud architects, application developers, and enterprises operating standardized multi-account environments. The brand is positioned around declarative provisioning, repeatability, governance, and native integration with AWS, rather than as a general-purpose cloud management platform. Its principal trade-offs are the complexity of large templates, the need to understand AWS resource behavior and permissions, and the fact that CloudFormation is primarily optimized for AWS environments. The service remains active and is offered globally as part of AWS's cloud infrastructure management portfolio.
History
AWS CloudFormation was introduced by Amazon Web Services in 2011 as a service for defining AWS infrastructure in templates and provisioning the resulting resources as coordinated stacks. Its launch addressed a recurring problem in cloud operations: manually configuring a collection of dependent resources is slow, difficult to reproduce, and prone to differences between environments. By representing infrastructure as code, CloudFormation gave AWS customers a way to retain an explicit description of an environment and reuse it for development, testing, and production deployments. The original model centered on templates, resources, parameters, outputs, and stacks. A stack grouped resources that were created and managed together, while the service handled dependencies and exposed the lifecycle of the deployment. Over time, CloudFormation added update workflows and change sets, allowing users to preview proposed modifications before applying them. This made the service useful not only for initial provisioning but also for controlled infrastructure changes. Policies such as resource retention and replacement behavior provided additional protection for stateful resources and production systems. As customers adopted AWS across larger organizations, CloudFormation expanded beyond single-account, single-Region scenarios. Nested stacks and cross-stack references helped teams divide large configurations into reusable or separately managed components. Drift detection addressed the operational reality that resources can be changed outside the template, helping teams compare declared configuration with observed resource state. StackSets extended centralized administration to multiple accounts and Regions, an important capability for organizations using AWS Organizations and standardized landing zones. CloudFormation's scope also broadened through integration and extensibility. The CloudFormation Registry introduced a public model for resource types and providers, allowing additional services and third-party resources to be represented in CloudFormation templates. Modules offered reusable abstractions for recurring infrastructure designs. AWS service teams continued adding resource types and template features, while tools such as the AWS Serverless Application Model and AWS Cloud Development Kit generated CloudFormation-compatible deployments. In this arrangement, developers may work with higher-level application or programming-language abstractions while CloudFormation performs the underlying AWS resource orchestration. The service became a foundational component of AWS's DevOps and platform-engineering portfolio. It is used in automated delivery pipelines, account provisioning, governance frameworks, disaster-recovery designs, and repeatable application environments. CloudFormation's native AWS integration is a major strength, particularly for customers that want permissions, service features, and deployment lifecycle management represented in one AWS-centered system. At the same time, its template syntax and resource-specific behavior can make large deployments complex, and its primary orientation toward AWS distinguishes it from cloud-agnostic infrastructure tools. AWS CloudFormation remains an active managed service, supplemented by related AWS tools rather than replaced by them.
- 2020CloudFormation modules become available
Modules provide reusable infrastructure patterns for CloudFormation templates.
- 2019CloudFormation Registry reaches general availability
The Registry and resource provider model allow additional resource types to be managed through CloudFormation.
- 2017StackSets becomes available
StackSets enables centralized deployment and management of CloudFormation stacks across accounts and Regions.
- 2011CloudFormation launches
AWS introduces a template-driven service for provisioning collections of AWS resources as managed stacks.
Products and positioning
A native AWS infrastructure-as-code and resource-orchestration service focused on declarative provisioning, repeatable deployments, change control, and governance across AWS environments.
CloudFormation templatesInfrastructure as code2011
YAML or JSON documents that declare AWS resources and their configuration. Templates can include parameters, mappings, conditions, outputs, intrinsic functions, metadata, and references between resources. They form the durable, reviewable definition used to create and update CloudFormation stacks.
CloudFormation stacksResource orchestration2011
Managed collections of AWS resources created from a template. CloudFormation tracks stack resources and coordinates creation, update, and deletion operations, subject to dependencies and configured policies. Stacks are the primary operational unit for managing a template-defined environment.
Change setsChange management
Preview representations of proposed stack changes. Change sets help operators review additions, modifications, replacements, and deletions before execution. They are particularly useful for production governance, although the preview cannot guarantee the outcome of every resource operation.
StackSetsMulti-account deployment2017
A CloudFormation capability for deploying the same or related stack definitions across multiple AWS accounts and Regions. StackSets supports centralized administration and is used for standardized configurations, organizational controls, and repeatable infrastructure distribution.
CloudFormation Registry and modulesExtensibility and reuse2019
The Registry provides a model for resource types and providers, while modules package recurring infrastructure patterns for reuse. Together they extend CloudFormation beyond individually authored templates and help teams standardize resource definitions across projects.
Flagship businesses
- CloudFormation stacks
- CloudFormation templates
- Change sets
- StackSets
- CloudFormation Registry
Brand decisions
- 2019Expansion through the CloudFormation RegistryStrategy
Cloud infrastructure teams wanted a common provisioning workflow for AWS services and selected third-party resources.
What changed. AWS introduced a Registry and provider model for extending the resource types that CloudFormation can manage.
Aftermath. CloudFormation's role expanded from an AWS-authored template service toward an extensible resource-management framework.
- 2017Launch of StackSetsProduct launch
Large AWS customers increasingly needed to apply consistent infrastructure definitions across organizational accounts and geographic Regions.
What changed. AWS introduced StackSets as a centralized way to create, update, and manage CloudFormation stacks across multiple accounts and Regions.
Aftermath. CloudFormation became more suitable for multi-account governance and standardized enterprise deployment patterns.
Recent events
- 2020AWS adds CloudFormation modules for reusable infrastructure patterns
CloudFormation modules provided a way to package and reuse commonly deployed groups of resources while preserving CloudFormation's template-based workflow.
Product launch - 2019CloudFormation Registry expands resource extensibility
AWS introduced the CloudFormation Registry and resource provider model, enabling AWS and third-party providers to make additional resource types available through CloudFormation.
Product launch - 2017CloudFormation adds StackSets for multi-account and multi-Region deployment
AWS announced StackSets, extending CloudFormation so administrators could deploy and manage stacks across multiple AWS accounts and Regions from a central operation.
Product launch - 2011AWS introduces CloudFormation as an infrastructure management service
AWS launched CloudFormation to let customers model and provision collections of AWS resources using templates, with the resulting resources managed as stacks.
Product launch
Sources
Cite this profile: Cite the canonical profile. /brand-wiki/aws-cloudformation · Editorial policy · How profiles are compiled