返回
Improving microservices extraction using evolutionary search
DOI:10.1016/j.infsof.2022.106996.png)
摘要
En 中文
Context: 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. Objective: 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. Method: 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. Results: 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. Conclusion: 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.
Keyword:
Microservices
Search-based software engineering
Legacy decomposition
Microservices architecture
期刊
IF:
4.3
论文数:
3.8K
被引数:
7.7K
机构
引用论文
Microscale forced combustion: Pyrolysis-combustion flow calorimetry (PCFC)微尺度强制燃烧: 热解-燃烧流量量热法 (PCFC)
Corrigendum to “The role of carbon in the nitridic high performance ceramics in the system Si–B–N–C”
Multi-Criteria Code Refactoring Using Search-Based Software Engineering: An Industrial Case Study使用基于搜索的软件工程的多标准代码重构: 一个工业案例研究
An empirical study on the impact of refactoring activities on evolving client-used APIs重构活动对不断发展的客户使用api影响的实证研究

