TERRAFORM: QUÉ ES Y CÓMO FUNCIONA LA INFRAESTRUCTURA COMO CÓDIGO

Terraform es una herramienta de Infraestructura como Código (IaC - Infrastructure as Code) desarrollada por HashiCorp. Permite definir, provisionar y gestionar infraestructura de manera segura y eficiente en entornos de nube (como AWS, Azure, Google Cloud) y on-premises, utilizando archivos de configuración declarativos legibles por humanos.

¿Qué significa esto?

  • Declarativo: Describes el estado final deseado de la infraestructura (por ejemplo, "quiero una máquina virtual con estas características"), y Terraform se encarga de cómo llegar allí, sin necesidad de escribir pasos procedurales.
  • Usa el lenguaje HashiCorp Configuration Language (HCL) o JSON para escribir las configuraciones.
  • Genera un plan de cambios antes de aplicarlos, lo que permite revisar y aprobar modificaciones.
  • Mantiene un archivo de estado (state) que registra la infraestructura real, para detectar diferencias y gestionar actualizaciones o destrucciones.

Principales ventajas

  • Soporta múltiples proveedores (providers) para cloud, redes, SaaS, etc.
  • Permite versionar, reutilizar y compartir configuraciones como código (integración con Git).
  • Facilita la colaboración en equipos y la automatización en DevOps.
  • Es open-source (aunque con cambios en la licencia en 2023 a BUSL para ciertas versiones), y hay una versión cloud llamada HCP Terraform.