Terraform es una herramienta de software de infraestructura como código creada por HashiCorp . Los usuarios definen y proporcionan la infraestructura del centro de datos mediante un lenguaje de configuración declarativo conocido como lenguaje de configuración de HashiCorp (HCL) o, opcionalmente, JSON . [3]
Terraform administra recursos externos (como infraestructura de nube pública, infraestructura de nube privada, dispositivos de red, software como servicio y plataforma como servicio ) con "proveedores". HashiCorp mantiene una extensa lista de proveedores oficiales y también puede integrarse con proveedores desarrollados por la comunidad. [4] Los usuarios pueden interactuar con los proveedores de Terraform declarando recursos [5] o llamando a fuentes de datos. [6] En lugar de usar comandos imperativos para aprovisionar recursos, Terraform usa una configuración declarativa para describir el estado final deseado. Una vez que un usuario invoca Terraform en un recurso determinado, Terraform realizará acciones CRUD en nombre del usuario para lograr el estado deseado. [7] La infraestructura como código se puede escribir como módulos, lo que promueve la reutilización y la capacidad de mantenimiento. [8]
Terraform es compatible con varios proveedores de infraestructura en la nube, como 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 y OpenStack . [14] [15] [16] [17] [18]
HashiCorp mantiene un Registro de Módulos Terraform, lanzado en 2017. [19] En 2019, Terraform presentó la versión paga llamada Terraform Enterprise para organizaciones más grandes. [20]
Anteriormente, Terraform era software libre disponible bajo la versión 2.0 de la Licencia Pública de Mozilla (MPL). El 10 de agosto de 2023, HashiCorp anunció que todos los productos producidos por la empresa volverían a tener licencia bajo la Licencia de Fuente Comercial (BUSL), y HashiCorp prohibiría el uso comercial de la edición comunitaria a quienes ofrezcan "servicios competitivos". [21]
La última versión de Terraform con licencia MPL se bifurcó como " OpenTofu ", que cuenta con el respaldo de la Linux Foundation . En abril de 2024, HashiCorp envió un aviso de cese y desistimiento al proyecto OpenTofu, indicando que había incorporado código de una versión de Terraform con licencia BUSL sin permiso y "reetiquetado incorrectamente el código de HashiCorp para que pareciera que HashiCorp lo había puesto a disposición originalmente bajo una licencia diferente". OpenTofu negó la acusación, afirmando que el código citado se había originado a partir de una versión de Terraform con licencia MPL. [22] [23]