Journal article
Refactoring Microservices to Microservices in Support of Evolutionary Design
IEEE transactions on software engineering, v 51(2), pp 1-17
2025
Featured in Collection : UN Sustainable Development Goals @ Drexel
Abstract
Evolutionary design is a widely accepted practice for defining microservice boundaries. It is performed through a sequence of incremental refactoring tasks (we call it " microservice refactoring "), each restructuring only part of a microservice system ( a.k.a., refactoring part ) into well-defined services for improving the architecture in a controlled manner. Despite its popularity in practice, microservice refactoring suffers from insufficient methodological support. While there are numerous studies addressing similar software design tasks, i.e. , software remodularization and microservitization, their approaches prove inadequate when applied to microservice refactoring. Our analysis reveals that their approaches may even degrade the entire architecture in microservice refactoring, as they only optimize the refactoring part in such applications, but neglect the relationships between the refactoring part and the remaining system. As the first response to the need, Micro2Micro is proposed to re-partition the refactoring part while optimizing three quality objectives including the interdependence between the refactoring and non-refactoring parts. In addition, it allows architects to intervene in the decision-making process by interactively incorporating their knowledge into the iterative search for optimal refactoring solutions. An empirical study on 13 open-source projects of different sizes shows that the solutions from Micro2Micro perform well and exhibit quality improvement with an average up to 45% to the original architecture. Users of Micro2Micro found the suggested solutions highly satisfactory. They acknowledge the advantages in terms of infusing human intelligence into decisions, providing immediate quality feedback, and quick exploration capability.
Metrics
Details
- Title
- Refactoring Microservices to Microservices in Support of Evolutionary Design
- Creators
- Chenxing Zhong - Nanjing UniversityShanshan Li - Nanjing UniversityHe Zhang - Nanjing UniversityHuang Huang - State Grid Nanjing Power Supply CompanyLanxin Yang - Nanjing UniversityYuanfang Cai - Drexel University
- Publication Details
- IEEE transactions on software engineering, v 51(2), pp 1-17
- Publisher
- IEEE; LOS ALAMITOS
- Number of pages
- 17
- Grant note
- Key Research and Development Program of Jiangsu Province: BE2021002-2 National Natural Science Foundation of China: 62302210, 62072227, 62202219 Natural Science Foundation of Jiangsu Province: BK20241195 Innovation Projects and Overseas Open Projects of State Key Laboratory for Novel Software Technology, Nanjing University: ZZKT2024A18, ZZKT2024B07, KFKT2023A09, KFKT2023A10, KFKT2024A02, KFKT2024A13, KFKT2024A14
This work was supported in part by the Key Research and Development Program of Jiangsu Province under Grant BE2021002-2, in part by the National Natural Science Foundation of China under Grant 62302210, Grant 62072227,Grant 62202219, in part by the Natural Science Foundation of Jiangsu Province under Grant BK20241195, and in part by the Innovation Projects and Overseas Open Projects of State Key Laboratory for Novel Software Technology, Nanjing University under Grant ZZKT2024A18, Grant ZZKT2024B07,Grant KFKT2023A09, Grant KFKT2023A10, Grant KFKT2024A02, Grant KFKT2024A13, Grant KFKT2024A14.
- Resource Type
- Journal article
- Language
- English
- Academic Unit
- Computer Science (Computing)
- Web of Science ID
- WOS:001421986900015
- Scopus ID
- 2-s2.0-85214378164
- Other Identifier
- 991022011882004721
UN Sustainable Development Goals (SDGs)
This publication has contributed to the advancement of the following goals:
InCites Highlights
Data related to this publication, from InCites Benchmarking & Analytics tool:
- Collaboration types
- Domestic collaboration
- International collaboration
- Web of Science research areas
- Computer Science, Software Engineering
- Engineering, Electrical & Electronic