IaaC & GCP:The ways of the world!

Contents
Idea
Recently I had the bright idea that even though I haven’t used IaaC properly yet, I can roll out my own better IaaC solution! Basially, Write TS code for managing infra instead of terraform files!
Conclusion
Saw AWS SST, inspired me to have something like that for LGF, looked more, and implementing seemed a pain. Best current solutions seems to be using terraform (hcl).
Existing Solutions
a. Google deployment manager
Pros
- well integrated with [[GCP]]
Cons
- gcp specific
- yaml config, not a fan
- no native lang bindings
b. Pulimi
Pros
- multiple lang bindings
- looks easy to use
Cons
- bad support for gcp resources (looks good for aws)
c. AWS SST
Pros
- great for aws sst
Cons
- bad for gcp
d. Terraform CDKTF
Pros
- seems to have better support than pulini for gcp resources
- native bindings for multiple lang
Cons
- tooling experience was painful and slow
e. Terraform (HCL config)
Pros
- good support within GCP docs
- seems to be the current mainstream standard in devOps
- export from gcloud
gcloud beta resource-config bulk-export --resource-format=terraform >> gcp_resources.tf
Cons
- learning a new DSL is annoying
- managing state is a pain, need to use gcp cloud storage buckets (recommended in gcp docs) or terraform managed service
Inspiration: https://github.com/serverless-stack/sst