From a Monolith to a Microservices Architecture: An Approach Based on Transactional Contexts

被引:36
作者
Nunes, Luis [1 ]
Santos, Nuno [1 ]
Rito Silva, Antonio [1 ]
机构
[1] Inst Super Tecn, INESC ID, Dept Comp Sci & Engn, Av Rovisco Pais 1, P-1049001 Lisbon, Portugal
来源
SOFTWARE ARCHITECTURE, ECSA 2019 | 2019年 / 11681卷
关键词
Monolith applications; Microservices architecture; Architectural migration; Transactional logic decomposition;
D O I
10.1007/978-3-030-29983-5_3
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Microservices have become the software architecture of choice for business applications. Initially originated at Netflix and Amazon, they result from the need to partition, both, software development teams and executing components, to, respectively, foster agile development and horizontal scalability. Currently, there is a large number of monolith applications that are being migrated to a microservices architecture. This article proposes the identification of business applications transactional contexts for the design of microservices. Therefore, the emphasis is to drive the aggregation of domain entities by the transactional contexts where they are executed, instead of by their domain structural inter-relationships. Additionally, we propose a complete work-flow for the identification of microservices together with a set of tools that assist the developers on this process. The comparison of our approach with another software architecture tool and with an expert decomposition in two case studies revealed high precision values, which reflects that accurate service candidates are produced, while providing visualization perspectives facilitates the analysis of the impact of the decomposition on the application business logic.
引用
收藏
页码:37 / 52
页数:16
相关论文
共 23 条
[1]  
Ahmadvand M, 2016, 2016 IEEE 24TH INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE WORKSHOPS (REW), P68, DOI [10.1109/REW.2016.026, 10.1109/REW.2016.14]
[2]   Object-aware Identification of Microservices [J].
Amiri, Mohammad Javad .
2018 IEEE INTERNATIONAL CONFERENCE ON SERVICES COMPUTING (IEEE SCC 2018), 2018, :253-256
[3]  
Anquetil N., 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303), P235, DOI 10.1109/WCRE.1999.806964
[4]  
Ball T, 1999, LECT NOTES COMPUT SC, V1687, P216, DOI 10.1145/318774.318944
[5]   Microservices Identification Through Interface Analysis [J].
Baresi, Luciano ;
Garriga, Martin ;
De Renzis, Alan .
SERVICE-ORIENTED AND CLOUD COMPUTING (ESOCC 2017), 2017, 10465 :19-33
[6]  
Brewer Eric A, 2000, PODC, V7
[7]  
Cachopo J., 2006, PROC 6 INT C WEB ENG, P297, DOI DOI 10.1145/1145581
[8]  
Carrasco A., 2018, IWOR 2018 P 2 INT WO, p1?6, DOI [10.1145/3242163.3242164, DOI 10.1145/3242163.3242164]
[9]   Migrating towards Microservice Architectures: an Industrial Survey [J].
Di Francesco, Paolo ;
Lago, Patricia ;
Malavolta, Ivano .
2018 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA), 2018, :29-38
[10]  
Escobar D., 2016, 2016 42 LAT AM COMP, P1