Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3540250.3558951acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Trace analysis based microservice architecture measurement

Published: 09 November 2022 Publication History

Abstract

Microservice architecture design highly relies on expert experience and may often result in improper service decomposition. Moreover, a microservice architecture is likely to degrade with the continuous evolution of services. Architecture measurement is thus important for the long-term evolution of microservice architectures. Due to the independent and dynamic nature of services, source code analysis based approaches cannot well capture the interactions between services. In this paper, we propose a trace analysis based microservice architecture measurement approach. We define a trace data model for microservice architecture measurement, which enables fine-grained analysis of the execution processes of requests and the interactions between interfaces and services. Based on the data model, we define 14 architectural metrics to measure the service independence and invocation chain complexity of a microservice system. We implement the approach and conduct three case studies with a student course project, an open-source microservice benchmark system, and three industrial microservice systems. The results show that our approach can well characterize the independence and invocation chain complexity of microservice architectures and help developers to identify microservice architecture issues caused by improper service decomposition and architecture degradation.

References

[1]
Justus Bogner, Tobias Boceck, Matthias Popp, Dennis Tschechlov, Stefan Wagner, and Alfred Zimmermann. 2019. Towards a Collaborative Repository for the Documentation of Service-Based Antipatterns and Bad Smells. In IEEE International Conference on Software Architecture Companion, ICSA Companion 2019. 95–101. https://doi.org/10.1109/ICSA-C.2019.00025
[2]
Justus Bogner, Steffen Schlinger, Stefan Wagner, and Alfred Zimmermann. 2019. A Modular Approach to Calculate Service-Based Maintainability Metrics from Runtime Data of Microservices. In Product-Focused Software Process Improvement - 20th International Conference, PROFES 2019. 11915, 489–496. https://doi.org/10.1007/978-3-030-35333-9_34
[3]
Justus Bogner, Stefan Wagner, and Alfred Zimmermann. 2017. Automatically measuring the maintainability of service- and microservice-based systems: a literature review. In Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement, IWSM-Mensura 2017. 107–115. https://doi.org/10.1145/3143434.3143443
[4]
Mario Cardarelli, Ludovico Iovino, Paolo Di Francesco, Amleto Di Salle, Ivano Malavolta, and Patricia Lago. 2019. An extensible data-driven approach for evaluating the quality of microservice architectures. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, SAC 2019. 1225–1234. https://doi.org/10.1145/3297280.3297400
[5]
Michel-Daniel Cojocaru, Alexandru Uta, and Ana-Maria Oprescu. 2019. MicroValid: A Validation Framework for Automatically Decomposed Microservices. In 2019 IEEE International Conference on Cloud Computing Technology and Science (CloudCom). 78–86. https://doi.org/10.1109/CloudCom.2019.00023
[6]
Thomas Engel, Melanie Langermeier, Bernhard Bauer, and Alexander Hofmann. 2018. Evaluation of Microservice Architectures: A Metric and Tool-Based Approach. In Information Systems in the Big Data Era - CAiSE Forum 2018. 317, 74–89. https://doi.org/10.1007/978-3-319-92901-9_8
[7]
Paolo Di Francesco, Patricia Lago, and Ivano Malavolta. 2018. Migrating Towards Microservice Architectures: An Industrial Survey. In IEEE International Conference on Software Architecture, ICSA 2018. 29–39. https://doi.org/10.1109/ICSA.2018.00012
[8]
Xiaofeng Guo, Xin Peng, Hanzhang Wang, Wanxue Li, Huai Jiang, Dan Ding, Tao Xie, and Liangfei Su. 2020. Graph-based trace analysis for microservice architecture understanding and problem diagnosis. In ESEC/FSE ’20: 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 1387–1397. https://doi.org/10.1145/3368089.3417066
[9]
Jaegertracing.Io. 2021. Jaeger. https://www.jaegertracing.io/
[10]
Pooyan Jamshidi, Claus Pahl, Nabor C. Mendonça, James Lewis, and Stefan Tilkov. 2018. Microservices: The Journey So Far and Challenges Ahead. IEEE Softw., 35, 3 (2018), 24–35. https://doi.org/10.1109/MS.2018.2141039
[11]
Kubernetes.Io. 2021. Kubernetes. https://kubernetes.io
[12]
James Lewis and Martin Fowler. 2014. Microservices: a definition of this new architectural term. https://www.martinfowler.com/articles/microservices.html
[13]
Shang-Pin Ma, Chen-Yuan Fan, Yen Chuang, I-Hsiu Liu, and Ci-Wei Lan. 2019. Graph-based and scenario-driven microservice analysis, retrieval, and testing. Future Gener. Comput. Syst., 100 (2019), 724–735. https://doi.org/10.1016/j.future.2019.05.048
[14]
MicroMeasurement. 2022. MicroMeasurement. https://fudanselab.github.io/microservice-measurement//
[15]
OpenTracing.Io. 2021. OpenTracing. https://opentracing.io/
[16]
OpenTracing.Io. 2021. OpenTracing Specification. https://opentracing.io/specification/
[17]
Ilaria Pigazzini, Francesca Arcelli Fontana, Valentina Lenarduzzi, and Davide Taibi. 2020. Towards microservice smells detection. In TechDebt ’20: International Conference on Technical Debt. 92–97. https://doi.org/10.1145/3387906.3388625
[18]
Chris Richardson. 2018. Microservices patterns: with examples in Java. Manning.
[19]
Benjamin H Sigelman, Luiz Andre Barroso, Mike Burrows, Pat Stephenson, Manoj Plakal, Donald Beaver, Saul Jaspan, and Chandan Shanbhag. 2010. Dapper, a large-scale distributed systems tracing infrastructure.
[20]
skywalking.apache.org. 2021. Apache SkyWalking. http://skywalking.apache.org/
[21]
Davide Taibi and Valentina Lenarduzzi. 2018. On the Definition of Microservice Bad Smells. IEEE Softw., 35, 3 (2018), 56–62. https://doi.org/10.1109/MS.2018.2141031
[22]
Davide Taibi, Valentina Lenarduzzi, and Claus Pahl. 2020. Microservices Anti-patterns: A Taxonomy. In Microservices, Science and Engineering. 111–128. https://doi.org/10.1007/978-3-030-31646-4_5
[23]
Twitter. 2021. Zipkin. https://zipkin.io/
[24]
Qilin Xiang, Xin Peng, Chuan He, Hanzhang Wang, Tao Xie, Dewei Liu, Gang Zhang, and Yuanfang Cai. 2021. No Free Lunch: Microservice Practices Reconsidered in Industry. CoRR, abs/2106.07321 (2021), arXiv:2106.07321. arxiv:2106.07321

Cited By

View all
  • (2024)ERD-CQC : Enhanced Rule and Dependency Code Quality Check for JavaProceedings of the 15th Asia-Pacific Symposium on Internetware10.1145/3671016.3674820(377-386)Online publication date: 24-Jul-2024
  • (2024)Trace-based Multi-Dimensional Root Cause Localization of Performance Issues in Microservice SystemsProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639088(1-12)Online publication date: 20-May-2024
  • (2024)Tracemesh: Scalable and Streaming Sampling for Distributed Traces2024 IEEE 17th International Conference on Cloud Computing (CLOUD)10.1109/CLOUD62652.2024.00016(54-65)Online publication date: 7-Jul-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE 2022: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
November 2022
1822 pages
ISBN:9781450394130
DOI:10.1145/3540250
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 November 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Architecture
  2. Dynamic analysis
  3. Microservice
  4. Tracing

Qualifiers

  • Research-article

Conference

ESEC/FSE '22
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)166
  • Downloads (Last 6 weeks)16
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)ERD-CQC : Enhanced Rule and Dependency Code Quality Check for JavaProceedings of the 15th Asia-Pacific Symposium on Internetware10.1145/3671016.3674820(377-386)Online publication date: 24-Jul-2024
  • (2024)Trace-based Multi-Dimensional Root Cause Localization of Performance Issues in Microservice SystemsProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639088(1-12)Online publication date: 20-May-2024
  • (2024)Tracemesh: Scalable and Streaming Sampling for Distributed Traces2024 IEEE 17th International Conference on Cloud Computing (CLOUD)10.1109/CLOUD62652.2024.00016(54-65)Online publication date: 7-Jul-2024
  • (2024)FedTag: Towards Automated Attack Investigation Using Federated LearningArtificial Intelligence and Machine Learning10.1007/978-981-97-1277-9_9(112-126)Online publication date: 3-Apr-2024
  • (2023)Identifying Code Changes for Architecture Decay via a Metric Forest Structure2023 ACM/IEEE International Conference on Technical Debt (TechDebt)10.1109/TechDebt59074.2023.00014(62-71)Online publication date: May-2023
  • (2023)BertHTLG: Graph-Based Microservice Anomaly Detection Through Sentence-Bert EnhancementWeb Information Systems and Applications10.1007/978-981-99-6222-8_36(427-439)Online publication date: 15-Sep-2023

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