CloudFormation (aka “CFN”) is AWS’ Infrastructure as Code (“IaC”) solution that allows you to define your resources using templates instead of manually provisioning the resources via the Console. Using IaC has many benefits over manual provisioning, including:

One of the benefits about CloudFormation is that you can write the templates in either JSON or YAML and they both produce the same results. Though I’m not normally a YAML fan, I do prefer the YAML syntax for CFN as I find it easier to read than the JSON implementation.

I have been working with CloudFormation for several years now, after a lot of badgering from one of my friends. Although CloudFormation can be hard to wrap your head around when getting started, its benefits have greatly paid off for me. Over the years, I have found various tools and tricks that make working with CFN easier and more enjoyable.

Tools

Here are a few of the tools that I rely on when writing CFN templates. I’m sure there are many more that I’m missing, so please reach out on Twitter if you have suggestions.

Tricks

We all have our own little tips and tricks for daily development. These are a few of my favorite CFN tricks that I’ve learned over time. If you have more, of course feel free to reach out on Twitter.

These are just a few of the tools and tricks I use to make creating and managing CFN stacks more enjoyable. I’m sure there are many more, so please reach out on Twitter if you have any suggestions or questions.