Architecture Adviser : asistente para construcción de arquitecturas en microservicios

Goicoechea, Mariano - Domínguez, Juan

Supervisor(es): Llambías, Guzmán

Resumen:

Una arquitectura en microservicios es un estilo arquitectónico utilizado para la construcción de un único sistema, el cual está compuesto por muchos componentes o servicios más pequeños que se encuentran débilmente acoplados. A principios del 2010 grandes organizaciones como Ebay y Netflix empezaron a incursionar en esta arquitectura, logrando beneficios como alta disponibilidad, tolerancia a fallos y desarrollo de nuevas funcionalidades rápidamente. Esto llevó a que estas organizaciones evolucionen la mayoría de sus sistemas. El éxito que tuvieron llevó a que otras deseen optar por una arquitectura de este tipo. Pyxis es una empresa local de desarrollo de software, que se encarga de desarrollar sistemas para distintas organizaciones. Esta migró algunos de sus proyectos existentes a microservicios y comenzó algunos de sus nuevos sistemas utilizando esta arquitectura. Esto llevó a que la empresa cuente con varios sistemas con arquitecturas de este tipo, siendo construido cada uno por un equipo de desarrollo, que cuentan con su autonomía técnica, y define la mejor solución en base a los requerimientos y posibilidades de cada cliente. Dada la realidad de los distintos sistemas que desarrolló Pyxis, la empresa deseaba realizar un relevamiento de las arquitecturas de los distintos sistemas, generalizar las arquitecturas, y realizar un estudio de la industria y analizar el gap técnico que se tenía con respecto a ellas, para luego analizar los resultados y plantear posibles mejoras. Además de esto, la empresa deseaba contar con una herramienta que ayude en la toma de decisiones al crear proyectos en microservicios, logrando guiar y asesorar a los desarrolladores o arquitectos junior a la hora de crear sistemas con una arquitectura de microservicios. Como resultado de este proyecto se logró realizar el relevamiento y la generalización de las arquitecturas de microservicio de la empresa, analizar el gap técnico con respecto a un estudio de la industria y realizar sugerencias de mejoras de las mismas. Por último se desarrolló una herramienta que asesora a los usuarios en la construcción de sistemas con arquitecturas de microservicios. Esta herramienta ayuda a crear una arquitectura a partir de los requerimientos no funcionales, guiando al usuario con los elementos que debe tener en cuenta a la hora de construir una sistema, detectar incompatibilidades entre componentes, documentar y obtener información de los componentes de la arquitectura creada. Permitiendo además, que la persona a cargo defina las decisiones que guían al usuario durante el proceso.


Detalles Bibliográficos
2021
Arquitectura de microservicios
Modelo de toma de decisiones
Asesoramiento en microservicios
Relevamiento de arquitecturas
Español
Universidad de la República
COLIBRI
https://hdl.handle.net/20.500.12008/33570
Acceso abierto
Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0)