skip to main content
10.1145/3387906.3388625acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Towards microservice smells detection

Published: 25 September 2020 Publication History

Abstract

With the adoption of microservices architectural styles, practitioners started noticing increasing pitfalls in managing and maintaining such architectures, with the risk of introducing architectural debt. Previous studies identified different microservice smells (also named anti-patterns) that harm microservices architectures. However, according to our knowledge, there are no tools that can automatically detect microservice smells, so their identification is left to the experience of the developer. In this paper, we extend an existing tool developed for the detection of architectural smells to explore microservices architecture through the detection of three microservice smells: Cyclic Dependencies, Hard-Coded Endpoints, and Shared Persistence. We detected the smells on five open-source projects implemented with microservices and manually validated the precision of the detection results. This work aims to open new perspectives on facing and studying architectural debt in the field of microservices architectures.

References

[1]
V. Alagarasan. 2016. Microservices Antipatterns. In Microservices-Summit, NY.
[2]
F. Arcelli Fontana, I. Pigazzini, R. Roveda, D.A. Tamburri, M. Zanoni, and E. Di Nitto. 2017. Arcan: A Tool for Architectural Smells Detection. In ICSA Workshops.
[3]
U. Azadi, F. Arcelli Fontana, and D. Taibi. 2019. Architectural Smells Detected by Tools: a Catalogue Proposal. In International Conference on Technical Debt.
[4]
A. Balalaie, A. Heydarnoori, P. Jamshidi, D. Tamburri, and T. Lynn. 2018. Microservices migration patterns. Software: Practice and Experience 48 (2018).
[5]
J. Bogner, T. Boceck, M. Popp, D. Tschechlov, S. Wagner, and A. Zimmermann. 2019. Towards a Collaborative Repository for the Documentation of Service-Based Antipatterns and Bad Smells. In Int. Conf. on Software Architecture Companion (ICSA-C). 95--101.
[6]
J. Bogner, S. Wagner, and A. Zimmermann. 2017. Automatically Measuring the Maintainability of Service- and Microservice-Based Systems: A Literature Review. In Int. Conf. on Software Process and Product Measurement. 107--115.
[7]
S. de Toledo, A. Martini, A. Przybyszewska, and D. Sjøberg. 2019. Architectural Technical Debt in Microservices: A Case Study in a Large Company. In International Conference on Technical Debt (TechDebt). 78--87.
[8]
F. A. Fontana, I. Pigazzini, R. Roveda, and M. Zanoni. 2016. Automatic Detection of Instability Architectural Smells. In International Conference on Software Maintenance and Evolution (ICSME). 433--437.
[9]
J. Fritzsch, J. Bogner, A. Zimmermann, and S. Wagner. 2019. From Monolith to Microservices: A Classification of Refactoring Approaches. In Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment. Springer International Publishing, 128--141.
[10]
V. Lenarduzzi, F. Lomio, N Saairimäki, and D. Taibi. 2020. Does Migrate a Monolithic System to Microservices Decreases the Technical Debt? Journal of Systems and Software (2020). to appear.
[11]
V. Lenarduzzi and D. Taibi. 2016. MVP Explained: A Systematic Mapping Study on the Definitions of Minimal Viable Product. In 2016 42th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). 112--119.
[12]
N. Lu, G. Glatz, and D. Peuser. 2019. Moving mountains - practical approaches for moving monolithic applications to Microservices. In International Conference on Microservices (Microservices 2019).
[13]
G. Marquez and H. Astudillo. 2018. Actual Use of Architectural Patterns in Microservices-based Open Source Projects. In Asia-Pacific Software Engineering Conference (APSEC 2018).
[14]
B. Mayer and R. Weinreich. 2018. An Approach to Extract the Architecture of Microservice-Based Software Systems. In (SOSE). 21--30.
[15]
Davide Neri, Jacopo Soldani, Olaf Zimmermann, and Antonio Brogi. 2019. Design principles, architectural smells and refactorings for microservices: a multivocal review. SICS Software-Intensive Cyber-Physical Systems (2019).
[16]
M. Richards. 2016. Microservices AntiPatterns and Pitfalls. O Reilly eBooks (2016).
[17]
C. Richardson. 2018. Microservices Patterns: With Examples in Java. Manning Publications Company. https://books.google.it/books?id=UeK1swEACAAJ
[18]
R. Shoup. 2015. From the Monolith to Microservices: Lessons from Google and eBay. In Craft-Con.
[19]
J. Soldani, D.A. Tamburri, and W-J Van Den Heuvel. 2018. The pains and gains of microservices: A Systematic grey literature review. Journal of Systems and Software (2018), 215 -- 232.
[20]
D. Taibi and V. Lenarduzzi. 2018. On the Definition of Microservice Bad Smells. IEEE Software 35, 3 (2018), 56--62.
[21]
D. Taibi, V. Lenarduzzi, and C. Pahl. 2017. Processes, Motivations, and Issues for Migrating to Microservices Architectures: An Empirical Investigation. IEEE Cloud Computing 4, 5 (2017), 22--32.
[22]
D. Taibi, V. Lenarduzzi, and C. Pahl. 2018. Architectural Patterns for Microservices: a Systematic Mapping Study. Int. Conf. on Cloud Computing and Services Science (CLOSER2018) (2018).
[23]
D. Taibi, V. Lenarduzzi, and C. Pahl. 2019. Microservices Anti-patterns: A Taxonomy. In Microservices. Springer International Publishing, 111--128.
[24]
O. Zimmermann, M. Stocker, Uwe Zdun, D. Lübke, and C. Pautasso. 2018. Microservice API Patterns. https://microservice-api-patterns.org

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
TechDebt '20: Proceedings of the 3rd International Conference on Technical Debt
June 2020
131 pages
ISBN:9781450379601
DOI:10.1145/3387906
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 September 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. anti-patterns
  2. microservice bad smells detection
  3. microservices

Qualifiers

  • Research-article

Conference

TechDebt '20
Sponsor:
TechDebt '20: International Conference on Technical Debt
June 28 - 30, 2020
Seoul, Republic of Korea

Acceptance Rates

TechDebt '20 Paper Acceptance Rate 14 of 31 submissions, 45%;
Overall Acceptance Rate 14 of 31 submissions, 45%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)88
  • Downloads (Last 6 weeks)10
Reflects downloads up to 23 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media