Clicking around a cloud console doesn't scale and isn't reproducible. Terraform lets you declare infrastructure in code, review changes in pull requests, and apply them consistently across environments.
Declare a Resource
provider "aws" {
region = "ap-south-1"
}
resource "aws_s3_bucket" "assets" {
bucket = "scaleup-app-assets"
tags = { Environment = "production" }
}The Core Workflow
terraform init # download providers
terraform plan # preview changes (read this carefully!)
terraform apply # make it soState Is Everything
Terraform tracks what it created in a state file. Store it remotely (S3 + DynamoDB lock, or Terraform Cloud) so your team shares one source of truth and never clobbers each other's changes.
Always Read the Plan
terraform plan shows exactly what will be created, changed, or destroyed. A careless apply can drop a database. Treat the plan output like a code review.
