AWS CloudFormation - The native AWS IaC
Use Cases and Deployment Scope
We were looking for an IaC technology, something refreshing after so much hassles with the current bloated terraform repo (our faults, not terraform's). Given that 99.99% of our infra is on AWS CloudFormation & CDK seem like a natural choice.
On top of that, with limited Platform team, the ability to use Typescript for IaC is a big plus, as the software engineers can participate in maintaining their team's own infra.
Pros
- IaC, transactional on top of that
- Support for "mainstream" general programming languages
- Sharable IaC "snippets" that can setup standardized environments for individuals quickly
- OOP techniques are available thanks to OOP languages
Cons
- The transactional part could be headache-inducing if you're caught surprised
- Missing some features like moved / import blocks from Terraform
- The whole availability of OOP techniques opens the usual OOP can of worms
Return on Investment
- Individual team members can have their personal sandbox up & running in minutes
- Standardized environment templates shared across organization
- Sophisticated RBAC & cost allocation
Usability
Alternatives Considered
HashiCorp Terraform, Red Hat Ansible Automation Platform and Kubernetes
Other Software Used
GitHub, CDK, CircleCare




