ENES

AWS CloudFormation

Describís tu infraestructura de AWS en un archivo de texto y AWS la construye tal cual.

Un archivo de plantilla con unas líneas de YAML, una flecha que dice deploy, y un stack con un bucket, una función y una tabla

AWS CloudFormation es el servicio de AWS para infraestructura como código. En vez de ir clickeando en la consola para crear una VPC, dos servidores, una base de datos y los permisos entre ellos, escribís una plantilla (un archivo YAML o JSON) que lista esos recursos y su configuración. Le entregás la plantilla a CloudFormation y crea todo, en el orden correcto, como un stack.

El valor aparece la segunda vez. ¿Necesitás el mismo ambiente para pruebas? Desplegás la misma plantilla con otro nombre. ¿Necesitás una base más grande? Editás el archivo, actualizás el stack, y CloudFormation calcula la diferencia y aplica solo eso. ¿El cambio salió mal? Vuelve al estado anterior. La plantilla vive en Git, así que cada cambio en la infraestructura tiene autor, revisión e historia.

Ejemplo: una plantilla de 150 líneas define una función AWS Lambda, su rol de IAM, un Amazon API Gateway adelante y una tabla de Amazon DynamoDB. Un comando (aws cloudformation deploy) crea las cuatro cosas en un par de minutos; borrar el stack borra las cuatro, sin que quede nada olvidado y facturando.

Las plantillas crudas se vuelven largas, así que muchos equipos las generan: el AWS CDK permite describir los mismos recursos en código TypeScript o Python que se compila a CloudFormation, y AWS SAM es una forma abreviada para apps serverless. Terraform es la alternativa popular que funciona en cualquier nube.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de AWS