Terraform

Terraform is an infrastructure‑as‑code (IaC) tool that lets you define, provision, and manage cloud and SaaS infrastructure using declarative configuration files (HCL). It supports hundreds of providers (AWS, Azure, GCP, Kubernetes, SaaS APIs), uses a state file to track real resources, and encourages reusable modules for standardised deployments. Teams can run Terraform locally via the CLI or collaborate using HCP Terraform / Terraform Enterprise for shared state, policy, and governance.

Benefits of Terraform

  • Multi‑cloud & vendor‑neutral: One workflow and language (HCL) to provision across AWS, Azure, GCP, Kubernetes, and many SaaS platforms via the Terraform Registry.
  • Declarative, plan‑before‑apply model: terraform plan shows the execution plan derived from desired state vs. actual state, reducing risk before changes.
  • Reusable modules & a rich registry: Share best‑practice building blocks internally or pull vetted modules/providers from the public registry.
  • Collaboration & governance options: HCP Terraform / Terraform Enterprise adds remote state, policy-as-code, teams/permissions, and run workflows.
  • Scales with platform engineering: Fits Git‑based workflows (PR reviews, CI/CD), reducing drift and improving repeatability across environments.
  • Mature ecosystem knowledge: Clear guidance on providers, provider tiers, and publishing; strong docs for building custom providers if needed.

Typical Use Cases

  • Provisioning cloud foundations: VPC/VNet, subnets, route tables, firewalls, IAM/Entra roles, and baseline security controls across clouds.
  • Application infrastructure stacks: Compute, databases, storage, load balancers, DNS/CDN, and secrets backends assembled via modules.
  • Kubernetes platform automation: Creating clusters and cluster add‑ons (via cloud & Helm providers) with reproducible, versioned configs.
  • Hybrid & multi‑cloud standardisation: Single “golden” module set applied in AWS, Azure, and GCP with environment-specific inputs.
  • Team collaboration & policy control: Remote state, RBAC, and policy checks in HCP Terraform/Terraform Enterprise for regulated environments.