DEV Community

Discussion on: How to deploy a service to Amazon Elastic Container Service with CloudFormation?

Collapse
 
jillesvangurp profile image
Jilles van Gurp

Terraform is a more sane way to drive cloudformation essentially (when you run it on aws). Cloudformation has gotten slightly better over the years with yaml support but it is still quite messy to deal with.

I find cloudformation gets rather unwieldly and it is rather unforgiving if you have a tiny mistake in your thousands of lines of templates. Add to that the lengthy edit, deploy, wait for it, oh shit that didn't work either cycles and you are looking at hell. I seem to get stuck with doing relatively simple changes quite often because of this. I sort of dread having to change anything because I know it is going to suck up hours of my time when I sit down and do it.

For this reason, I try to minimize the scope of what cloudformation does. Anti patterns here are having lots of software provisioning driven by cloudformation, running it every time you need to deploy a docker container, copy pasting large bits of yaml between stacks (this is where terraform provides better tooling), excessive polling happening either in aws or in your custom templates waiting for stuff to come up, etc.

Collapse
 
miensol profile image
Piotr Mionskowski

You might like cloudform.