Towards a Process for Migrating Legacy Systems into Microservices Architectural Style
Resumo
Microservice architectural style is a paradigm to develop systems as a suite of small and autonomous services, communicating thought a lightweight protocol. Currently, the most common way of adopting microservice architectures is by the modernization of legacy monolith systems. The migration of a legacy system into a microservice architecture is not a trivial task. In addition, there is a lack of recommendation or guidelines on how to perform such process. In view of this, this paper presents a preliminary process for conducting the migration of legacy systems into microservice architectures. This process was defined by analyzing and discussing pieces of work on the topic. As result, we propose a process composed of eight steps, grouped in four phases, which we describe together with their common input and output.
Palavras-chave:
Software Evolution, Software Migration, Legacy Systems, Microservices
Referências
Ahmadvand, M. and Ibrahim, A. (2016). Requirements reconciliation for scalable andsecure microservice (de)composition. In IEEE 24th International Requirements Engineering Conference Workshops (REW), pages 68-73.
Ali, N., Ramos, I., and Solís, C. (2010). Ambient-prisma: Ambients in mobile aspect-oriented software architecture. Journal of Systems and Software, 83(6):937-958. Software Architecture and Mobility.
Balalaie, A., Heydarnoori, A., Jamshidi, P., Tamburri, D. A., and Lynn, T. (2018). Microservices migration patterns. Software Practice and Experience, 48(11):2019-2042.
Carvalho, L., Garcia, A., Assunção, W. K. G., Bonifácio, R., Tizzei, L. P., and Colanzi,T. E. (2019a). Extraction of configurable and reusable microservices from legacy systems: An exploratory study. In 23rd International Systems and Software Product Line Conference - Volume A, pages 26-31, New York, NY, USA. ACM.
Carvalho, L., Garcia, A., Assunção, W. K. G., de Mello, R., and de Lima, M. J. (2019b). Analysis of the criteria adopted in industry to extract microservices. In 7th International Workshop on Conducting Empirical Studies in Industry and 6th International Workshop on Software Engineering Research and Industrial Practice, pages 22-29.IEEE.
Casey, A., Beeler, R., Fry, C., Mauvais, J., Pernice, E., Shor, M., Spears, J., Speck, D.,and West, S. (2017). Strategies for migrating to a new experiment setup tool at thenational ignition facility.JACoW Publishing, pages 1-4.
Chen, R., Li, S., and Li, Z. (2018). From Monolith to Microservices: A Dataflow-Driven Approach. In Asia-Pacific Software Engineering Conference (APSEC), pages 466-475.
Di Francesco, P., Lago, P., and Malavolta, I. (2018). Migrating towards microservice architectures: an industrial survey. In IEEE international conference on software architecture (ICSA), pages 29-2909. IEEE.
Di Francesco, P., Lago, P., and Malavolta, I. (2019). Architecting with microservices: Asystematic mapping study. Journal of Systems and Software, 150:77-97.
Francesco, P. D., Malavolta, I., and Lago, P. (2017). Research on architecting microservices: Trends, focus, and potential for industrial adoption. In 2017 IEEE International Conference on Software Architecture (ICSA), pages 21-30.
Fritzsch, J., Bogner, J., Wagner, S., and Zimmermann, A. (2019). Microservices migrationin industry: Intentions, strategies, and challenges. In IEEE International Conference on Software Maintenance and Evolution (ICSME), pages 481-490. IEEE.
Fritzsch, J., Bogner, J., Zimmermann, A., and Wagner, S. (2018). From monolith to microservices: a classification of refactoring approaches. In International Workshopon Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, pages 128-141. Springer.
Hassan, S., Ali, N., and Bahsoon, R. (2017). Microservice Ambients: An Architectural Meta-Modelling Approach for Microservice Granularity. IEEE International Conference on Software Architecture (ICSA), pages 1-10.
Knoche, H. and Hasselbring, W. (2018). Using microservices for legacy software modernization. IEEE Software, 35(3):44-49.
Lewis, G., Plakosh, D., and Seacord, R. (2003). Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices. Addison-Wesley Pro-fessional.
Mayer, B. and Weinreich, R. (2018). An approach to extract the architecture of microservice-based software systems. In IEEE Symposium on Service-Oriented System Engineering (SOSE), pages 21-30.
Newman, S. (2015). Building Microservices. O’Reilly Media, 1st edition.
Ponce, F., Márquez, G., and Astudillo, H. (2019). Migrating from monolithic architecture to microservices: A rapid review. In 38th International Conference of the Chilean Computer Science Society (SCCC), pages 1-7. IEEE.
Rahman, M. T., Querel, L.P., Rigby, P. C., and Adams, B. (2016). Feature toggles: Practitioner practices and a case study. In13th International Conference on Mining Software Repositories (MSR), pages 201-211, New York, NY, USA. ACM.
Taibi, D., Lenarduzzi, V., and Pahl, C. (2017). Processes, motivations, and issues formigrating to microservices architectures: An empirical investigation. IEEE CloudComputing, 4(5):22-32.
Ali, N., Ramos, I., and Solís, C. (2010). Ambient-prisma: Ambients in mobile aspect-oriented software architecture. Journal of Systems and Software, 83(6):937-958. Software Architecture and Mobility.
Balalaie, A., Heydarnoori, A., Jamshidi, P., Tamburri, D. A., and Lynn, T. (2018). Microservices migration patterns. Software Practice and Experience, 48(11):2019-2042.
Carvalho, L., Garcia, A., Assunção, W. K. G., Bonifácio, R., Tizzei, L. P., and Colanzi,T. E. (2019a). Extraction of configurable and reusable microservices from legacy systems: An exploratory study. In 23rd International Systems and Software Product Line Conference - Volume A, pages 26-31, New York, NY, USA. ACM.
Carvalho, L., Garcia, A., Assunção, W. K. G., de Mello, R., and de Lima, M. J. (2019b). Analysis of the criteria adopted in industry to extract microservices. In 7th International Workshop on Conducting Empirical Studies in Industry and 6th International Workshop on Software Engineering Research and Industrial Practice, pages 22-29.IEEE.
Casey, A., Beeler, R., Fry, C., Mauvais, J., Pernice, E., Shor, M., Spears, J., Speck, D.,and West, S. (2017). Strategies for migrating to a new experiment setup tool at thenational ignition facility.JACoW Publishing, pages 1-4.
Chen, R., Li, S., and Li, Z. (2018). From Monolith to Microservices: A Dataflow-Driven Approach. In Asia-Pacific Software Engineering Conference (APSEC), pages 466-475.
Di Francesco, P., Lago, P., and Malavolta, I. (2018). Migrating towards microservice architectures: an industrial survey. In IEEE international conference on software architecture (ICSA), pages 29-2909. IEEE.
Di Francesco, P., Lago, P., and Malavolta, I. (2019). Architecting with microservices: Asystematic mapping study. Journal of Systems and Software, 150:77-97.
Francesco, P. D., Malavolta, I., and Lago, P. (2017). Research on architecting microservices: Trends, focus, and potential for industrial adoption. In 2017 IEEE International Conference on Software Architecture (ICSA), pages 21-30.
Fritzsch, J., Bogner, J., Wagner, S., and Zimmermann, A. (2019). Microservices migrationin industry: Intentions, strategies, and challenges. In IEEE International Conference on Software Maintenance and Evolution (ICSME), pages 481-490. IEEE.
Fritzsch, J., Bogner, J., Zimmermann, A., and Wagner, S. (2018). From monolith to microservices: a classification of refactoring approaches. In International Workshopon Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, pages 128-141. Springer.
Hassan, S., Ali, N., and Bahsoon, R. (2017). Microservice Ambients: An Architectural Meta-Modelling Approach for Microservice Granularity. IEEE International Conference on Software Architecture (ICSA), pages 1-10.
Knoche, H. and Hasselbring, W. (2018). Using microservices for legacy software modernization. IEEE Software, 35(3):44-49.
Lewis, G., Plakosh, D., and Seacord, R. (2003). Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices. Addison-Wesley Pro-fessional.
Mayer, B. and Weinreich, R. (2018). An approach to extract the architecture of microservice-based software systems. In IEEE Symposium on Service-Oriented System Engineering (SOSE), pages 21-30.
Newman, S. (2015). Building Microservices. O’Reilly Media, 1st edition.
Ponce, F., Márquez, G., and Astudillo, H. (2019). Migrating from monolithic architecture to microservices: A rapid review. In 38th International Conference of the Chilean Computer Science Society (SCCC), pages 1-7. IEEE.
Rahman, M. T., Querel, L.P., Rigby, P. C., and Adams, B. (2016). Feature toggles: Practitioner practices and a case study. In13th International Conference on Mining Software Repositories (MSR), pages 201-211, New York, NY, USA. ACM.
Taibi, D., Lenarduzzi, V., and Pahl, C. (2017). Processes, motivations, and issues formigrating to microservices architectures: An empirical investigation. IEEE CloudComputing, 4(5):22-32.
Publicado
11/11/2020
Como Citar
WOLFART, Daniele et al.
Towards a Process for Migrating Legacy Systems into Microservices Architectural Style. In: ESCOLA REGIONAL DE ENGENHARIA DE SOFTWARE (ERES), 4. , 2020, Evento Online.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2020
.
p. 255-264.
DOI: https://doi.org/10.5753/eres.2020.13736.