En el mundo DevOps, donde la velocidad y la confiabilidad son esenciales, Terraform se ha convertido en una herramienta imprescindible. Esta solución de código abierto desarrollada por HashiCorp permite definir, provisionar y gestionar infraestructura de forma declarativa, reutilizable y consistente. En esta entrada te mostraré qué es Terraform, por qué deberías usarlo, y un ejemplo básico para comenzar.
¿Qué es Terraform?Terraform es una herramienta de Infrastructure as Code (IaC) que te permite definir tu infraestructura en archivos de texto utilizando un lenguaje llamado HCL (HashiCorp Configuration Language). Una vez escrita, puedes aplicar esos archivos para que Terraform cree y gestione los recursos automáticamente en nubes como AWS, Azure, GCP, y más.¿Por qué usar Terraform en tu flujo DevOps?Provisionamiento reproducible: Tu infraestructura puede ser versionada y desplegada de forma idéntica en distintos entornos.Multicloud: Con una sola herramienta puedes manejar múltiples proveedores.Integración CI/CD: Puedes integrarlo fácilmente en pipelines.Planificación previa (terraform plan): Visualiza los cambios antes de aplicarlos.
Instalación rápida
# En Linux/MacOS sudo apt install terraform # En Windows # Usa Chocolatey: choco install terraform
Primer ejemplo: Crear una instancia EC2 en AWS
provider "aws" { region = "us-west-1" } resource "aws_instance" "mi_ec2" { ami = "ami-0c55b159cbfafe1f0" # Cambia según la región instance_type = "t2.micro" tags = { Name = "EjemploTerraform" } }
Comandos básicos:
terraform init # Inicializa el proyecto terraform plan # Muestra los cambios que se harán terraform apply # Aplica los cambios y crea la infraestructura terraform destroy # Deshace todos los objetos creados
Buenas prácticas
- Usa módulos reutilizables.
- Versiona tu código con Git.
- Aplica
terraform fmt
para mantener el código ordenado. - Implementa
terraform validate
antes de aplicar.