Migración de un monolito a una arquitectura basada en microservicios, caso de estudio sistema kbus
DOI:
https://doi.org/10.23857/dc.v6i2.1193Palabras clave:
Arquitectura de software, cloud computing, microservicios, monolitos, NodeJS.Resumen
El sistema de monitoreo y control de flota Kbus estó presente en 15 ciudades del Ecuador y 2 de Colombia, maneja diariamente alrededor de 5 millones de datos los cuales en mayor medida provienen de los equipos de rastreo GPS, ademós recibe 200 mil peticiones al día de los diversos clientes, sea desde la web o desde las aplicaciones móviles. Para realizar la migración se obtuvo el modelo tecnológico del monolito, los recursos disponibles, el níºmero de peticiones diarias, etc. Gracias a esta información fue posible la definición de los microservicios, la comunicación entre ellos y su agrupación, lo que permitió obtener una nueva Arquitectura. El monolito previo se encontraba en Java, sin embargo, para la migración se usó NodeJs bajo un contenedor Docker, para la implementación se trazó un plan de trabajo mediante Sprints basados en la metodología SCRUM. Finalmente se realizó la comparativa de rendimiento entre las 2 arquitecturas, obteniendo mejores resultados en tiempo de carga y de actualización con la arquitectura de microservicios.
Citas
F. Bucshmann, K. Henney, and D. C. Schmidt, Pattern-oriented software architecture. Chichester: Wiley, 1996.
P. C. Clements, "A survey of architecture description languages" Procedings of the 8th International Workshop on Software Specification and Design, Schloss Velen, 1996, pp. 16-25.
R. Monroe et al, Stylized architecture, design patterns and objects Carnegie Mellon University 1997.
Microsoft,«Layered application.,» 2004. [En línea]. Available: http://msdn.microsoft.com /architecture/patterns/default.aspx?pull=/libra. [Altimo acceso: 20 05 2017].
C. Reynoso, Introducción a la Arquitectura de Software, Universidad de Buenos Aires 2004.
M. Villamizar et al., "Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud" 2015 10th Computing Colombian Conference (10CCC), Bogota, 2015, pp. 583-590.
X. Feng et al , «REST:An Alternative to RPC for Web Services Architecture» 2009.
A.Manso, «SOA y Web Services» 2011. [En línea]. Available: http://soawebs.blogspot. com.co/2011/01/soa-y-web-services.html. [Altimo acceso: 19 05 2017].
IBM,Microservices 2007 .[Enlínea]. Available: https://www.ibm.com/developerworks/ssa /webservices/ newto/ws-websvc.html. [Altimo acceso: 21 05 2017].
S. Snepe, D. Namiot, «On micro-services architecture.» International Journal of Open Information Technologies, pp. 24-28, 2014.
C. de la Torre et al , «Microsoft Azure: Azure Service Fabric y la arquitectura de microservicios» Microsoft Magazine, 2015.
W. Hasselbring, «Microservices for Scalability.» de Proceedings of the 7th ACM/SPEC on International Conference on Performance Engineering. 2016
N. Dragoni et al, «Microservices : yesterday , today , and tomorrow.» 2016 [En línea]. Available: https://doi.org/10.13140/RG.2.1.3257.4961.
RedHat, «CONSIGA UNA ARQUITECTURA DE MICROSERVICIOS EXITOSA» 2016.
H. Knoche, «Sustaining Runtime Performance while Incrementally Modernizing Transactional Monolithic Software towards Microservices,» In Proceedings of the 7th ACM/SPEC on International Conference on Performance Engineering. 2016 , pp. 121-124.
Publicado
Cómo citar
Número
Sección
Licencia
Authors retain copyright and guarantee the Journal the right to be the first publication of the work. These are covered by a Creative Commons (CC BY-NC-ND 4.0) license that allows others to share the work with an acknowledgment of the work authorship and the initial publication in this journal.