Arquitectura 03
Demo de una arquitectura orientada a eventos en AWS donde el procesamiento de imágenes ocurre de forma asíncrona, desacoplada y sin gestionar servidores.
Una plataforma que recibe imágenes a través de una API REST, las almacena en Amazon S3 y desencadena automáticamente un pipeline serverless que genera tres versiones redimensionadas: 800×600, 400×300 y 150×150. Los metadatos del procesamiento se persisten en DynamoDB y se envía una notificación vía SNS.
Upload
El usuario sube la imagen vía API REST. El backend la deposita en el bucket S3 de input bajo el prefijo image-resize/input/.
Evento disparado
S3 emite un evento s3:ObjectCreated:* con entrega at-least-once hacia SQS en cuanto el objeto está disponible.
Buffer y retry
SQS actúa como buffer. VisibilityTimeout = 6× el timeout de Lambda. Tras 3 fallos el mensaje pasa a la DLQ.
Procesamiento
Lambda descarga la imagen en memoria, genera 3 versiones con Pillow y las sube a S3 output bajo resized/.
Persistencia
Lambda registra el resultado en DynamoDB: status, rutas S3 de las versiones, dimensiones originales y timestamp.
Notificación y acceso
SNS notifica el resultado (email/webhook). Las imágenes se sirven vía CloudFront con URLs firmadas (expiran en 24 h).
Sube una imagen y observa cómo aparece procesada en la galería tras unos segundos. Usa el botón Actualizar para refrescar la galería.
Arrastra una imagen o haz clic para seleccionar
JPEG, PNG, GIF, WebP, SVG · máx. 10 MB