La idea de este proyecto es construir un editor de imagenes usando CDK para levantar la infraestructura en AWS.
La idea es que nuestros clientes puedan llamar a un endpoint de una API, con su imagen y nosotros retornamos la imagen editada
La primera versión de la infraestructura constará de solo dos recursos, un api gateway y una lambda.
El api gateway nos brindará una URL para invocar a nuestro editor de imagenes.
La lambda, será nuestra capa de computo, acá es donde editaremos la imagen y la dejaremos lista para ser devuelta a un usuario por la misma API
Primero, siempre puedes saber si tu infraestructura esta bien ejecutando cdk synth
Al ejecutar ese comando, se generará un archivo en la carpeta cdk.out con los recursos de tu stack.
Si no tienes problemas con el paso anterior entonces estas listo para desplegar tu infraestructura!!
Para eso ejecuta cdk deploy
Como no queremos mantener todo el proceso de backend junto, vamos a dividir un poco más la infraestructura y así delegar responsabilidades. (divide and conquer) La infraestructura 2.0 queda así:
- Un API para recibir requests
- Una lambda que recibe aquella request y guarda la imagen en un bucket
- Un bucket para guardar imagenes
- Una topico SNS que es notificado si hay un archivo nuevo en un bucket
- Una lambda que modifica la imagen
- Una lambda que envia la imagen al cliente final
Para crear la layer deben tener Docker instalado y luego:
cd lib
sh layer.sh
olayer.cmd
según el sistema operativo
Para utilizar este repo se requiere tener node instalado y luego:
npm install
para instalar las librerías necesariascdk diff
para ver los cambios con el stack ya creadocdk synth
para ver el stack creado en formato cloudformationcdk deploy
para hacer deploy del stack
Cualquier duda pueden contactarme por correo a dev.dgonzalez@gmail.com