Conceptos

AWS CloudFormation

Servicio nativo de AWS para definir y aprovisionar infraestructura como código usando plantillas YAML o JSON, con gestión de estado y rollback automático.

seed#aws#cloudformation#iac#yaml#provisioning#devops

¿Qué es?

AWS CloudFormation es el servicio nativo de infraestructura como código de AWS. Define recursos en plantillas YAML/JSON, y CloudFormation se encarga de crear, actualizar y eliminar recursos en el orden correcto, con rollback automático si algo falla.

Conceptos clave

  • Template: archivo YAML/JSON que describe los recursos
  • Stack: instancia de un template desplegado
  • Change set: preview de cambios antes de aplicar
  • Drift detection: detectar cambios manuales fuera de CloudFormation
  • StackSets: desplegar stacks en múltiples cuentas/regiones

CloudFormation como base

Tanto CDK como SAM generan CloudFormation templates. Entender CloudFormation es fundamental para debuggear problemas en cualquiera de estos frameworks.

Limitaciones

  • Verboso comparado con CDK o Terraform
  • Solo AWS (no multi-cloud)
  • Límite de 500 recursos por stack
  • Algunos recursos no soportados inmediatamente

CloudFormation vs Terraform

AspectoCloudFormationTerraform
ProveedorSolo AWSMulti-cloud
LenguajeYAML/JSONHCL
EstadoGestionado por AWSArchivo local o remoto
CostoGratisGratis (open source)

¿Por qué importa?

CloudFormation es el servicio nativo de IaC en AWS y la base sobre la que se construyen CDK y SAM. Entenderlo es necesario incluso si usas abstracciones de nivel superior, porque los errores de despliegue y los problemas de drift se diagnostican a nivel de CloudFormation.

Referencias

Conceptos