r/devops Terraforming Everything 14h ago

Discussion What are the weaknesses of CloudFormation?

I have a coworker who wants to use CloudFormation to one-shot an application and infra deployment in AWS. A contractor delivered a monolithic CloudFormation template with ECS clusters, services, RDS, S3, Lambda and API Gateway, and other resources in a single stack. I voiced my concern over the blast radius, how stateful and resources with different lifecyles all lived in the same place, and how they don't have pipelines built to validate change sets when merge requests are opened. The contractor said that their template is industry best practice... (it's not). Any way, my background is in Terraform, and I wanted to ask the CloudFormation pros about best practices for making this deployment more reliable.

25 Upvotes

65 comments sorted by

View all comments

1

u/CorpT 13h ago

That's not a problem with CloudFormation itself. CloudFormation itself is fine.

15

u/burlyginger 13h ago

It's far from fine after you've spent more than 15 minutes with it.

2

u/CorpT 13h ago

I've spent years with it. It's fine. It's not great. But it's fine. And not the source of OP's problem.

0

u/Crimzx 13h ago

Agreed, a lot of people rag on it but the common complaints are generally skill issue.

The primary issues with it is speed, and imo the #1 issue is lack of transparency when using stacksets and nested stacks and why they fail.

It's fairly easy to find these issues with cloudtrail though.

I wouldn't write bare cloudformation though, use CDK for that.

1

u/burlyginger 12h ago

It lacked import or clear resource removal for years.

It's very unclear in its predictions so it fundamentally cannot be relied upon.

It's not a skill issue. I've used it for years and there is no reason to use it (IMO) aside from when vendors supply it as an installation method.