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 ضروری.