Terraform es una herramienta de orquestación de código abierto desarrollado por Hashicorp que nos permite definir nuestra infraestructura como código, esto quiere decir que es posible escribir en un fichero de texto la definición de nuestra infraestructura usando un lenguaje de programación declarativo y simple.

Terraform tiene soporte para una gran cantidad de proveedores de infraestructura local o en la nube, Amazon Web Services (AWS), Digital Ocean, Microsoft Azure, VMware vSphere, son ejemplos de proveedores de servicios. Puedes ver todos los proveedores soportados en la documentación de Terraform.

Estos proveedores de nube cuentan con sus propias herramientas de infraestructura como código, por ejemplo algunos de ellos como Amazon AWS que tiene a CloudFormation que solo soporta la infraestructura en Amazon, OpenStack tiene Heat, Azure tiene Resource Manager, pero Terraform no está cerrado a un proveedor en específico, puede trabajar con todos ellos e incluso de forma simultánea sin ningún inconveniente.

Algunas de los beneficios que tiene Terraform son:

  • Administra infraestructuras considerablemente grandes o puede administrar una sola aplicación.
  • Terraform no se limita a un proveedor en específico.
  • Proporciona una sintaxis simple y unificada que permite administrar casi cualquier recurso en lugar de requerir que se utilicen herramientas independientes para cada plataforma y servicio.
  • Las configuraciones que se realizan en Terraform puede ser compartida y reutilizable.
  • El modelo de su centro de datos puede ser versionado, de esta forma es más sencillo observar el progreso de nuestro servicio y controlar los cambios.

Artículo desarrollado a partir del vídeo por Jhuly Acosta