Modelos transaccionales avanzados como alternativa para la implementación de transacciones de larga duración en microservicios

Autores/as

  • Christian Andrés Candela Uribe Universidad del Quindío

Palabras clave:

Microservicios, MSA, Modelos transaccionales avanzados, Transacciones de larga duración

Resumen

La arquitectura de microservicios (MSA) ha ganado reconocimiento y aceptación en la industria del software, usándose cada vez más en el desarrollo de nuevos sistemas (Alshuqayran et al., 2016; Eismann et al., 2020; Marquez et al., 2018). Algunos de los motivos de su popularidad son: una base de código más pequeña que facilita el desarrollo, prueba e implementación de código más rápidos, así como la optimización de la plataforma en función del tipo de microservicio, soporte para equipos de desarrollo independientes y la capacidad de escalar cada componente independientemente (Chandramouli, 2019; Hassan et al., 2019).

Sin embargo, la MSA trae consigo múltiples desafíos, entre ellos, las operaciones transaccionales donde participan múltiples microservicios representan un reto latente a las organizaciones que desean adoptar una arquitectura basada en microservicios (Di Francesco et al., 2019; Knoche & Hasselbring, 2019; Waseem et al., 2020). Lo anterior, debido a que en MSA dichas transacciones pueden involucrar bases de datos (algunas incluso sin soporte transaccional) y elementos de comunicación asíncrona. Estos últimos con duración desconocida (transacciones de larga duración) lo que hace inviable el bloqueo de registros dificultando así conocer la verdad del estado del sistema (Elmagarmid, 1992; Knoche & Hasselbring, 2019).

Considerando lo expuesto anteriormente, no todas las transacciones de negocio pueden cumplir con las propiedades ACID (Dalal et al., 2003; Gray, 1981; Papazoglou, 2003; Papazoglou & Kratz, 2007; Sun & Aiello, 2007; Tang et al., 2011; Tang et al., 2006), por lo que podemos concluir que en operaciones transaccionales que abarcan más de un microservicios el modelo transaccional tradicional no es viable, siendo necesario plantear alternativas que permitan la realización de estas operaciones. Esposible buscar una alternativa en el conjunto de Modelos Transaccionales Avanzados (ATM – Advance Transactional Model) o Modelos Transaccionales Extendidos, los cuales relajan las propiedades ACID, no cumpliendo una o algunas de dichas propiedades, para soportar transacciones de larga duración (Elmagarmid, 1992; Torres et al., 2009).

Este trabajo busca adaptar un MTA para su uso en MSA como alternativa para la implementación de operaciones transaccionales que involucran múltiples microservicios. Para lograrlo, metodológicamente se plantea 5 etapas: Planteamiento del objetivo, Reunión y organización de información, Diseño, Evaluación y Presentación de resultados. Estas etapas se  basan en el método general de investigación referido por Sánchez (2004), además de elementos del flujo de trabajo de la investigación cualitativa descritos por Hernández-Sampieri and Torres (2018).

Descargas

Los datos de descargas todavía no están disponibles.

Referencias bibliográficas

Alshuqayran, N., Ali, N., & Evans, R. (2016, 4-6 Nov. 2016). A Systematic Mapping Study in Microservice Architecture. 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA),

Budgen, D., Turner, M., Brereton, P., & Kitchenham, B. (2008). Using Mapping Studies in Software Engineering (Vol. 2). https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf#zoom=100

Butzin, B., Golatowski, F., & Timmermann, D. (2016). Microservices approach for the internet of things. 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA),

Candela Uribe, C. A., Gómez-Betancur, D., Sepúlveda-Rodríguez, L., Chavarro-Porras, J., & Sanabria-Ordoñez, J. (2021). Problemas en la Implementación de Pruebas en Sistemas de Microservicios: Estudio de Mapeo Sistemático. Investigación e Innovación en Ingenierías, 9(3), 3-17. https://doi.org/10.17081/invinno.9.3.5314

Candela-Uribe, C. A., Sepúlveda-Rodríguez, L. E., Chavarro-Porras, J. C., Sanabria-Ordoñez, J. A., Garrido, J. L., Rodríguez-Domínguez, C., & Guerrero-Contreras, G. (2022). SMS-Builder: An adaptive software tool for building systematic mapping studies. SoftwareX, 17, 100935. https://doi.org/https://doi.org/10.1016/j.softx.2021.100935

Chandramouli, R. (2019). Security Strategies for Microservices-based Application Systems. In (Vol. 800-204): NIST.

Dalal, S., Temel, S., Little, M., Potts, M., & Webber, J. (2003). Coordinating business transactions on the web. IEEE Internet Computing, 7(1), 30-39.

Di Francesco, P., Lago, P., & Malavolta, I. (2019). Architecting with microservices: A systematic mapping study [Article]. Journal of Systems & Software, 150, 77-97. https://doi.org/10.1016/j.jss.2019.01.001

Eismann, S., Bezemer, C. P., Shang, W., Okanović, D., & Van Hoorn, A. (2020, 2020). Microservices: A performance tester's dream or nightmare?ICPE '20 New York, NY, USA.

Elmagarmid, A. K. (1992). Database transaction models for advanced applications. Morgan Kaufmann Publishers Inc.

Garcia-Molina, H., & Salem, K. (1987, 1987). Sagas.SIGMOD '87 New York, NY, USA.

Gray, J. (1981). The transaction concept: Virtues and limitations. VLDB,

Hassan, S., Bahsoon, R., & Kazman, R. (2019). Microservice Transition and its Granularity Problem: A Systematic Mapping Study.

Hernández-Sampieri, R., & Torres, C. P. M. (2018). Metodología de la investigación (Vol. 4). McGraw-Hill Interamericana México^ eD. F DF.

Kitchenham, B., Pretorius, R., Budgen, D., Brereton, O. P., Turner, M., Niazi, M., & Linkman, S. (2010). Systematic literature reviews in software engineering–a tertiary study. Information and software technology, 52(8), 792-805.

Knoche, H. h. i. u.-k. d., & Hasselbring, W. (2019). Drivers and Barriers for Microservice Adoption - A Survey among Professionals in Germany [Article]. Enterprise Modelling & Information Systems Architectures, 14(1), 1-35. https://doi.org/10.18417/emisa.14.1

Limόn, X., Guerra-Hernández, A., Sánchez-García, A. J., & Arriaga, J. C. P. (2018). SagaMAS: a software framework for distributed transactions in the microservice architecture. 2018 6th International Conference in Software Engineering Research and Innovation (CONISOFT),

Lugo Cabrera, C. M., Candela-Uribe, C. A., Gómez-Betancur, D., Chavarro-Porras, J. C., Sepúlveda-Rodríguez, L. E., & Sanabria-Ordoñez, J. A. (2021, 2021-11-17). Identificación de Modelos Transaccionales Avanzados para la Arquitectura de Microservicios: Un Estudio de Mapeo Sistemático. 3er Congreso Internacional de TIC para la Amazonía – Retos para la Transformación Digital,

Lugo Cabrera, C. M., Candela-Uribe, C. A., Sepúlveda-Rodríguez, L. E., Chavarro-Porras, J. C., & Sanabria-Ordoñez, J. A. (2022). Modelo transaccional avanzado capaz de adaptarse a las características de la arquitectura basada en microservicios. I ENCUENTRO INTERNACIONAL DE EXPERIENCIAS EN INVESTIGACIÓN FORMATIVA - EIEIF2022, II CONGRESO DE INVESTIGACIÓN E INNOVACIÓN EDUCAJAS,

Malyuga, K., Perl, O., Slapoguzov, A., & Perl, I. (2020). Fault tolerant central saga orchestrator in RESTful architecture. 2020 26th Conference of Open Innovations Association (FRUCT),

Marquez, G., Osses, F., & Astudillo, H. (2018). Review of architectural patterns and tactics for microservices in academic and industrial literature. IEEE Latin America Transactions, 16(9), 2321-2327.

Moreno-Cuesta, A., Candela-Uribe, C. A., Sepúlveda-Rodríguez, L. E., Chavarro-Porras, J. C., & Sanabria-Ordoñez, J. A. (2022). Service mesh como soporte de transacciones distribuidas en la arquitectura de microservicios. I ENCUENTRO INTERNACIONAL DE EXPERIENCIAS EN INVESTIGACIÓN FORMATIVA - EIEIF2022, II CONGRESO DE INVESTIGACIÓN E INNOVACIÓN EDUCAJAS,

Mourão, E., Kalinowski, M., Murta, L., Mendes, E., & Wohlin, C. (2017). Investigating the use of a hybrid search strategy for systematic reviews. 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM),

Neves, J. C. R. D. (2019). Technical Challenges of Microservices Migration

Nguyen, P. H., Kramer, M., Klein, J., & Le Traon, Y. (2015). An extensive systematic review on the model-driven development of secure systems. Information and software technology, 68, 62-81.

Papazoglou, M. P. (2003). Web services and business transactions. World Wide Web, 6(1), 49-91.

Papazoglou, M. P., & Kratz, B. (2007). Web services technology in support of business transactions. Service Oriented Computing and Applications, 1(1), 51-63.

Sánchez, J. C. (2004). Metodología de la investigación científica y tecnológica. Ediciones Díaz de Santos.

Sepúlveda-Rodríguez, L. E., Garrido, J. L., Chavarro-Porras, J. C., Sanabria-Ordoñez, J. A., Candela-Uribe, C. A., Rodríguez-Domínguez, C., & Guerrero-Contreras, G. (2021). Study-based Systematic Mapping Analysis of Cloud Technologies for Leveraging IT Resource and Service Management: The Case Study of the Science Gateway Approach. Journal of Grid Computing, 19(4), 41. https://doi.org/10.1007/s10723-021-09587-7

Singh, N. P., & Deshpande, A. (2020). Solving distributed transaction management problem in microservices architecture using Saga. ibm.com. Retrieved 2021-10-28 from https://developer.ibm.com/articles/use-saga-to-solve-distributed-transaction-management-problems-in-a-microservices-architecture/

Sun, C., & Aiello, M. (2007). Requirements and evaluation of protocols and tools for transaction management in service centric systems. 31st Annual International Computer Software and Applications Conference (COMPSAC 2007),

Tang, F., You, I., Li, L., Wang, C.-L., Cheng, Z., & Guo, S. (2011). A pipeline-based approach for long transaction processing in web service environments. International Journal of Web and Grid Services, 7(2), 190-207.

Tang, F.-L., Li, M.-L., & Huang, J. Z. (2006). Automatic transaction compensation for reliable grid applications. Journal of Computer Science and Technology, 21(4), 529-536.

Torres, J., Juárez, E., Dodero, J. M., Aedo, I., & de Yucatan, U. (2009). Advanced transactional models for complex learning processes. Recursos Digitales para el Aprendizaje, 360-368.

Viggiato, M., Terra, R., Rocha, H., Tulio Valente, M., & Figueiredo, E. (2018). Microservices in Practice: A Survey Study. eprint arXiv:1808.04836. http://adsabs.harvard.edu/abs/2018arXiv180804836V

Waseem, M., Liang, P., & Shahin, M. (2020). A Systematic Mapping Study on Microservices Architecture in DevOps. Journal of Systems and Software, 110798.

Zhang, G., Ren, K., Ahn, J.-S., & Ben-Romdhane, S. (2019). GRIT: consistent distributed transactions across polyglot microservices with multiple databases. 2019 IEEE 35th International Conference on Data Engineering (ICDE),

Descargas

Publicado

07-09-2022

Cómo citar

[1]
C. A. Candela Uribe, «Modelos transaccionales avanzados como alternativa para la implementación de transacciones de larga duración en microservicios», EIEI ACOFI, sep. 2022.