AWS CDK
Describir tu infraestructura de AWS en un lenguaje de programación real, no en YAML.
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
- Infraestructura en TypeScript, Python, Java, C# o Go.
- Sintetiza plantillas de CloudFormation; el deploy real lo hace CloudFormation.
- Los constructs empaquetan recursos con valores seguros por defecto y patrones reutilizables.
- Ayudantes como
grantReadgeneran permisos de IAM con el mínimo privilegio.