AWS Cloud Operations & Migrations Blog

AWS CloudFormation: 2017 in Review

In 2017, over 350,000 AWS customers used AWS CloudFormation to manage resources collected across 2.4M stacks. We added coverage for 14 new services and several new features.

In this post, I’d like to look back at some features and new content that CloudFormation introduced in 2017, including:

  • New AWS resources that you can provision with CloudFormation.
  • StackSets to centrally manage stacks across accounts and regions.
  • Termination protection to protect stacks that contain critical resources.
  • Rollback triggers to revert infrastructure changes impacting application performance.
  • Integration with AWS Systems Manager Parameter Store.
  • Quick-create links to get stacks up and running quickly.
  • …and some of our most popular posts and re:Invent sessions.

I also talk a little about what’s ahead in 2018.

New AWS resources

I did some digging into the AWS CloudFormation Resource Specification and pulled out a few interesting statistics.

In 2017, we added support for 14 new services and APIs in CloudFormation:

Amazon Athena AWS Glue
AWS Batch Amazon GuardDuty
AWS Cloud9 Amazon Inspector
AWS CodeStar Amazon Kinesis Data Analytics
Amazon Cognito Amazon Route 53 Auto Naming API
AWS Database Migration Service (AWS DMS) AWS Step Functions
Amazon DynamoDB Accelerator (DAX) AWS WAF Regional

As of today, you can use CloudFormation to provision 248 AWS resource types, 71 more than this time last year. For information about supported resources, see the AWS Resource Types Reference in the AWS CloudFormation User Guide or grab the AWS CloudFormation Resource Specification yourself for the canonical list.

You can read up on some of these new features and service in a series of coverage posts that my colleague, Luis Colon, has been writing. For instance, here’s one walking you through creating a named query resource for Amazon Athena.

StackSets

With CloudFormation StackSets, you can now define AWS resources in a CloudFormation template and then roll it out across multiple AWS accounts or Regions in an automated and repeatable manner. You can use this to set up a baseline level of AWS functionality that addresses cross-account and cross-region infrastructure management.

Jeff Barr walked you through using StackSets in a post on the AWS Blog.

Termination protection

Enabling termination protection on a stack prevents it from being accidentally deleted. You cannot delete a stack with termination protection enabled. We walked you through turning on this feature in our post on how to Use AWS CloudFormation Stack Termination Protection and Rollback Triggers to Maintain Infrastructure Availability. We also discussed incorporating this feature into a strategy for AWS CloudFormation Guardrails: Protecting your Stacks and Ensuring Safer Updates.

Rollback triggers

Rollback triggers enable you to have CloudFormation monitor the state of your application during stack creation and updates. CloudFormation rolls back that operation if the application breaches the threshold of any of the alarms that you’ve specified.

There’s a walkthrough of setting up a rollback trigger in the second half of my post, Use AWS CloudFormation Stack Termination Protection and Rollback Triggers to Maintain Infrastructure Availability.

Systems Manager Parameter Store integration

You can now reference Systems Manager parameters in the Parameters section of your CloudFormation templates to simplify stack updates and achieve consistency by using values from Parameter Store.

We published a post to walk you through the process of Integrating AWS CloudFormation with AWS Systems Manager Parameter Store.

Finally, you can now build quick-create links pre-populated with the template URL, stack name, and template parameters. To try it out yourself, check out Creating Quick-Create Links for Stacks.

Blog posts and re:Invent sessions

The most-read CloudFormation post from the AWS Management Tools blog in 2017 was Configuring Serverless applications using CloudFormation Custom Resources. Posts on Stack Termination and Parameter Store integration were also popular.

At re:Invent, there were 67 sessions at least partially dealing with CloudFormation. The CloudFormation Deep Dive (DEV317) session was popular enough to get a repeat session. Other sessions included:

What’s next

The AWS CloudFormation team looks forward to making more improvements to your CloudFormation experience in 2018, starting with the new Drift Detection feature that we announced at re:Invent and which is currently in beta.

And remember, you can always go to the documentation CloudFormation release history page to see the latest updates.


About the Author

Chuck Meyer is a Senior Developer Advocate for AWS CloudFormation based in Ohio.  He spends his time working with both external and internal development teams to constantly improve the developer experience for CloudFormation users.  He’s a live music true believer and spends as much time as possible playing bass and watching bands.