Catalog and detection techniques of microservice anti-patterns and bad smells: A tertiary study

被引:9
作者
Cerny, Tomas [1 ]
Abdelfattah, Amr S. [2 ]
Al Maruf, Abdullah [2 ]
Janes, Andrea [3 ]
Taibi, Davide [4 ,5 ]
机构
[1] Univ Arizona, SIE, Tucson, AZ 85721 USA
[2] Baylor Univ, Waco, TX USA
[3] FHV Vorarlberg Univ Appl Sci, Dornbirn, Austria
[4] Tampere Univ, Tampere, Finland
[5] Univ Oulu, Oulu, Finland
基金
美国国家科学基金会; 芬兰科学院;
关键词
Microservices; Anti-patterns; Antipatterns; Anti patterns; Bad smells; Software maintenance; CODE-1ST WEB SERVICES; SOFTWARE; CLOUD;
D O I
10.1016/j.jss.2023.111829
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Background: Various works investigated microservice anti-patterns and bad smells in the past few years. We identified seven secondary publications that summarize these, but they have little overlap in purpose and often use different terms to describe the identified anti-patterns and smells. Objective: This work catalogs recurring bad design practices known as anti-patterns and bad smells for microservice architectures, and provides a classification into categories as well as methods for detecting these practices. Method: We conducted a systematic literature review in the form of a tertiary study targeting secondary studies identifying poor design practices for microservices. Results: We provide a comprehensive catalog of 58 disjoint anti-patterns, grouped into five categories, which we derived from 203 originally identified anti-patterns for microservices. Conclusion: The results provide a reference to microservice developers to design better-quality systems and researchers who aim to detect system quality based on anti-patterns. It also serves as an anti-pattern catalog for development-aiding tools, which are not currently available for microservice system development but could mitigate quality degradation throughout system evolution. (c) 2023 The Author(s). Published by Elsevier Inc. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
引用
收藏
页数:43
相关论文
共 195 条
[1]  
Abasi F., 2019, Securing modern APIand microservices-based apps by design
[2]  
Abdelfattah AS, 2023, Arxiv, DOI arXiv:2303.02268
[3]   Using Microservice Telemetry Data for System Dynamic Analysis [J].
Al Maruf, Abdullah ;
Bakhtin, Alexander ;
Cerny, Tomas ;
Taibi, Davide .
2022 16TH IEEE INTERNATIONAL CONFERENCE ON SERVICE-ORIENTED SYSTEM ENGINEERING (SOSE 2022), 2022, :29-38
[4]  
Alagarasan V., 2015, Seven microservices anti-patterns
[5]   Gamification in Software Engineering: A Tertiary Study [J].
Alberto Garcia-Mireles, Gabriel ;
Ehecatl Morales-Trujillo, Miguel .
TRENDS AND APPLICATIONS IN SOFTWARE ENGINEERING, 2020, 1071 :116-128
[6]   A Systematic Mapping Study in Microservice Architecture [J].
Alshuqayran, Nuha ;
Ali, Nour ;
Evans, Roger .
2016 IEEE 9TH INTERNATIONAL CONFERENCE ON SERVICE-ORIENTED COMPUTING AND APPLICATIONS (SOCA), 2016, :44-51
[7]   Identifying, categorizing and mitigating threats to validity in software engineering secondary studies [J].
Ampatzoglou, Apostolos ;
Bibi, Stamatia ;
Avgeriou, Paris ;
Verbeek, Marijn ;
Chatzigeorgiou, Alexander .
INFORMATION AND SOFTWARE TECHNOLOGY, 2019, 106 :201-230
[8]  
[Anonymous], 2007, Centre for Reviews and Dissemination, What are the criteria for the inclusion of reviews on DARE?
[9]  
[Anonymous], 2019, Shift to microservices: Evolve your security practices & container security
[10]  
[Anonymous], 2014, Microservices