Portal Serverless | Arquitectura en AWS

·
Cover for Portal Serverless | Arquitectura en AWS

Arquitectura Serverless para Portal: Gestión Segura de Datos en la Nube

No es secreto que las empresas necesitan soluciones robustas para gestionar grandes volúmenes de datos de telemetría de manera segura y eficiente. En Tucanbit, hemos desarrollado un portal moderno demostrativo que permite a las organizaciones gestionar la carga, descarga y visualización de archivos que recolectan las métricas de dispositivos IoT; utilizando una arquitectura completamente serverless en AWS. Este artículo explora cómo integramos tecnologías como Angular, AWS Cognito, CloudFront, APIGateway, AWS Lambda, DynamoDB y S3 para crear una solución escalable, segura y optimizando costos para la gestión de archivos.

Arquitectura Serverless:

La arquitectura del portal sigue principios serverless, eliminando la necesidad de gestionar servidores tradicionales, permitiendo escalabilidad automática y optimizando costos.

Arquitectura de Alto Nivel

Componentes tecnológicos involucrados en la solución:

1. Frontend

El portal está desarrollado en Angular y desplegado como contenido estático en Amazon S3. Esta elección elimina la necesidad de servidores web dedicados y se integra naturalmente con Amazon CloudFront. Gracias a la red global de distribución de contenido, la aplicación se entrega con baja latencia y alta disponibilidad, incluso para usuarios en ubicaciones remotas.

2. Autenticación y Autorización

La seguridad en el acceso se gestiona con Amazon Cognito, que permite manejar identidades de usuarios sin necesidad de implementar un sistema de autenticación propio. Con funcionalidades como registro, inicio de sesión, recuperación de contraseñas y control de acceso por grupos, Cognito ofrece un esquema completo para la administración de usuarios. Además, su compatibilidad con flujos OIDC facilita la integración con proveedores externos, habilitando autenticación federada de forma sencilla y segura.

3. Backend

La lógica del portal se implementa mediante AWS Lambda utilizando .NET Core como runtime. Cada función Lambda actúa como un microservicio especializado en una operación concreta, incluyendo la generación de presigned URLs para la carga de archivos y de signed URLs mediante CloudFront para la descarga. Estas funciones se integran con DynamoDB y S3, siguiendo principios de Clean Architecture y Clean Code, garantizando una separación clara de responsabilidades, mayor mantenibilidad y capacidad de escalar de manera independiente. Además, el desarrollo se alinea con los 12 factores para aplicaciones nativas en la nube, asegurando portabilidad, escalabilidad y facilidad de despliegue.

4. APIs

Se exponen las APIs RESTful mediante AWS APIGateway que actúa como un API Proxy para la integración entre los endpoints y las funciones lambda. Para la seguridad de las APIs se lo realiza creando un autorizador con integración a AWS Cognito, añadiendo una capa de control de acceso robusta que permite dar acceso a las APIs solo a usuarios autorizados. Adicional AWS APIGateway tiene la configuración de límites de tráfico incluyendo políticas de rate y burst, lo que asegura la protección de los microservicios frente a posibles abusos o cargas inesperadas.

5. Base de Datos

La persistencia de datos se resuelve con una combinación de Amazon DynamoDB y Amazon S3. DynamoDB, como base de datos NoSQL, almacena los metadatos de los archivos con tiempos de respuesta consistentes y escalabilidad automática. En paralelo, Amazon S3 gestiona el almacenamiento masivo de los archivos, ofreciendo durabilidad prácticamente ilimitada, políticas de ciclo de vida para optimización de costos y seguridad nativa en el acceso a los objetos.

6. Seguridad

La gestión de configuración sensible se centraliza con AWS Secrets Manager, que almacena de forma segura credenciales y configuraciones críticas, incluyendo las claves privadas necesarias para la generación de URLs firmadas.

La configuración de CORS de CloudFront y APIGateway como mecanismo preventivo de uso de estos recursos en páginas web no autorizadas o no permitidas explícitamente.

Es relevante mencionar que integrando CloudFront + AWS WAF y APIGateway + AWS WAF, que agrega protección adicional como filtrado de tráfico malicioso, bloqueo de ataques comunes, inyecciones SQL o patrones automatizados de bots.

7. Monitoreo

El funcionamiento del sistema se supervisa mediante Amazon CloudWatch, que recolecta métricas, logs y alarmas de todos los servicios involucrados. Esta visibilidad completa permite reaccionar rápidamente frente a fallos y, al mismo tiempo, analizar patrones de uso para anticipar mejoras. De esta manera, se garantiza que la solución no solo funcione de forma estable, sino que también pueda evolucionar conforme aumenten las necesidades de los usuarios.

Infraestructura como Código

La infraestructura del portal se provisionó utilizando Infraestructura como Código (IaC), lo que permite definir y gestionar recursos de AWS de manera declarativa y versionable. Para este proyecto, se emplearon dos herramientas principales:

  • Terraform/Terragrunt: Utilizado para el provisionamiento de infraestructura, permitiendo una gestión modular y reutilizable de recursos a través de múltiples entornos.
  • CloudFormation: Empleado para crear templates específicos de recursos AWS, facilitando la automatización y el despliegue consistente de la infraestructura.

Beneficios de la Arquitectura Serverless

1. Escalabilidad Automática

La capacidad de la solución para adaptarse a la demanda es inherente al uso de servicios como AWS Lambda, DynamoDB y S3. Esto permite que el sistema escale de forma transparente, desde unas pocas solicitudes hasta miles de interacciones simultáneas, sin necesidad de aprovisionar servidores adicionales ni ajustar configuraciones manuales. En la práctica, el portal puede crecer al ritmo de los usuarios y sus cargas de trabajo, maximizando la probabilidad de mantener una experiencia fluida incluso en escenarios de alta demanda.

2. Optimización de costos

La arquitectura elimina los costos fijos asociados a servidores tradicionales. Con Lambda, la facturación se realiza por milisegundos de ejecución y recursos consumidos; con S3 y DynamoDB, el cobro está ligado al volumen real de almacenamiento y operaciones. Los costos tienden a alinearse con el uso real, siempre que se configuren adecuadamente los modelos de consumo, reduciendo el gasto innecesario.

3. Alta Disponibilidad y Fiabilidad

La infraestructura de AWS está diseñada para ser resiliente desde el inicio, aunque es importante considerar patrones de resiliencia. Al desplegarse en múltiples zonas de disponibilidad, los servicios pueden recuperarse automáticamente de fallos sin interrumpir la operación del portal. Además, la distribución global a través de CloudFront garantiza baja latencia en cualquier ubicación, mejorando la experiencia del usuario final incluso en escenarios de acceso remoto.

4. Seguridad

La arquitectura serverless mejora la seguridad al delegar la gestión de infraestructura a proveedores como AWS, quienes implementan actualizaciones automáticas de seguridad, cifrado de datos en tránsito y en reposo, y cumplimiento con estándares globales. Esto reduce el riesgo de vulnerabilidades humanas y permite enfocarse en la lógica de negocio en lugar de parches y configuraciones de seguridad.

5. Agilidad en el Desarrollo y la Operación

La arquitectura serverless fomenta simplificar el desarrollo de una aplicación permitiendo al equipo enfocarse en la evolución del negocio y no en la administración de la infraestructura. Nuevas versiones pueden desplegarse sin generar tiempos de inactividad, y el uso de CI/CD asegura un flujo constante de actualizaciones.

En funcionamiento

- Frontend + Autenticación y Autorización

  • Integración con AWS Cognito para login seguro
  • Control de acceso basado en grupos de Cognito (RBAC por organización)
  • Flujo OIDC para autenticación federada

Pantalla de inicio de sesión

- Backend + APIs + Seguridad

  • Integración de APIGateway (Authorizer, CORS) + Lambda

Pantalla de proyectos por organización

- Base de Datos

  • Subida de archivos mediante URLs prefirmadas (presigned URLs)
  • Descarga de archivos con URLs firmadas (signed URLs)

Pantalla de archivos por proyecto

- Monitoreo

  • Visualización de logs, rendimiento

Pantalla de archivos por proyecto

Explora el Portal en Acción

Credenciales

👁️ Demo interactiva: industry4.tucanbit.com

Conclusión

La implementación serverless de este portal demuestra que es posible gestionar datos de manera eficiente, segura y escalable sin depender de servidores tradicionales. La solución ajusta automáticamente su capacidad a la demanda, optimiza costos y mantiene alta disponibilidad, garantizando una experiencia fluida para los usuarios.

Con baja latencia y costos operativos mínimos en el nivel gratuito de AWS, este enfoque valida la viabilidad de la nube para modernizar infraestructuras de datos. Además, establece un modelo replicable para futuras iniciativas serverless, facilitando la evolución tecnológica de la organización de forma ágil y segura.

¿Listo para Implementar Serverless en tu Proyecto?

📧 Contáctanos: info@tucanbit.com

Recursos Adicionales