What is AWS CloudFormation?
AWS exposes well-defined APIs to manage resources in the cloud. When we trigger a command such as aws ec2 run-instances
, the CLI invokes the respective Elastic Compute Cloud (EC2) APIs in the background to perform desired actions. Enterprise-grade architectures require much more than just the creation of such resources. You want to define inter-dependencies between all the components, adapt the resources based on the environment’s type (development/production), seed them with initial data, and control and track any modifications on the entire stack. AWS CloudFormation simplifies all this by allowing the user to define their infrastructure resources with a YAML/JSON template. After adding all the resources to the file, you can manage the entire stack as a single unit. Provisioning and de-provisioning the entire unit is now a matter of running a single CloudFormation command, such as aws cloudformation deploy --template-file template.yml –stack...