Terraform

Что такое Terraform?

Terraform это инструмент инфраструктуры как кода от HashiCorp. Вы описываете серверы, сети и облачные сервисы в файлах конфигурации, а Terraform создаёт или изменяет реальную инфраструктуру в соответствии с ними.

Поговорить с инженером База знаний
Серверные шкафы в зале центра обработки данных с фальшполом

Что это такое

Без такого инструмента инфраструктуру строят, щёлкая по веб-консоли, и потом никто не может сказать, что именно было настроено. С Terraform инженер пишет файлы, в которых указано, что должно существовать: две виртуальные машины заданного размера, частная сеть, правило межсетевого экрана, бакет хранилища.

Terraform обращается к каждой платформе через провайдер, плагин, знающий API этой платформы. Есть провайдеры для AWS, Microsoft Azure, Google Cloud, сервисов DNS и многих других, а также провайдеры, поддерживаемые сообществом, для Proxmox VE. Одна конфигурация может охватывать несколько из них.

План, применение и состояние

  • План: Terraform сравнивает файлы с тем, что существует, и перечисляет, что он создал бы, изменил или удалил. Пока ничего не затрагивается.
  • Применение: после того как кто-то прочитал план, Terraform вносит только эти изменения.
  • Состояние: Terraform ведёт файл состояния, в котором записано, какие реальные ресурсы относятся к какой части конфигурации. Он может содержать пароли и другие чувствительные значения, поэтому его хранят в защищённом общем месте, а не на одном ноутбуке.

Что это дает бизнесу

  • Запись об инфраструктуре: файлы, хранящиеся в Git, показывают, что существует и почему было сделано каждое изменение.
  • Никаких сюрпризов в день изменений: план показывает, что именно произойдёт, до того как что-либо будет удалено.
  • Воспроизводимые среды: тестовую среду или второй объект можно построить из тех же файлов, что и рабочую.

Terraform и Ansible

Terraform создаёт инфраструктуру: машины, сети и облачные сервисы. Ansible настраивает то, что работает на этих машинах, после того как они появились. Многие команды используют оба.

Лицензия и OpenTofu

В 2023 году HashiCorp перевела Terraform с открытой лицензии на Business Source License, которая ограничивает использование в продуктах, конкурирующих с HashiCorp. В ответ был создан OpenTofu как ответвление с открытым исходным кодом, который теперь является проектом Linux Foundation. Он читает тот же язык конфигурации. В 2025 году IBM завершила покупку HashiCorp.

Как KawaConnect работает с инфраструктурой как кодом

Мы храним инфраструктуру как код в системе контроля версий, ведём Kubernetes через GitOps и строим кластеры Proxmox VE и решения на Microsoft Azure. Описание этой инфраструктуры в файлах позволяет повторять сборку и отслеживать каждое изменение.

Связанные услуги

Облачная инфраструктура

Azure, гибридные решения, миграции и планирование восстановления.

Консалтинг по Proxmox

Кластеры, высокая доступность и миграции с VMware.

Консалтинг по Kubernetes

Кластеры, изменяемые через Git с помощью GitOps.

Подробнее

  • Документация TerraformРуководства и справочник HashiCorp по языку конфигурации и командной строке.
  • Terraform RegistryПубличный каталог провайдеров и повторно используемых модулей с документацией по каждому.
  • OpenTofuОтветвление Terraform с открытым исходным кодом, поддерживаемое под эгидой Linux Foundation.
  • Terraform в ВикипедииНейтральный обзор инструмента, его истории и смены лицензии в 2023 году.

Инфраструктуру строят щелчками мыши?

Расскажите, где работают ваши серверы и облачные сервисы. Мы объясним, что потребуется, чтобы описать их в файлах, и что это изменит для вас.

Начать разговор