Infrastructure as Code

My first introduction to IAC was Ansible in about 2015. Writing playbooks instead of SSHing into boxes and running commands like some kind of digital archaeologist. Suddenly infrastructure was repeatable which alone felt like magic.

Then Terraform. YAML with remote state in S3 for version control was next for me. I could actually tell you what was deployed without logging into a console and squinting.

Then Pulumi showed up about two years ago and ruined me for everything else.

Bring your own language. Write actual Typescript instead of pretending YAML is a programming language. Because it isn't. YAML is a configuration format that people keep abusing until it grows conditionals and loops and suddenly you're debugging whitespace at 2am wondering where your life went wrong.

My first flex using Pulumi was a large Google Cloud infrastructure. Cloud Runs with Docker. Monitors with triggers handling capacity changes. Databases. Pub/sub. Cloud Computing with Nvidia for in-house models. Doing this in YAML would have been a hostage situation. In Typescript it was just code.

And because I'm an AWS fanboy, setting up my go-to infrastructure with Pulumi and deploying it across environments was the moment I converted everything over and went all in, no looking back.

If you're still not using IAC you're not being pragmatic, and postponing a disaster that compounds interest.

If you don't use IAC because you use Vercel, or another wrapper of a wrapper... lol.

❤️
Jake

SONG