From 345dc54849ab7a51f112ff368c39f629e718ae96 Mon Sep 17 00:00:00 2001 From: Joshua Levy Date: Mon, 10 Oct 2016 08:39:09 -0700 Subject: [PATCH] Update on CloudFormation YAML syntax. --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 167dcad..b5bd016 100644 --- a/README.md +++ b/README.md @@ -1071,12 +1071,11 @@ CloudFormation ### CloudFormation Tips - [Troposphere](https://github.com/cloudtools/troposphere) is a Python library that makes it much easier to create CloudFormation templates. +- 🔹Until [2016](https://aws.amazon.com/about-aws/whats-new/2016/09/aws-cloudformation-introduces-yaml-template-support-and-cross-stack-references/), CloudFormation used only an awkward JSON format that makes both reading and debugging difficult. To use it effectively typically involved building additional tooling, including converting it to YAML, but now [this is supported directly](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-formats.html). ### CloudFormation Gotchas and Limitations - 🔸CloudFormation is useful but complex and with a variety of pain points. Many companies find alternate solutions, and many companies use it, but only with significant additional tooling. -- 🔸CloudFormation syntax is an awkward JSON format that makes both reading and debugging difficult. - - To use it effectively often involves additional tooling, such as converting it to YAML or using Troposphere. - 🔸CloudFormation can be very slow, especially for items like CloudFront distributions. - 🔸It’s hard to assemble good CloudFormation configurations from existing state. AWS does [offer a trick to do this](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cloudformer.html), but it’s very clumsy. - 🔸Many users don’t use CloudFormation at all because of its limitations, or because they find other solutions preferable. Often there are other ways to accomplish the same goals, such as local scripts (Boto, Bash, Ansible, etc.) you manage yourself that build infrastructure, or Docker-based solutions ([Convox](https://convox.com/), etc.).