así como IntelliJ. Así que empecemos. En primer lugar, lo que vamos a usar hoy es el
AWS Cloud Development Kit, o
CDK como todos lo llaman, es una de las herramientas de infraestructura como código que se ofrecen por
AWS y te permite escribir en tu lenguaje favorito y luego automáticamente, detrás de escena, cuando estamos construyendo nuestro artefacto, lo que sucede es que estamos generando una plantilla de CloudFormation que luego se utilizará para el despliegue y aprovisionamiento de tu código e infraestructura. Ahora, intentemos ver un ejemplo. He preparado un par de ejemplos para que podamos empezar a ver eso. Así que el primer ejemplo aquí es sobre un ejemplo muy simple de Hola Mundo. He creado esta plantilla para usar ESM con nodos y usar
CDK para definir mi infraestructura. Como puedes ver aquí, la belleza de
CDK es que estoy escribiendo
TypeScript, que en este caso es mi lenguaje favorito para escribir
CDK. Y aquí tengo un constructo de alto nivel como una función de
node.js que extiende la función
Lambda. Como puedes ver aquí, está extendiendo este constructo, este constructo de bajo nivel que se llama función
Lambda y está agregando nuevas capacidades como la posibilidad de agregar opciones de empaquetado. Por defecto,
CDK te ofrece la posibilidad de usar ESBuild y, por lo tanto, ¿por qué no aprovechar eso para hacer que el tamaño de nuestro paquete sea más pequeño? Como puedes ver aquí, uso el empaquetado con una serie de configuraciones que me permiten tener la posibilidad de usar módulos ESM, así como otras capacidades como el esperar en el nivel superior, por ejemplo. Y ahora, si queremos desplegar esta solución en una cuenta de
AWS, es tan simple como escribir aquí
cdk deploy y luego decido qué perfil que configuré múltiples perfiles en mi máquina quiero usar, donde tengo la región, tengo mi información necesaria para desplegar esta carga de trabajo en la nube. Ahora es la primera vez que lo hago. Como puedes ver,
CDK me está diciendo, oh, por cierto, hay algunas cosas que necesitas desplegar, que son todas las cosas en verde. Como puedes ver aquí, eso será necesario para tener esta API funcionando dentro de mi sistema. Así que, está bien, esto es tan simple como una función
lambda con una API HTTP que actúa como proxy que muestra como API Gateway la posibilidad de exponer tu API. En un minuto, esto estará funcionando y disponible en la nube. Y mientras tanto, podemos ver que aquí tenemos la definición de mi hola ESM
lambda. Luego tenemos una definición de API HTTP que puedes hacer fácilmente con
CDK. Solo creo la integración que básicamente te permite tener todos los roles y configuraciones necesarios para enlazar en una ruta específica tu función
lambda. Y aquí tienes la ruta que es la ruta raíz, el método con el que puedes invocar esta función
lambda específica. Y eso es básicamente lo que obtienes. Y al final, vamos a tener también este constructo, esta salida de CFN, básicamente resalta dentro de tu línea de comandos, la URL donde puedes encontrar esta API. Tan simple como eso. Así que ahora hemos desplegado todo. Como puedes ver, tenemos una URL que es útil. Así que si todo va bien, deberíamos tener nuestra API funcionando. Y aquí estamos. Tenemos hola nodo.