What is AWS CloudFormation?
AWS CloudFormation
AWS CloudFormation is a service that helps you to model and set up your Amazon Web Services resources with the goal that you can invest less time dealing with those resources and additional time concentrating on your applications that run in AWS. You develop a template that portrays all the AWS resources that you need (like Amazon EC2 instances or Amazon RDS DB instances), and AWS CloudFormation deals with provisioning and configuring those resources for you. You don't have to exclusively create and configure AWS resources and figure out what's reliant on what; AWS CloudFormation handles all of that.
Features :
AWS CloudFormation gives developers and systems administrators a simple method to make and manage a collection of related AWS resources, provisioning and updating them in an organized and predictable fashion. You can utilize AWS CloudFormation's sample templates or make your own templates to depict the AWS resources, and any related conditions or runtime parameters, required to run your application. You don't have to figure out the order for provisioning AWS services or the subtleties of making those conditions work. CloudFormation deals with this for you. After the AWS resources are deployed, you can modify and update them in a controlled and predictable manner, as a result applying version control to your AWS framework the same way you do with your software.
Extensibility
Utilizing the AWS CloudFormation Registry, you can model, provision, and manage third party application resources along with AWS resources with AWS CloudFormation. Instances of third party resources are monitoring, group productivity, incident management, and version control tools.
You can create your own resource providers utilizing the AWS CloudFormation CLI, which is an open-source tool that smoothes the improvement procedure and incorporates local testing and code generation capabilities.
Authoring with JSON/YAML
AWS CloudFormation permits you to display your whole infrastructure in a text file. You can use JSON or YAML to depict what AWS resources you need to build and manage. On the off chance that you want to design visually, you can use AWS CloudFormation Designer to assist you, to begin with, AWS CloudFormation templates.
Safety Controls
AWS CloudFormation robotizes the provisioning and updating of your framework in a safe and controlled way. There are no manual steps or controls that can lead to errors. You can utilize Rollback Triggers to indicate the CloudWatch alarm that CloudFormation should monitor during the stack creation and update process. On the off chance that any of the alarms are breached, CloudFormation rolls back the whole stack operation to a previous deployed state.
Authoring with familiar programming languages
With the AWS Cloud Development Kit (AWS CDK) you can define your application utilizing TypeScript, Python, Java, and .NET. AWS CDK is an open-source software development framework that helps you model your cloud application resources using recognizable programming languages, and afterward, provision your framework utilizing AWS CloudFormation directly from your IDE. CDK gives you high-level components that preconfigure cloud resources with demonstrated defaults, so you can construct cloud applications without being a specialist.
Preview changes to your environment
AWS CloudFormation Change Sets permit you to preview how proposed changes to a stack may affect your running resources. For instance, regardless of whether your changes will erase or replace any critical resources. AWS CloudFormation makes the changes to your stack only after you choose to execute the Change Set.
Cross account and cross-region management
AWS StackSets that lets you provision a common set of AWS resources over various accounts and regions with a solitary CloudFormation template. StackSets deals with automatically and safely provisioning, updating, or deleting stacks in numerous accounts and over different regions. This gives a similar level of automation, repeatability, and reliability to stack the management operations across regions and accounts.
Dependency management
AWS CloudFormation automatically manages conditions between your resources during stack management actions. You don't have to stress over-specifying the order in which resources are created, updated, or deleted. CloudFormation determines the right sequence of actions to use for every resource when performing stack operation.