From legacy to microservices: A type-based approach for microservices identification using machine learning and semantic analysis

被引:14
作者
Trabelsi, Imen [1 ]
Abdellatif, Manel [1 ]
Abubaker, Abdalgader [2 ,3 ]
Moha, Naouel [1 ]
Mosser, Sebastien [4 ]
Ebrahimi-Kahou, Samira [1 ,2 ,5 ]
Gueheneuc, Yann-Gael [6 ]
机构
[1] Ecole Technol Super, Dept Software Engn & Informat Technol, Montreal, PQ, Canada
[2] Mila Quebec Artificial Intelligence Inst, Montreal, PQ, Canada
[3] Univ Khartoum, Dept Pure Math, Khartoum, Sudan
[4] McMaster Univ, Hamilton, ON, Canada
[5] CIFAR Al Chair, Toronto, ON, Canada
[6] Concordia Univ, Dept Comp Sci & Software Engn, Montreal, PQ, Canada
关键词
decomposition; microservices; migration; ML; monolith; semantic analysis;
D O I
10.1002/smr.2503
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The microservices architecture (MSA) style has been gaining interest in recent years because of its high scalability, ability to be deployed in the cloud, and suitability for DevOps practices. While new applications can adopt MSA from their inception, many legacy monolithic systems must be migrated to an MSA to benefit from the advantages of this architectural style. To support the migration process, we propose MicroMiner, a microservices identification approach that is based on static-relationship analyses between code elements as well as semantic analyses of the source code. Our approach relies on machine learning (ML) techniques and uses service types to guide the identification of microservices from legacy monolithic systems. We evaluate the efficiency of our approach on four systems and compare our results to ground-truths and to those of two state-of-the-art approaches. We perform a qualitative evaluation of the resulted microservices by analyzing the business capabilities of the identified microservices. Also a quantitative analysis using the state-of-the-art metrics on independence of functionality and modularity of services was conducted. Our results show the effectiveness of our approach to automate one of the most time-consuming steps in the migration of legacy systems to microservices. The proposed approach identifies architecturally significant microservices with a 68.15% precision and 77% recall.
引用
收藏
页数:23
相关论文
共 45 条
[21]   Service Cutter: A Systematic Approach to Service Decomposition [J].
Gysel, Michael ;
Kolbener, Lukas ;
Giersche, Wolfgang ;
Zimmermann, Olaf .
SERVICE-ORIENTED AND CLOUD COMPUTING, (ESOCC 2016), 2016, 9846 :185-200
[22]   Microservice Ambients: An Architectural Meta-modelling Approach for Microservice Granularity [J].
Hassan, Sara ;
Ali, Nour ;
Bahsoon, Rami .
2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA 2017), 2017, :1-10
[23]  
Huergo R.S., 2014, IT Convergence Practice, V2, P1
[24]  
Iyyer M, 2015, PROCEEDINGS OF THE 53RD ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS AND THE 7TH INTERNATIONAL JOINT CONFERENCE ON NATURAL LANGUAGE PROCESSING, VOL 1, P1681
[25]  
Jain H., 2004, International Journal of Web Services Research, V1, P1, DOI 10.4018/jwsr.2004010101
[26]   Service Candidate Identification from Monolithic Systems Based on Execution Traces [J].
Jin, Wuxia ;
Liu, Ting ;
Cai, Yuanfang ;
Kazman, Rick ;
Mo, Ran ;
Zheng, Qinghua .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (05) :987-1007
[27]  
Khadka Ravi, 2013, 2013 IEEE 7th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA), P2, DOI 10.1109/MESOCA.2013.6632729
[28]  
Kipf T. N., 2016, ARXIV
[29]   Workload-based Clustering of Coherent Feature Sets in Microservice Architectures [J].
Klock, Sander ;
van der Werf, Jan Martijn E. M. ;
Guelen, Jan Pieter ;
Jansen, Slinger .
2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA 2017), 2017, :11-20
[30]   Digital Transformation and the Role of Dynamic Tooling in Extracting Microservices from Existing Software Systems [J].
Lapuz, Neil ;
Clarke, Paul ;
Abgaz, Yalemisew .
SYSTEMS, SOFTWARE AND SERVICES PROCESS IMPROVEMENT, EUROSPI 2021, 2021, 1442 :301-315