бесплатное программное обеспечение, с помощью которого можно развернуть инфраструктуру на уровне кода (как правило, в облаке) с помощью языка Hashicorp Configuration Language (HCL). Он позволяет описать ресурсы для их создания и/или настройки у хостера, поддерживающего необходимые запросы. Инструмент разработан компанией Hashicorp в 2014 году.
Terraform поддерживают большинство известных поставщиков облачных услуг, например:
- Yandex Cloud.
- VK Cloud.
- OpenStack.
- AWS (Amazon Web Services).
- Google Cloud Platform.
- Microsoft Azure.
- DigitalOcean.
- IBM Cloud.
Это далеко не полный перечень поддерживаемых платформ. Как правило, описание провайдера стоит читать на сайте самого хостера.
Для тех, кто еще не знаком с программным продуктом, на странице обучения официального сайта есть примеры по началу работы для разных поставщиков облачных услуг. На странице можно получить документацию по работе с tarraform. Также на страницах самих хостеров может быть инструкция по началу работы с terraform в их среде, например, для Яндекса.
Установить программу можно на все известные операционные системы — Linux, Windows, Mac OS. Скачать файлы для установки можно на соответствующей странице официального сайта. Применяя Terraform, мы не зависим от API поставщика услуг и получаем универсальный инструмент для автоматизации нашей работы. Сам код HCL представляет из себя обычный текст, поддерживающий переменные и не требующий компиляции. Пример кода можно найти на сайтах провайдеров, например, ранее упомянутом Яндексе (по той же ссылке).
Ранее было сказано, что чаще всего, terraform используется для работы с облачными системами, однако, его можно применять для других настроек, например:
- Сетевого оборудования Cisco ASA и Mikrotik (для RouterOS v6.45.2 и выше).
- Git репозиториев GitHub и GitLab.
- Гипервизора VMware vSphere.
Аналоги terraform:
- Ansible / Puppet / Chief. Универсальный, но не удобен для работы с облаками.
- AWS CloudFormation. Работает только для Amazon.