Investigating Benefits and Limitations of Migrating to a Micro-Frontends Architecture

  • Fabio Antunes PUC-Rio
  • Maria Julia Dias de Lima PUC-Rio
  • Marco Antônio Pereira Araújo UFJF / IF Sudeste MG
  • Davide Taibi University of Oulu
  • Marcos Kalinowski PUC-Rio

Resumo


[Context] The adoption of micro-frontends architectures has gained traction as a promising approach to enhance modularity, scalability, and maintainability of web applications. [Goal] The primary aim of this research is to investigate the benefits and limitations of migrating a real-world application to a micro-frontends architecture from the perspective of the developers. [Method] Based on the action research approach, after diagnosis and planning, we applied an intervention of migrating the target web application to a microfrontends architecture. Thereafter, the migration was evaluated in a workshop involving the remaining developers responsible for maintaining the application. During the workshop, these developers were presented with the migrated architecture, conducted a simple maintenance task, discussed benefits and limitations in a focus group to gather insights, and answered a questionnaire on the acceptance of the technology. [Results] Developers’ perceptions gathered during the focus group reinforce the benefits and limitations reported in the literature. Key benefits included enhanced flexibility in technology choices, scalability of development teams, and gradual migration of technologies. However, the increased complexity of the architecture raised concerns among developers, particularly in dependency and environment management, debugging, and integration testing. [Conclusions] While micro-frontends represent a promising technology, unresolved issues still limit their broader applicability. Developers generally perceived the architecture as useful and moderately easy to use but hesitated to adopt it.

Palavras-chave: Micro-frontends, Benefits and Limitations

Referências

Angular Architects. 2024. Angular Architects: Module Federation. [link]. Accessed: 2024-01-13.

Fabio Antunes, Maria Julia Lima, Marco Araujo, Davide Taibi, and Marcos Kalinowski. 2024. Investigating Benefits and Limitations of Migrating to a Micro-Frontends Architecture. DOI: 10.5281/zenodo.10951484

Deepika Badampudi. 2017. Reporting ethics considerations in software engineering publications. In 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE, 205–210.

Victor R Basili and H Dieter Rombach. 1988. The TAME project: Towards improvement-oriented software environments. IEEE Transactions on software engineering 14, 6 (1988), 758–773.

Mozilla Corporation. 2024. Web Components. [link]. Accessed: 2024-06-23.

Cypress.io, Inc. 2024. Cypress. [link]. Accessed: 2024-04-13.

Paulo Sergio Medeiros Dos Santos and Guilherme Horta Travassos. 2011. Action research can swing the balance in experimental software engineering. In Advances in computers. Vol. 83. Elsevier, 205–276.

Holger Harms, Collin Rogowski, and Luigi Lo Iacono. 2017. Guidelines for Adopting Frontend Architectures and Patterns in Microservices-Based Systems. ESEC/FSE (2017).

Cam Jackson. 2019. Micro Frontends. [link]. Accessed: 2024-04-13.

Jyrki Kontio, Johanna Bragge, and Laura Lehtola. 2008. The Focus Group Method as an Empirical Tool in Software Engineering. Springer London, London, 93–116. DOI: 10.1007/978-1-84800-044-5_4

MDN Web Docs. 2023. Web Storage API. [link]. Accessed: 2023-07-29.

Manel Mena, Antonio Corral, Luis Iribarne, and Javier Criado. 2019. A Progressive Web Application Based on Microservices Combining Geospatial Data and the Internet of Things. IEEE Access 7 (2019), 104577–104590. DOI: 10.1109/ACCESS.2019.2932196

Luca Mezzalira. 2021. Building Micro-Frontends. O’Reilly Media, Inc.

Jouni Männistö, Antti-Pekka Tuovinen, and Mikko Raatikainen. 2023. Experiences on a Frameworkless Micro-Frontend Architecture in a Small Organization. In 2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C). 61–67. DOI: 10.1109/ICSA-C57050.2023.00025

Network Working Group. 1999. RFC 2616 – Hypertext Transfer Protocol – HTTP/1.1. [link]. Accessed: 2023-07-29.

OpenJS Foundation. 2024. Module Federation. [link]. Accessed: 2024-01-13.

Andrey Pavlenko, Nursultan Askarbekuly, Swati Megha, and Manuel Mazzara. 2020. Micro-frontends: application of microservices to web front-ends. J. Internet Serv. Inf. Secur. 10, 2 (2020), 49–66.

Severi Peltonen, Luca Mezzalira, and Davide Taibi. 2021. Motivations, benefits, and issues for adopting Micro-Frontends: A Multivocal Literature Review. Information and Software Technology 136 (2021).

Miroslaw Staron. 2020. Action research in software engineering. Springer.

Davide Taibi and Luca Mezzalira. 2022. Micro-Frontends: Principles, Implementations, and Pitfalls. SIGSOFT Softw. Eng. Notes 47, 4 (sep 2022), 25–29. DOI: 10.1145/3561846.3561853

Mark Turner, Barbara Kitchenham, Pearl Brereton, Stuart Charters, and David Budgen. 2010. Does the technology acceptance model predict actual use? A systematic literature review. Information and software technology 52, 5 (2010), 463–479.

Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in software engineering. Springer Science & Business Media.
Publicado
30/09/2024
ANTUNES, Fabio; LIMA, Maria Julia Dias de; ARAÚJO, Marco Antônio Pereira; TAIBI, Davide; KALINOWSKI, Marcos. Investigating Benefits and Limitations of Migrating to a Micro-Frontends Architecture. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 38. , 2024, Curitiba/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 103-113. DOI: https://doi.org/10.5753/sbes.2024.3303.