Terraform Workflow: Automatiza tu infraestructura desde cero

Published: (May 3, 2026 at 11:13 PM EDT)
3 min read
Source: Dev.to

Source: Dev.to

Cover image for Terraform Workflow: Automatiza tu infraestructura desde cero

Hassel Muñoz

El problema real

Cuando trabajas en DevOps, inevitablemente enfrentas el caos de gestionar infraestructura manualmente. Cambios undocumentados, configuraciones inconsistentes entre ambientes y actualizaciones que rompen lo que funcionaba. Terraform resuelve esto con un workflow estructurado que convierte tu infraestructura en código versionable y reproducible.

¿Qué es el Terraform Workflow?

El workflow de Terraform es el ciclo de vida estándar que ejecutas cada vez que despliegas o modificas infraestructura. Consta de tres fases principales: init, plan y apply. Este flujo garantiza que entiendas exactamente qué cambios ocurrirán antes de ejecutarlos, eliminando sorpresas en producción.

Terraform workflow diagram

Cómo funciona en la práctica

Init (Inicialización)

Ejecutas terraform init en el directorio raíz. Terraform descarga los providers necesarios (AWS, Azure, Google Cloud, etc.) y configura el estado local. El estado es fundamental: es el registro de qué recurso existe realmente en tu cloud.

Plan (Planificación)

Con terraform plan, Terraform compara tu código (.tf files) contra el estado actual. Te muestra exactamente qué recursos se crearán, modificarán o destruirán. Es tu momento para validar antes de tocar nada en producción.

Apply (Aplicación)

Ejecutas terraform apply para implementar los cambios. Terraform solicita confirmación explícita (a menos que uses -auto-approve, que no recomendamos en producción) y luego modifica tu infraestructura en el cloud.

Ejemplo técnico práctico

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

resource "aws_instance" "web_server" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.micro"
  tags = {
    Name = "production-web"
  }
}

Ejecutas:

terraform init      # Descarga el provider AWS
terraform plan      # Muestra que creará 1 instancia EC2
terraform apply     # La crea realmente

Si después cambias instance_type a t3.small y ejecutas plan nuevamente, verás que modificará la instancia existente, no creará una nueva.

Terraform plan output example

Beneficios reales en tu día a día

  • Reproducibilidad: Recrear exactamente el mismo stack en otro AWS Account o región es trivial. Solo ejecutas init y apply.
  • Versionabilidad: Tu infraestructura vive en Git. Puedes auditar quién cambió qué, cuándo y por qué.
  • Prevención de errores: El plan actúa como revisión antes de mergear. Ves operaciones destructivas antes de confirmar.
  • Escalabilidad: Gestionar 5 recursos manualmente es viable. Gestionar 500 es imposible sin código. Terraform lo hace trivial.

Benefits illustration

Buenas prácticas esenciales

  • Almacena estado remotamente: Nunca guardes el archivo terraform.tfstate localmente en un proyecto de equipo. Usa S3 con versionado y DynamoDB para locks, o Terraform Cloud. Esto previene conflictos cuando múltiples personas aplican cambios.
  • Usa módulos: Encapsula configuraciones reutilizables. En lugar de repetir código VPC en cada proyecto, crea un módulo.
  • Valida siempre con plan: Convertir terraform plan en un paso obligatorio en tu CI/CD evita desastres.
  • Sensibilidad con cambios destructivos: En producción, revisa manualmente cualquier destroy. Terraform es poderoso precisamente porque puede destruir, así que respétalo.

Best practices diagram

Valor práctico

El workflow de Terraform transforma la gestión de infraestructura de una actividad manual y propensa a errores a un proceso auditado, repetible y seguro. No es solo una herramienta, es el fundamento de cualquier operación DevOps moderna.

vOps moderna sería. Empezar simple con init-plan-apply te abre puertas a automatización real con CI/CD después.

0 views
Back to Blog

Related posts

Read more »