Unsupervised learning approach for web application auto-decomposition into microservices

被引:46
作者
Abdullah, Muhammad [1 ]
Iqbal, Waheed [1 ,2 ]
Erradi, Abdelkarim [2 ]
机构
[1] Univ Punjab, PUCIT, Lahore, Pakistan
[2] Qatar Univ, Coll Engn, Dept Comp Sci & Engn, Doha, Qatar
关键词
Application decomposition; Scalability; Microservices; Web applications; Cloud computing;
D O I
10.1016/j.jss.2019.02.031
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Nowadays, large monolithic web applications are manually decomposed into microservices for many reasons including adopting a modern architecture to ease maintenance and increase reusability. However, the existing approaches to refactor a monolithic application do not inherently consider the application scalability and performance. We devise a novel method to automatically decompose a monolithic application into microservices to improve the application scalability and performance. Our proposed decomposition method is based on a black-box approach that uses the application access logs and an unsupervised machine-learning method to auto-decompose the application into microservices mapped to URL partitions having similar performance and resource requirements. In particular, we propose a complete automated system to decompose an application into microservices, deploy the microservices using appropriate resources, and auto-scale the microservices to maintain the desired response time. We evaluate the proposed system using real web applications on a public cloud infrastructure. The experimental evaluation shows an improved performance of the auto-created microservices compared with the monolithic version of the application and the manually created microservices. (C) 2019 Elsevier Inc. All rights reserved.
引用
收藏
页码:243 / 257
页数:15
相关论文
共 31 条
[1]  
Acme, 2018, AIR BENCHM WEB APPL
[2]  
Acme, AIR WORKL DRIV
[3]  
Alipour H, 2017, IEEE INT CONF BIG DA, P2433, DOI 10.1109/BigData.2017.8258201
[4]  
Alipourfard Omid, 2017, NSDI, V2, P4
[5]  
Almonaies Asil A., 2011, Proceed- ings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research, P229
[6]  
[Anonymous], 2018, ABS180301296 CORR
[7]  
[Anonymous], 2013 ACM CLOUD AUT C
[8]   Migrating to Cloud-Native Architectures Using Microservices: An Experience Report [J].
Balalaie, Armin ;
Heydarnoori, Abbas ;
Jamshidi, Pooyan .
ADVANCES IN SERVICE-ORIENTED AND CLOUD COMPUTING (ESOCC 2015), 2016, 567 :201-215
[9]   A Reinforcement Learning Approach to Online Web Systems Auto-configuration [J].
Bu, Xiangping ;
Rao, Jia ;
Xu, Cheng-Zhong .
2009 29TH IEEE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, 2009, :2-11
[10]   Supporting the Decision of Migrating to Microservices Through Multi-layer Fuzzy Cognitive Maps [J].
Christoforou, Andreas ;
Garriga, Martin ;
Andreou, Andreas S. ;
Baresi, Luciano .
SERVICE-ORIENTED COMPUTING, ICSOC 2017, 2017, 10601 :471-480