advanced

Terraform

Декларируйте инфраструктуру через providers: plans, modules, variables, state backends и lifecycle controls.

Terraform декларирует желаемую инфраструктуру через providers, resources, modules, variables, plans и state. Workflow plan/apply делает изменения reviewable до касания реальных облачных ресурсов.

					resource "aws_s3_bucket" "assets" {
  bucket = var.bucket_name
}

output "bucket_name" {
  value = aws_s3_bucket.assets.id
}
				

Запускайте `terraform plan` в CI на pull request. Production apply — только через gated pipelines с remote state locking.

На интервью: remote state, locking, modules, pin версий provider, drift, workspaces vs отдельные state files и import.

Типовые ошибки: правки в консоли дают drift; слабые границы modules делают каждое изменение рискованным; local state в Git.

Компромисс — декларативная простота против дисциплины state management и overhead дизайна modules.

Чеклист:

  • Remote state с locking.
  • Review планов в CI.
  • Pin версий provider и modules.
  • Регулярное обнаружение и устранение drift.