Abstract

Microservices constitute a modern style of building software applications as collections of small, cohesive, and loosely coupled services, i.e., modules, that are developed, deployed, and scaled independently. The migration from legacy systems towards the microservice-based architecture is not a trivial task. It is still manual, time-consuming, error-prone and subsequently costly. The most critical and challenging issue is the cost-effective identification of microservices boundaries that ensure adequate granularity and cohesiveness. To address this problem, we introduce in this paper a novel approach, named MSExtractor , that formulates microservices identification as a multi-objective optimization problem. The proposed solution aims at decomposing a legacy application into a set of cohesive, loosely-coupled and coarse-grained services. We employ the Indicator-Based Evolutionary Algorithm (IBEA) to drive a search process towards optimal microservices identification while considering structural and semantic dependencies in the source code. We conduct an empirical evaluation on a benchmark of seven software systems to assess the efficiency of our approach. Results show that MSExtractor is able to carry out an effective identification of relevant microservice candidates and outperforms three other existing approaches. In this paper, we show that MSExtractor is able to extract cohesive and loosely coupled services with higher performance than three other considered methods. However, we advocate that while automated microservices identification approaches are very helpful, the role of the human experts remains crucial to validate and calibrate the extracted microservices.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.