ENES

AWS CDK

Describir tu infraestructura de AWS en un lenguaje de programación real, no en YAML.

Unas pocas líneas de TypeScript se convierten, con cdk synth, en una plantilla larga de CloudFormation, que cdk deploy transforma en un bucket, una función y una cola

AWS CDK (Cloud Development Kit) es una herramienta de infraestructura como código donde describís servidores, buckets, colas y permisos en TypeScript, Python, Java, C# o Go. Por debajo no le habla directo a AWS: sintetiza tu programa en una plantilla de AWS CloudFormation, y CloudFormation crea o actualiza los recursos. Los dos comandos clave son cdk synth, que genera la plantilla, y cdk deploy, que la aplica.

Escribir un programa de verdad trae lo que cualquier programador ya conoce: loops, funciones, autocompletado, chequeo de tipos, tests y paquetes para compartir código. Unas pocas líneas como new s3.Bucket(this, 'Uploads', { versioned: true }) pueden expandirse en decenas de líneas de plantilla. Diez entornos parecidos pasan a ser un loop en vez de diez archivos copiados.

Las piezas se llaman constructs y vienen en niveles. Los de bajo nivel corresponden uno a uno con recursos de CloudFormation. Los de nivel más alto traen valores por defecto sensatos (un bucket cifrado y con el acceso público bloqueado salvo que digas lo contrario), y los más altos arman patrones enteros, como un servicio de contenedores con balanceador. Un ayudante que conviene conocer: bucket.grantRead(fn) te escribe la política de IAM, limitada justo a ese bucket. Cada cuenta y región necesita un cdk bootstrap una única vez antes del primer deploy.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de AWS