Glosario Técnico

AWS CDK

Definición: Framework de infraestructura como codigo de AWS que permite definir recursos cloud usando lenguajes de programacion como TypeScript, Python o Java en lugar de YAML o JSON.

— Fuente: NERVICO, Consultoría de Desarrollo de Producto

Que es AWS CDK

AWS CDK (Cloud Development Kit) es un framework de codigo abierto que permite definir infraestructura cloud utilizando lenguajes de programacion de proposito general como TypeScript, Python, Java o C#. En lugar de escribir plantillas declarativas en YAML o JSON (como CloudFormation o Terraform), los desarrolladores usan las mismas herramientas, patrones y lenguajes con los que ya construyen aplicaciones. CDK sintetiza el codigo en plantillas CloudFormation que AWS ejecuta para crear los recursos.

Como funciona

El desarrollador escribe codigo usando constructos (constructs), que son componentes reutilizables que representan recursos de AWS. Existen tres niveles de constructos: L1 (mapeo directo a CloudFormation), L2 (abstracciones con valores por defecto razonables) y L3 (patrones completos que combinan multiples recursos). Por ejemplo, un constructo L3 puede crear un API Gateway con Lambda, DynamoDB y los permisos IAM necesarios en pocas lineas. Al ejecutar cdk deploy, el codigo se sintetiza en una plantilla CloudFormation y se despliega automaticamente.

Por que importa

Las herramientas declarativas de IaC como CloudFormation o Terraform requieren aprender un lenguaje especifico y carecen de las capacidades de abstraccion, composicion y reutilizacion de un lenguaje de programacion real. CDK permite crear componentes de infraestructura reutilizables, aplicar logica condicional, usar bucles y beneficiarse del autocompletado y la verificacion de tipos del IDE. Esto reduce errores y acelera la definicion de infraestructura compleja.

Ejemplo practico

Un equipo necesita crear entornos identicos para desarrollo, staging y produccion. Con CDK en TypeScript, definen una clase BackendStack que incluye una API Gateway, tres funciones Lambda, una tabla DynamoDB y una cola SQS. Para cada entorno, instancian la misma clase con parametros diferentes (tamanio de la tabla, memoria de Lambda, nombre del dominio). Tres entornos completos se crean ejecutando un solo comando, con la garantia de que son estructuralmente identicos.

Terminos relacionados

¿Necesitas ayuda con desarrollo de producto?

Te ayudamos a acelerar tu desarrollo con tecnología puntera y mejores prácticas.