arrow
Return

Improving microservices extraction using evolutionary search

delete2022-11-01
delete13
PRE
AI
K
Khaled Sellami
A
Ali Ouni
S
Saied, Mohamed Aymen *
S
Salah Bouktif
M
Mohamed Wiem Mkaouer
DOI:10.1016/j.infsof.2022.106996delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

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.
Keywords:
Microservices
Search-based software engineering
Legacy decomposition
Microservices architecture

Journal

Information and Software Technology cover
Information and Software Technology
IF:
4.3
Papers:
3.8K
Citations:
7.7K

Organization

E
ecole de technologie superieure - canada
Scholars:
1.5K
Papers: 1.6K
Citations: 1
L
laval university
Scholars:
2.5W
Papers: 2.2W
Citations: 96
U
university of quebec
Scholars:
2.0W
Papers: 1.9W
Citations: 19
U
university of quebec montreal
Scholars:
3.9K
Papers: 3.5K
Citations: 7
researcher View more organizations
Cited Papers

Cited Papers

Performance assessment of multiobjective optimizers: An analysis and review
err2003-04-01
err3.1K
errOAAI
errZitzler, E; Thiele, L; Laumanns, M; Fonseca, CM; da Fonseca, VG
errShare
errSave
Multi-Criteria Code Refactoring Using Search-Based Software Engineering: An Industrial Case Study
err2016-06-30
err107
PREAI
errOuni, Ali; Kessentini, Marouane; Sahraoui, Houari; Inoue, Katsuro; Deb, Kalyanmoy
errShare
errSave
An empirical study on the impact of refactoring activities on evolving client-used APIs
err2018-01-01
err26
errOAAI
errKula, Raula Gaikovina; Ouni, Ali; German, Daniel M.; Inoue, Katsuro
errShare
errSave
errShare
errSave
Defining and measuring microservice granularity-a literature overview
err2021-09-08
err20
errOAAI
errVera-Rivera, Fredy H.; Gaona, Carlos; Astudillo, Hernan
errShare
errSave
researcher View more