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.