Improving Microservices Identification for Migration to Cloud-Native Applications
Abstract
Recently, the software development industry has witnessed a growing trend toward migrating from monolithic systems to microservices. However, identifying microservice candidates from an existing monolith is a primary challenge in this migration process, often proving to be a complex and labor-intensive task. Current methods for identifying microservice candidates have major drawbacks. They fail to adequately cover the various dependencies between different system entities and their relative importance. Additionally, these methods neglect to simultaneously consider important microservice architectural characteristics, such as functional independence, data independence, and granularity. Typically, these identification methods involve graph modeling of system classes, followed by a clustering process to optimize coupling and cohesion between classes. Identifying microservices from such a graph in a large monolith requires significant time and computational power. To address these limitations, this paper proposes a method that utilizes structural, conceptual, behavioral, and database dependencies to identify microservice candidates from monolithic systems. This method simultaneously addresses key characteristics of the microservices architecture and attempts to manage the time cost of identifying microservices. The proposed method has been evaluated using four widely-used open-source projects as case studies, analyzing five metrics in total. The results show that our method outperforms existing approaches across various evaluation metrics.
Fields of Study & Subjects
Software Engineering Research
Software System Performance and Reliability
Advanced Software Engineering Methodologies
Publication details
- Journal / source
- IEEE Transactions on Services Computing
- Volume
- 19
- Issue
- 3
- Pages
- 2191–2204
- Publication date
- 28 January 2026