DEV Community

Alex Spinov
Alex Spinov

Posted on

Terraform Has a Free Infrastructure as Code Tool — Manage Any Cloud with HCL

Terraform provisions AWS, GCP, Azure, and 3,000+ providers with declarative HCL code. Plan changes before applying them. Version your infrastructure like code.

Why Infrastructure as Code

Manual cloud console clicks: unreproducible, undocumented, error-prone. "Who created this S3 bucket?" "Why is this security group open?"

Terraform: your infrastructure is code. Reviewed, versioned, and reproducible.

What You Get for Free

Declarative config (HCL):

provider "aws" {
  region = "us-east-1"
}

resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.micro"

  tags = {
    Name = "web-server"
  }
}

resource "aws_s3_bucket" "data" {
  bucket = "my-app-data"
}

resource "aws_rds_instance" "db" {
  engine         = "postgres"
  instance_class = "db.t3.micro"
  allocated_storage = 20
}
Enter fullscreen mode Exit fullscreen mode

The workflow:

terraform init      # download providers
terraform plan      # preview changes (what will be created/changed/destroyed)
terraform apply     # execute changes
terraform destroy   # tear everything down
Enter fullscreen mode Exit fullscreen mode

terraform plan is the killer feature. See EXACTLY what will change before touching anything.

3,000+ Providers

AWS, GCP, Azure, Cloudflare, DigitalOcean, Vercel, GitHub, Datadog, PagerDuty, Okta, and thousands more. If it has an API, there's probably a Terraform provider.

State Management

Terraform tracks what exists in a state file. It knows what's deployed, what changed, and what needs updating. Store state remotely (S3, Terraform Cloud) for team collaboration.

Modules (Reusable Infrastructure)

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "5.0.0"

  cidr = "10.0.0.0/16"
  azs  = ["us-east-1a", "us-east-1b"]
}
Enter fullscreen mode Exit fullscreen mode

Community modules for common patterns: VPCs, EKS clusters, RDS databases.

Quick Start

brew install terraform  # or download from terraform.io
terraform init
terraform plan
terraform apply
Enter fullscreen mode Exit fullscreen mode

If you manage cloud resources through a web console — Terraform makes it reproducible, reviewable, and reversible.


Need web scraping or data extraction? Check out my tools on Apify — get structured data from any website in minutes.

Custom solution? Email spinov001@gmail.com — quote in 2 hours.

Top comments (0)