Ir al contenido principal

Disponibilidad: Valet Key pattern

Valet Key pattern


Problema:
Usuario desea subir archivo por medio de Aplicación y esta lo almacena en un Storage.

- El archivo debe pasar por la aplicación para subir y bajar el archivo. Un hilo haciendo streaming.
- Consumiendo recursos de la aplicación solo por ser una capa de paso.
- El storage subutilizado

Solución:


- Usuario solicita token a la aplicación
- Usuario va al storage con el token

Consideraciones:
- Token con tiempo limitado y con acceso únicamente al archivo. 
- Usar https, el token debe viajar de manera segura.
- Restringir el uso del token.Una sola vez.
- Controlar el tamaño de los archivos
- Validar data, y considerar que toda la data es maliciosa. 
- Trackear las acciones, saber quien subió y bajo los archivos.

Cuando?
- Minimizar el uso de recursos.
- Minimizar costos.
- Carga y descarga periódica de archivos.
- Los archivos se encuentran en un almacén remoto.

 

Referencia:

Código Git: valet-key

Comentarios

Entradas más populares de este blog

Antipatrones Microservicios

1. Migración de Manejo de Datos Antipatron. El antipatrón de migración basado en datos se produce principalmente cuando se migra de una aplicación monolítica a una arquitectura de microservicios. La razón por la que esto es un antipatrón es que al principio parece una buena idea migrar la funcionalidad del servicio y los datos correspondientes al crear microservicios, pero como aprenderá en este capítulo, esto lo llevará por un mal camino que puede resultar en alto riesgo, exceso de costo y esfuerzo de migración adicional. Comprender los riesgos relacionados con la migración de datos y la importancia de "datos sobre funcionalidad" es el primer paso para evitar este antipatrón. La técnica para evitar este antipraton consiste en realizar primero una migración de la funcionalidad, es decir, primero refactorizar el código fuente, pasando por primero modularizar el contexto o dominio y continuar con la definición y construcción de servicios, a medida que se conoce el código que se...

Microservice Architecture | Arquitectura de microservicios

Qué es  Arquitectura de microservicios ?   El estilo arquitectónico de microservicios es un enfoque para desarrollar una sola aplicación como un conjunto de pequeños servicios, cada uno de los cuales se ejecuta en su propio proceso y se comunica con mecanismos ligeros, a menudo una API de recursos HTTP. El hecho de que los  servicios son implementables y escalables de manera independiente, cada servicio también permite que se escriban diferentes servicios en diferentes lenguajes de programación. También pueden ser gestionados por diferentes equipos. Las aplicaciones creadas a partir de microservicios pretenden ser lo más desacopladas y cohesivas posible: poseen su propia lógica de dominio y actúan más como ltros en el sentido clásico de que reciben una solicitud, aplican la lógica según corresponda y producen una respuesta. Un servicio es una funcionalidad que se expone para su uso por otros procesos .  Que otros protocolos puedo us...

Referencia | Material de Apoyo

Arquitectura .NET Architecture Guides Architectural Patterns: Uncover essential patterns in the most indispensable Domain Driven Design Quickly Microservicios Practical Microservices: By Umesh Ram Sharma Building Microservices: Designing Fine-Grained Systems By Sam Newman SOA Design Patterns By Thomas Erl