1. Home
  2. Training Library
  3. Amazon Web Services
  4. Courses
  5. How to Use CloudFormation for AWS Automation

What is CloudFormation?

The course is part of these learning paths

DevOps Engineer – Professional Certification Preparation for AWS
SysOps Administrator – Associate Certification Preparation for AWS
AWS Cloud Management Tools
course-steps 5 certification 1 lab-steps 5 quiz-steps 2


Getting Started with CloudFormation
What is CloudFormation?
star star star star star-half




Who should take this course



About the Author







Hello, and welcome to the first course about AWS Automation. During this course you'll learn how AWS CloudFormation works, and how you can use it for building scalable infrastructures. AWS CloudFormation gives you an easy way to create a set of cloud resources, such as Amazon EC2 instances, CloudFront distributions, RDS database instances, and other services. A template file describes what resources you need, and AWS CloudFormation takes care of provisioning the resources in an orderly and predictable fashion, handling and recovering from any failures or issues.

Amazon is updating their list of AWS supported resources and operations monthly. And right now, the following services are fully or partially supported, EC2, VPC, ELB Elastic Load Balancing, Auto-scaling, Route 53, S3, CloudFront, RDS, DynamoDB, SimpleDB, RedShift, Elastic Cash, SNS or Simple Notification Service, SQS or Simple Queue Service, CloudFormation, CloudWatch, Elastic Beanstalk, OpsWorks, IAM, and Kinesis. As you can see, the list includes CloudFormation itself. It's possible to create stackable templates, in order to simplify template maintenance and update.

Thanks to AWS CloudFormation, you can describe your IT infrastructure and deploy it any time you need, creating different environments, for example testing, staging, production, etc in a few minutes.

Using file or code versioning tools like Git or SVN, you can keep track of each infrastructure modification, linking your infrastructure model to the application ecosystem itself. AWS CloudFormation uses the word stack in order to identify a specific infrastructure. That merely is a collection of well configured AWS resources. Each CloudFormation stack has a unique name, and a linked template with a specific configuration. When you create a new stack, you can keep track of the infrastructure deployment, delete it, or check it's live status and collected logs.

It's important to keep in mind that CloudFormation checks if each stack resource is properly created and configured. If a resource cannot be created, CloudFormation rolls back and destroys all created resources.