Terraform ابزار Infrastructure as Code از HashiCorp. با HCL (HashiCorp Configuration Language) زیرساخت رو تعریف کنید.

مزایا

Reproducible: قابل تکرار
Version Control: Git-friendly
Multi-cloud: AWS، Azure، GCP
Declarative: نتیجه رو بگید، نه چطور

نصب

brew install terraform
یا از سایت رسمی.

مثال

provider "aws" {
  region = "us-east-1"
}
resource "aws_instance" "web" {
  ami = "ami-123"
  instance_type = "t2.micro"
}

Commands

terraform init
terraform plan
terraform apply
terraform destroy

State

Terraform وضعیت رو در .tfstate ذخیره میکنه. Remote State بهتر.

Providers

هر Cloud یه Provider. AWS، Azure، GCP، DigitalOcean، Cloudflare.

Modules

کد قابل استفاده مجدد.

Variables

variable "region" { default = "us-east-1" }

Output

output "ip" { value = aws_instance.web.public_ip }

Workspaces

Dev، Staging، Prod با یه کد.

Terraform Cloud

Cloud service برای مدیریت Terraform.

Best Practices

Remote State
State Lock
Modules
DRY

سباهاست

Terraform Provider سباهاست برای مدیریت VPS.

جمع‌بندی

Terraform استاندارد Infrastructure as Code. برای پروژه‌های Cloud ضروری.