Перейти к содержимому

Terraform

Terraform — IaC-инструмент HashiCorp для создания, изменения и версионирования облачных и on-prem ресурсов. Конфигурация на HCL описывает желаемое состояние, а providers работают с API платформ и SaaS.

Продукт имеет несколько редакций и source-available лицензию; условия выбранной версии проверяют отдельно. OpenTofu рассматривают как открытую альтернативу с совместимым рабочим процессом.

  • write → plan → apply с предварительным списком изменений;
  • state для связи конфигурации с реальными ресурсами;
  • resource graph и учёт зависимостей;
  • модули, variables, outputs и переиспользование конфигурации;
  • тысячи providers для облаков, Kubernetes, DNS и SaaS;
  • remote backends, командная работа и policy/testing integrations;
  • import существующих ресурсов и обнаружение drift.

State требует защищённого хранения, контроля доступа и согласованной работы команды. apply может заменить или удалить ресурс: plan для stateful-объектов проверяют отдельно. Ручные изменения создают drift, а сам Terraform не настраивает всё содержимое VM — для этого часто нужен Ansible или образ.

Подходит для декларативного provisioning нескольких облачных и SaaS-ресурсов с развитой экосистемой providers. OpenTofu выбирают по лицензионным требованиям, Pulumi — для программирования на общем языке.