Implementación de Patrones de Microservicios

Verdier, Diego - Rodríguez, Gonzalo

Supervisor(es): González, Laura - Vergara, Sebastián

Resumen:

En los últimos años la arquitectura de microservicios se ha posicionado en un lugar importante en las decisiones de diseño de los nuevos sistemas de software, así como también en lo que respecta a la modernización de sistemas monolíticos existentes y/o legados. Sin embargo, aún no se han estandarizado por completo buenas prácticas que se ajusten a todas las realidades de aplicación, por lo que existen barreras para la adopción de este enfoque. Un aspecto que facilita la implementación de este estilo arquitectónico es el concepto de patrón de microservicios, que provee de soluciones generales que son aplicadas a problemáticas que usualmente surgen al adoptar esta arquitectura. Sin embargo, aún existen algunas sin resolver. Por ejemplo, contar con un conjunto de patrones bien definidos, la interacción entre múltiples patrones, la dependencia o compatibilidad que se genera con la aplicación de uno u otro y la selección de las tecnologías para la implementación. Para abordar estas problemáticas, este proyecto propone una solución que asiste en la implementación de la arquitectura de microservicios guiada por patrones. En primer lugar, se realizó un análisis con el objetivo de identificar las principales funcionalidades que una solución de este estilo debería proveer. Dicho análisis constó de un relevamiento de los patrones utilizados actualmente tanto en la industria como en la academia, junto con el diseño de un modelo conceptual en el cual se instanciaron. En segundo lugar, se presentó una propuesta de solución que contempla las funcionalidades antes identificadas. La solución busca asistir en la toma de decisiones antes, durante y después del diseño de una aplicación utilizando microservicios. Se plantea una solución que brinda, en base a ciertas características de la realidad concreta, alternativas de diseño de arquitectura mediante la instanciación de patrones de microservicios específicos, conjuntamente con recomendaciones referentes a decisiones tecnológicas y compatibilidad entre los patrones. Por último, se desarrolló un prototipo que abarca parte del flujo de la solución presentada anteriormente. El prototipo provee de estructuras de código de los patrones, sumado a aplicaciones de ejemplo donde se implementan dichas estructuras.


Detalles Bibliográficos
2020
Arquitectura de microservicios
Patrones de microservicios
Saga
Circuit breaker
Implementación de microservicios
Plataforma de microservicios
Español
Universidad de la República
COLIBRI
https://hdl.handle.net/20.500.12008/25418
Acceso abierto
Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0)