If you have more than a few Amazon Web Services (AWS) resources, it can be tricky to manage them all individually.
AWS CloudFormation to the rescue!
AWS CloudFormation is a tool. It provisions and manages AWS resources together as a stack. A stack is a logical group of resources (you get to choose the logic). For example: all the computing elements needed for an application might be in one stack, including networks, storage, databases, code, etc.
It works like this:
- You define a stack of resources (and their dependencies) by creating a template. A template is just a flat file (YAML or JSON format) where you describe all the stack’s resources.
- You invoke AWS CloudFormation, giving it your stack’s template file.
- CloudFormation provisions all the resources you’ve declared in the template.
* If the stack already exists and your template contains updates to the stack, then CloudFormation makes those changes.
Here are just a few benefits of using AWS CloudFormation:
All for one and one for all
AWS CloudFormation creates and deletes all stack resources together, and manages all resource inter-dependencies for you. This not only saves you time, but the chance of human error is greatly reduced.
By having all the logical resources together in a template, the template becomes a reliable document for your infrastructure: the document of ‘truth’.
Also, you can use a standard template for all your projects or across your organization. This helps to facilitate standardization compliance, making troubleshooting easier.
By using AWS CloudFormation, you are codifying your computing infrastructure.
Why would you want to codify infrastructure?
Codifying enables you to treat system frameworks like program code. For example:
- write, troubleshoot and rollback your computing systems
- use version control on your templates, like any other program
- facilitate automation
- implement a reliable lifecycle for your infrastructure
- reuse code with different parameter values to reliably duplicate computing environments
You can use rollback triggers to specify CloudWatch alarms that CloudFormation will monitor during creation and updates. If any alarms are triggered, CloudFormation will roll back the entire stack. (Just another part of the ‘one for all and all for one’ concept.)
Management Console vs Command Line
You could use AWS CloudFormation using the GUI console or the command line:
Continue with the next post in this AWS CloudFormation series: AWS CloudFormation Tutorial 101! You’ll experience AWS CloudFormation from both the management console (GUI) and the command line (CLI).
Also, please a comment below, especially if this post requires corrections or clarifications.