AWS CloudFormation: 2018 in review
I want to take you on a quick look back at what we added for AWS CloudFormation in 2018. We added coverage for 18 new AWS services (up from 14 in 2017) and many new features for existing services, several available at launch. Highlights of the features and new content that CloudFormation introduced in 2018, include the following:
- New AWS resources that you can provision with CloudFormation.
- Drift Detection for resources in your CloudFormation stacks.
- Macros for your CloudFormation templates.
- Redesigned CloudFormation console.
- Dynamic references for integration with:
- Documentation available to review and improve on GitHub.
- Blog posts and re:Invent sessions.
New AWS resources
Similar to last year’s review, I did some digging into the AWS CloudFormation Resource Specification and pulled out a few interesting statistics. In 2018, we added support for the following new AWS services and capabilities in CloudFormation:
|Amazon Alexa Skills Kit (ASK)||AWS IoT Analytics|
|Amazon AppStream||Amazon MQ|
|AWS AppSync||Amazon Neptune|
|AWS Auto Scaling Plans||AWS OpsWorks Config Management|
|AWS Budgets||Amazon Route 53 Resolver|
|Amazon Data Lifecycle Manager (DLM)||AWS Secrets Manager|
|Amazon DocumentDB (with MongoDB compatibility)||AWS Service Catalog|
|Amazon EKS||Amazon Simple Email Service (SES)|
|AWS IoT 1-Click||Amazon SageMaker|
As of today, you can use CloudFormation to provision 342 AWS resource types, 94 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.
With CloudFormation drift detection, you can detect if configuration changes were made to your stack resources outside of CloudFormation using the AWS Management Console, CLI, and SDKs. Jeff Barr walked you through using drift detection in a post on the AWS Blog.
CloudFormation macros allow you to perform custom processing on your CloudFormation templates. You can perform simple actions, such as find-and-replace, and very complex actions, such as the transformation of entire templates. Randall Hunt’s article in the AWS Blog demonstrated how to build your first macro.
Redesigned AWS Management Console
The new CloudFormation console makes it easier for you to use AWS CloudFormation and simplifies the management of CloudFormation stacks and stack sets. You can opt-in to the new experience by visiting the CloudFormation console. We’re continuing to add features and improvements, and we appreciate your comments and suggestions. Just use the feedback link in the new console.
Dynamic references for secrets and secure string parameters
CloudFormation dynamic references allow you to inject AWS Systems Manager Parameter Store secure strings and AWS Secrets Manager secrets into your templates each time you create or update your stack without exposing the values as clear text. CloudFormation retrieves the value of from the external service when necessary and uses it during stack operations.
Open source documentation
In March 2018, the CloudFormation service team joined other AWS services in making our documentation available on GitHub. Since then, the community has submitted 183 pull requests to help us improve the quality and accuracy of our docs.
Blog posts and re:Invent sessions
I mentioned a few blog posts earlier, but other interesting CloudFormation articles for 2018 include:
- Building an AWS CloudFormation custom resource to manage StackSets
- Using AWS Cloud9, AWS CodeCommit, and Troposphere to author AWS CloudFormation templates
- Signaling AWS CloudFormation WaitConditions using AWS PrivateLink
- Resolving circular dependency in provisioning of Amazon S3 buckets with AWS Lambda event notifications
- How to perform cross-parameter validation using AWS CloudFormation rules and assertions
I tracked 14 CloudFormation-specific sessions and chalk talks at re:Invent in 2018, all of which were repeated multiple times during the week. What’s New With AWS CloudFormation (DEV321) is always our most popular session, but there were several others you might want to catch up on if you missed them:
- Deployment Scenarios with AWS CloudFormation (DEV308)
- Advanced Infrastructure as Code Programming on AWS (DEV327-R1)
The AWS CloudFormation team looks forward to making more improvements to your CloudFormation experience in 2019. As always, check the CloudFormation release history page in the documentation 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. Contact him on Twitter (@chuckm) if you’d like to join our #cloudformation Slack channel.