All Technologies

Terraform

Infrastructure as code

Terraform is my primary IaC tool. I build modular, reusable infrastructure configurations that enable consistent, version-controlled deployments.

5+years in production
40+projects shipped
expertproficiency

My take

Why I use Terraform

Terraform makes infrastructure reviewable, repeatable, and auditable. Click-ops doesn't survive incident response - Terraform code does. I treat it as a first-class part of every serious infra project.

Want the broader stack philosophy? Read about how Sri picks tools or browse engineering insights.

Honest assessment

Strengths & tradeoffs

No tool is perfect. Here's what shines and what to watch for.

Strengths

  • Declarative, plan-and-apply model
  • Provider ecosystem covers virtually every cloud
  • Module system for reusable patterns
  • State as a versioned source of truth
  • Strong CI/CD integration story

Tradeoffs (honestly)

  • State management introduces operational risk
  • License change in 2023 (BUSL) created OpenTofu fork
  • HCL can feel limiting vs. real programming languages
  • Drift detection requires discipline

Fit assessment

When to reach for Terraform

Pick the right tool for the job.

Best fits

Multi-account AWS/GCP setups

Compliance-driven environments

Multi-environment (dev/stage/prod) parity

Kubernetes cluster bootstrapping

Not ideal for

Tiny single-resource setups (use cloud CLI)

Teams unwilling to manage state

Environments needing imperative orchestration

Common use cases

Cloud infrastructureMulti-environment setupsCompliance automation

Resources

Learn more

Curated official docs, tutorials, and writing on Terraform.

Infrastructure

More in this category

Tools that define how systems run in production.

Browse the full technology stack

Need help with Terraform?

Whether you're starting fresh or optimizing an existing implementation, I can help you get the most out of this technology. Read more in insights or get in touch.

Command Palette

Search for a command to run...