AWS CloudFormation Documentation
AWS CloudFormation enables you to model a collection of related AWS and third-party resources, provision those resources, and manage them throughout their lifecycles, by treating infrastructure as code.
Extensibility
Using the AWS CloudFormation Registry, you are enabled to model and provision third-party resources and modules. Examples of third-party resources are monitoring, team productivity, incident management, and version control tools, along with resources from APN Partners.
You are enabled to build your own resource providers using the AWS CloudFormation CLI, an open-source tool that helps streamline the development process, including local testing and code generation capabilities.
Cross account & cross-region management
CloudFormation enables you to provision a common set of AWS resources across multiple accounts and regions.
Authoring
CloudFormation enables you to model your cloud environment in text files. You can use open-source declarative languages to describe what AWS resources you want to create and configure.
Authoring with familiar programming languages
With the AWS Cloud Development Kit (AWS CDK), you are enabled to define your cloud environment using familiar programming languages, and then provision your infrastructure using CloudFormation directly from your IDE AWS CDK.
Safety controls
CloudFormation helps with provisioning and updating your infrastructure. You are enabled to specify the CloudWatch alarms that CloudFormation should monitor during the stack creation and update process. If alarms are triggered, CloudFormation is designed to roll back the stack operation to a previously deployed state.
Using ChangeSets, you are enabled to preview the proposed changes that CloudFormation intends to make to your infrastructure and application resources prior to execution. CloudFormation is designed to determine the operations to perform, provisions resources, and rolls back if errors are encountered. This is designed to return the state of your infrastructure and application resources to the last known state. Using Drift Detection, you are enabled to keep track of changes to resources outside CloudFormation.
Preview changes to your environment
Change Sets are designed to allow you to preview how proposed changes to a stack might affect your running resources. CloudFormation is designed to make the changes to your stack after you decide to execute the Change Set.
Dependency management
AWS CloudFormation is designed to manage dependencies between your resources during stack management actions. CloudFormation is designed to support determining the correct sequence of actions to take for each resource when performing stack operations.
Git management of stacks
AWS CloudFormation is designed to support updating a stack from a CloudFormation template stored in a remote Git repository. It is designed to allow you to know if a stack deployment succeeded or failed.
Additional Information
For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.