🏗️Infraestructura como Código

Terraform vs. CloudFormation

Terraform es una herramienta multi-cloud que funciona con AWS, Azure, GCP y más de 100 proveedores. CloudFormation es nativo de AWS y solo funciona con servicios AWS. Terraform tiene mejor sintaxis (HCL), mayor comunidad y más flexibilidad. CloudFormation tiene integración nativa con AWS, mejor soporte de servicios nuevos y es gratuito. Para proyectos solo AWS, ambos son válidos. Para multi-cloud, Terraform es la mejor opción.

#terraform#cloudformation#aws#iac#infraestructura como código

Si trabajas con AWS, probablemente te hayas preguntado: ¿Terraform o CloudFormation? Ambas son excelentes herramientas de Infraestructura como Código, pero tienen diferencias importantes. En este artículo te explico las diferencias clave y cuándo usar cada una.

¿Qué es Terraform?

Terraform es una herramienta de código abierto de HashiCorp para gestionar infraestructura como código. Funciona con múltiples proveedores de nube (AWS, Azure, GCP, etc.) y servicios.

¿Qué es CloudFormation?

CloudFormation es el servicio nativo de AWS para gestionar infraestructura como código. Solo funciona con servicios de Amazon Web Services.

Comparativa: Terraform vs CloudFormation

AspectoTerraformCloudFormation
ProveedoresMulti-cloud (AWS, Azure, GCP, 100+)Solo AWS
SintaxisHCL (más legible)JSON/YAML (más verboso)
Estado (State)Gestionado por TerraformGestionado por AWS
ComunidadMuy grande y activaGrande pero enfocada en AWS
Curva de aprendizajeMediaMedia-Alta
Integración AWSBuenaExcelente (nativa)
Soporte servicios nuevosDepende de la comunidadInmediato (AWS)
CostoGratuitoGratuito
Módulos/StacksMódulos reutilizablesStacks y Nested Stacks
Plan (preview)Sí (terraform plan)Sí (change sets)
RollbackManualAutomático

Ventajas de Terraform

  • Multi-cloud: Funciona con AWS, Azure, GCP y más
  • Sintaxis HCL más legible y expresiva
  • Gran comunidad y ecosistema de módulos
  • Más flexible y extensible
  • Mejor para proyectos que pueden migrar entre nubes
  • State local o remoto (más control)

Ventajas de CloudFormation

  • Integración nativa con AWS (mejor soporte)
  • Soporte inmediato para servicios nuevos de AWS
  • Rollback automático en caso de error
  • Drift detection nativo
  • Stack policies para control de acceso
  • Mejor para equipos 100% AWS
  • Gratis (solo pagas por recursos creados)

¿Cuándo usar Terraform?

Elige Terraform cuando:

  • Trabajas con múltiples proveedores de nube
  • Quieres evitar vendor lock-in
  • Prefieres sintaxis más legible (HCL)
  • Necesitas mayor flexibilidad
  • Tu equipo ya conoce Terraform
  • Quieres reutilizar código entre proyectos

¿Cuándo usar CloudFormation?

Elige CloudFormation cuando:

  • Trabajas exclusivamente con AWS
  • Necesitas soporte inmediato para servicios nuevos de AWS
  • Valoras el rollback automático
  • Tu organización estándar es CloudFormation
  • Quieres integración nativa con otros servicios AWS
  • Necesitas drift detection

Ejemplo de Sintaxis

Comparación de sintaxis para crear un bucket S3:

Terraform (HCL)

resource "aws_s3_bucket" "mi_bucket" {
  bucket = "mi-bucket-2025"
  
  tags = {
    Name = "Mi Bucket"
  }
}

CloudFormation (YAML)

Resources:
  MiBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: mi-bucket-2025
      Tags:
        - Key: Name
          Value: Mi Bucket

¿Puedo usar ambos?

Sí, puedes usar ambos en el mismo proyecto, pero no es recomendado porque:

  • Puede crear conflictos en la gestión de recursos
  • Aumenta la complejidad
  • Dificulta el mantenimiento
  • Mejor elegir uno y ser consistente

Conclusión

Terraform y CloudFormation son ambas excelentes herramientas. Si trabajas solo con AWS y valoras la integración nativa, CloudFormation es una gran opción. Si necesitas flexibilidad multi-cloud o prefieres sintaxis más legible, Terraform es la mejor elección. Para la mayoría de casos, Terraform ofrece más flexibilidad a largo plazo.

Domina AWS desde cero

Prepárate para tu Certificación AWS con laboratorios 100% prácticos y mentoría directa en nuestra Comunidad de Ingenieros.

Cuentas Temporales Incluidas • Mentoría SRE • Casos Reales