Terraform — это программный инструмент «инфраструктура как код», созданный HashiCorp . Пользователи определяют и предоставляют инфраструктуру центра обработки данных, используя язык декларативной конфигурации, известный как язык конфигурации HashiCorp (HCL) или, опционально, JSON . [3]
Terraform управляет внешними ресурсами (такими как инфраструктура общедоступного облака, инфраструктура частного облака, сетевые устройства, программное обеспечение как услуга и платформа как услуга ) с помощью «поставщиков». HashiCorp поддерживает обширный список официальных поставщиков, а также может интегрироваться с поставщиками, разработанными сообществом. [4] Пользователи могут взаимодействовать с поставщиками Terraform, объявляя ресурсы [5] или вызывая источники данных. [6] Вместо использования императивных команд для предоставления ресурсов Terraform использует декларативную конфигурацию для описания желаемого конечного состояния. Как только пользователь вызывает Terraform для данного ресурса, Terraform выполнит действия CRUD от имени пользователя для достижения желаемого состояния. [7] Инфраструктура как код может быть написана в виде модулей, что обеспечивает возможность повторного использования и удобства обслуживания. [8]
Terraform поддерживает ряд поставщиков облачной инфраструктуры, таких как Amazon Web Services , Cloudflare , [9] Microsoft Azure , IBM Cloud , Serverspace, Selectel [10] Google Cloud Platform , [11] DigitalOcean , [12] Oracle Cloud Infrastructure , Yandex.Cloud , [13] VMware vSphere и OpenStack . [14] [15] [16] [17] [18]
HashiCorp ведет реестр модулей Terraform, запущенный в 2017 году. [19] В 2019 году Terraform представила платную версию под названием Terraform Enterprise для более крупных организаций. [20]
Ранее Terraform имел открытый исходный код и был доступен по лицензии Mozilla Public License (MPL) версии 2.0. HashiCorp 10 августа 2023 года приняла лицензию Business Source версии 1.1 для многих своих продуктов, включая Terraform. [21] Лицензия Business Source, в отличие от MPL, не имеет открытого исходного кода [22] , а вместо этого исходный код доступен . В ответ группа пользователей опубликовала 15 августа 2023 года манифест OpenTF с просьбой к HashiCorp продолжить публикацию Terraform под лицензией с открытым исходным кодом. [23] Впоследствии 25 августа 2023 года группа объявила, что из-за отсутствия какого-либо положительного ответа от HashiCorp они затем создадут форк Terraform как OpenTofu на основе последней доступной версии программного кода под лицензией MPL (v1.5.5) и будут будем работать над тем, чтобы проект был размещен в рамках Linux Foundation . [24]