Infrastructure as Code Terraform 101

You may have deployed some cloud resources, a couple of VMs, a custom VPC, or maybe even a GKE cluster.

Now, you may have wondered "Why would should I bother with IaC, clicking through the console is easy and quick!" That may be true but try doing it for 10 VMs or a bunch of firewall rules for your VPC.

You'll soon figure out that it can be painfully slow and can introduce inconsistencies and errors. we're all human and/or have fat fingers like me.

My personal IaC of choice is Terraform, it's a declarative language expressed in HCL or JSON in which you configure your infrastructure to declare the state and what it should look like or how it should be configured.

So Why?

Deploying your infrastructure using IaC is repeatable, dependable and auditable. You can create modules so all your resources are deployed using the same code. Dependable, you can test and change your variables. Auditable, you can track changes using Git, even deployments using CICD pipelines.

Next up I'll be dropping some examples and tutorials to help anyone get started!

Getting started is part 1 of my tutorials. Enjoy!