So sad that you are here, and you are using CloudFormation as me. It happen a long time that I am working with CloudFormation and we don’t love each other.
In this complaining blog post there will be examples that how much CFN makes thing harder.
Let’s start for game 🙂
Question 1
There are two CloudFormation block and just 1 of them workw.
Guess which one?
First
1 2 3 4 5 6 |
ExampleGroup: Type: "AWS::IAM::Group" Properties: GroupName: "example-group" ManagedPolicyArns: - " arn:aws:iam::aws:policy/CloudWatchReadOnlyAccess" |
Second
1 2 3 4 5 6 |
ExampleGroup: Type: "AWS::IAM::Group" Properties: GroupName: "example-group" ManagedPolicyArns: - "arn:aws:iam::aws:policy/CloudWatchReadOnlyAccess" |
Have you seen the differences?
The answer is second because 1 little small space character before arn:aws:fuck……
So what?
Solution which can prevent you from like those problems1
1 2 3 4 5 6 |
ExampleGroup: Type: "AWS::IAM::Group" Properties: GroupName: "example-group" ManagedPolicyArns: - arn:aws:iam::aws:policy/CloudWatchReadOnlyAccess |
So you fixed your problem?
Hell NO, say goodbye to CloudFormation and you will be free as bird.
Personal Advice
In my opinion, CFN is not a good solution for big projects.
Philosophy part
Isn’t YAML created to make a developers feel like at home. I want the freedom for it and mercy for developers.
Cheers.
Edit after spending so much time with CFN
We started to love each other after that I learned CodePipeline features which I can use with Cloudformation. Just be careful when you start to learning it, it’s not easy to revert or refactor when you make mistakes at the beginning of project.