🌱happiness-in-progress · blog · gallery · ↑ dashboard
← all writing
Technical  ·  August 6, 2023  ·  1 min read

IaC & GCP:The ways of the world!

alt text

Idea

Recently I had the bright idea that even though I haven't used IaC properly yet, I can roll out my own better IaC solution! Basially, Write TS code for managing infra instead of terraform files!

This was inspired by AWS SST, investigated further, and implementing seemed a pain. Also compared with alternativs, and best current solutions seems to be using terraform (hcl).

Existing Solutions

a. Google deployment manager

+ive -ive
well integrated with Google Cloud gcp specific
yaml config, not a fan
no native lang bindings

b. Pulimi

+ive -ive
multiple lang bindings bad support for gcp resources (looks good for aws)
looks easy to use

c. AWS SST

+ive -ive
great for aws sst not possible to use with gcp

d. Terraform CDKTF

+ive -ive
seems to have better support than pulini for gcp resources tooling experience was painful and slow
native bindings for multiple lang

e. Terraform (HCL config)

+ive -ive
good support within GCP docs learning a new DSL is annoying
seems to be the current mainstream standard in devOps managing state is a pain, need to use gcp cloud storage buckets (recommended in gcp docs) or terraform managed cloud
export from gcloud gcloud beta resource-config bulk-export --resource-format=terraform >> gcp_resources.tf