journal article·2022-11-12Open access

Assessing Database Contribution via Distributed Tracing for Microservice Systems

Yulin Liu, Zengwen Yu, Xiaoguang Yuan, Wenjun Ke, Zhi Fang, Tianfeng Du, Cuihong Han

Applied Sciences· Volume 12· Issue 22

Abstract

Microservice architecture is the latest trend in software systems development and transformation. In microservice systems, databases are deployed in corresponding services. To better optimize runtime deployment and improve system stability, system administrators need to know the contributions of databases in the system. For the high dynamism and complexity of microservice systems, distributed tracing can be introduced to observe the behavior of business scenarios on databases. However, it is challenging to evaluate the database contribution by combining the importance weight of business scenarios with their behaviors on databases. To solve this problem, we propose a business-scenario-oriented database contribution assessment approach (DBCAMS) via distributed tracing, which consists of three steps: (1) determining the importance weight of business scenarios in microservice system by analytic hierarchy process (AHP); (2) reproducing business scenarios and aggregating the same operations on the same database via distributed tracing; (3) calculating database contribution by formalizing the task as a nonlinear programming problem based on the defined operators and solving it. To the best of our knowledge, our work is the first research to study this issue. The results of a series of experiments on two open-source benchmark microservice systems show the effectiveness and rationality of our proposed method.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Software System Performance and Reliability · Software Engineering Research · Cloud Computing and Resource Management

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Beijing Institute of Computer Technology and Application, Beijing 100854, China

School of Computer Science and Technology, Xidian University, Xi’an 710071, China

College of Systems Engineering, National University of Defense Technology, Changsha 410073, China

References (55)

Show source-provided references
1. Lewis, J., and Fowler, M. (2022, October 24). Microservices a Definition of This New Architectural Term. Available online: http://martinfowler.com/articles/microservices.html.
2. Richardson, C. (2018). Microservices Patterns: With Examples in Java, Manning.
3. Guo, X., Peng, X., Wang, H., Li, W., Jiang, H., Ding, D., Xie, T., and Su, L. (2020). Graph-Based Trace Analysis for Microservice Architecture Understanding and Problem Diagnosis. ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Association for Computing Machinery.10.1145/3368089.3417066 ↗
4. Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study10.1109/TSE.2018.2887384 ↗
5. Francesco, P.D., Malavolta, I., and Lago, P. (2017, January 3–7). Research on Architecting Microservices: Trends, Focus, and Potential for Industrial Adoption. Proceedings of the 2017 IEEE International Conference on Software Architecture (ICSA), Gothenburg, Sweden.10.1109/ICSA.2017.24 ↗
6. Xiang, Q., Peng, X., He, C., Wang, H., Xie, T., Liu, D., Zhang, G., and Cai, Y. (2021). No Free Lunch: Microservice Practices Reconsidered in Industry. arXiv.
7. Liu, D., He, C., Peng, X., Lin, F., Zhang, C., Gong, S., Li, Z., Ou, J., and Wu, Z. (2021, January 25–28). MicroHECL: High-Efficient Root Cause Localization in Large-Scale Microservice Systems. Proceedings of the 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), Madrid, Spain.10.1109/ICSE-SEIP52600.2021.00043 ↗
8. Scenario-driven and bottom-up microservice decomposition for monolithic systems
9. Zhang, C., Peng, X., Sha, C., Zhang, K., Fu, Z., Wu, X., Lin, Q., and Zhang, D. (2022, January 25–27). DeepTraLog: Trace-Log Combined Microservice Anomaly Detection through Graph-based Deep Learning. Proceedings of the 44th International Conference on Software Engineering, Pittsburgh, PA, USA.10.1145/3510003.3510180 ↗
10. Improving microservice-based applications with runtime placement adaptation10.1186/s13174-019-0104-0 ↗
11. Multi-objective microservice deployment optimization via a knowledge-driven evolutionary algorithm10.1007/s40747-020-00180-1 ↗
12. Enjoy your observability: An industrial survey of microservice tracing and analysis10.1007/s10664-021-10063-9 ↗
13. Wang, K., Li, K., Gao, J., Liu, B., Fang, Z., and Ke, W. (2021, January 6–10). A Quantitative Evaluation Method of Software Usability Based on Improved GOMS Model. Proceedings of the 2021 IEEE 21st International Conference on Software Quality, Reliability and Security Companion (QRS-C), Hainan, China.10.1109/QRS-C55045.2021.00104 ↗
14. How to make a decision: The analytic hierarchy process10.1016/0377-2217(90)90057-I ↗
15. (2022, September 03). Sockshop. Available online: https://github.com/microservices-demo/microservices-demo.
16. (2022, September 03). TrainTicket. Available online: https://github.com/FudanSELab/train-ticket/releases/tag/v0.2.0.
17. Sridharan, C. (2018). Distributed Systems Observability: A Guide to Building Robust Systems, O’Reilly Media.
18. Sigelman, B.H., Barroso, L.A., Burrows, M., Stephenson, P., Plakal, M., Beaver, D., Jaspan, S., and Shanbhag, C. (2010). Dapper, a Large-Scale Distributed Systems Tracing Infrastructure, Google, Inc.
19. (2022, September 04). Pinpoint. Available online: https://github.com/pinpoint-apm/pinpoint.
20. (2022, September 04). OpenZipkin. Available online: https://zipkin.io/.
21. (2022, September 04). Jaeger. Available online: https://www.jaegertracing.io/.
22. (2022, September 04). Apache Skywalking. Available online: https://skywalking.apache.org/.
23. (2022, September 04). The OpenTracing Project. Available online: https://opentracing.io/.
24. (2022, September 04). OpenCensus. Available online: https://opencensus.io/.
25. (2022, September 04). OpenTelemetry. Available online: https://opentelemetry.io/.
26. Zhou, X., Peng, X., Xie, T., Sun, J., Ji, C., Liu, D., Xiang, Q., and He, C. (2019). Latent Error Prediction and Fault Localization for Microservice Applications by Learning from System Trace Logs. ESEC/FSE 2019: Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Association for Computing Machinery.10.1145/3338906.3338961 ↗
27. Liu, P., Xu, H., Ouyang, Q., Jiao, R., Chen, Z., Zhang, S., Yang, J., Mo, L., Zeng, J., and Xue, W. (2020, January 12–15). Unsupervised Detection of Microservice Trace Anomalies through Service-Level Deep Bayesian Networks. Proceedings of the 2020 IEEE 31st International Symposium on Software Reliability Engineering (ISSRE), Coimbra, Portugal.10.1109/ISSRE5003.2020.00014 ↗
28. Franch, X., Männistö, T., and Martínez-Fernández, S. (2019). A Modular Approach to Calculate Service-Based Maintainability Metrics from Runtime Data of Microservices. Product-Focused Software Process Improvement. PROFES 2019, Springer.10.1007/978-3-030-35333-9 ↗
29. Factoring and weighting approaches to status scores and clique identification10.1080/0022250X.1972.9989806 ↗
30. Identifying influential nodes in complex networks10.1016/j.physa.2011.09.017 ↗
31. Identification of influential spreaders in complex networks10.1038/nphys1746 ↗
32. Eccentricity and centrality in networks10.1016/0378-8733(94)00248-9 ↗
33. Rethinking centrality: Methods and examples10.1016/0378-8733(89)90016-6 ↗
34. Subgraph centrality in complex networks10.1103/PhysRevE.71.056103 ↗
35. Dynamical systems to define centrality in social networks10.1016/S0378-8733(00)00020-4 ↗
36. The anatomy of a large-scale hypertextual Web search engine10.1016/S0169-7552(98)00110-X ↗
37. Lü, L., Zhang, Y.C., Yeung, C.H., and Zhou, T. (2011). Leaders in social networks, the delicious case. PLoS ONE, 6.10.1371/journal.pone.0021202 ↗
38. Authoritative Sources in a Hyperlinked Environment10.1145/324133.324140 ↗
39. The stochastic approach for link-structure analysis (SALSA) and the TKC effect1Abridged version110.1016/S1389-1286(00)00034-7 ↗
40. Residual closeness in networks10.1016/j.physa.2005.12.020 ↗
41. Vital nodes identification in complex networks10.1016/j.physrep.2016.05.004 ↗
42. Gousios, G., Kalliamvakou, E., and Spinellis, D. (2008). Measuring Developer Contribution from Software Repository Data. MSR ’08: Proceedings of the 2008 International Working Conference on Mining Software Repositories, Association for Computing Machinery.10.1145/1370750.1370781 ↗
43. Who Will Stay in the FLOSS Community? Modeling Participant’s Initial Behavior10.1109/TSE.2014.2349496 ↗
44. Wang, G., Dang, C.X., and Zhou, Z. (2019, January 9–12). Measure Contribution of Participants in Federated Learning. Proceedings of the 2019 IEEE International Conference on Big Data (Big Data), Los Angeles, CA, USA.10.1109/BigData47090.2019.9006179 ↗
45. Percentage-based Author Contribution Index: A universal measure of author contribution to scientific articles10.1186/s41073-017-0042-y ↗
46. Application of the AHP in project management10.1016/S0263-7863(99)00038-1 ↗
47. Analytic hierarchy process: An overview of applications10.1016/j.ejor.2004.04.028 ↗
48. A scaling method for priorities in hierarchical structures10.1016/0022-2496(77)90033-5 ↗
49. Parallel Genetic Algorithms: A Useful Survey
50. Quint, P., and Kratzke, N. (2018, January 19–21). Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-native Applications. Proceedings of the 8th International Conference on Cloud Computing and Services Science, CLOSER 2018, Funchal, Portugal.10.5220/0006683804000408 ↗
51. TosKer: A synergy between TOSCA and Docker for orchestrating multicomponent applications10.1002/spe.2625 ↗
52. Schölkopf, B., Platt, J., and Hoffman, T. (2006). A Kernel Method for the Two-Sample-Problem. Advances in Neural Information Processing Systems 19 (NIPS 2006), MIT Press.
53. Viennot, N., Lécuyer, M., Bell, J., Geambasu, R., and Nieh, J. (2015). Synapse: A Microservices Architecture for Heterogeneous-Database Web Applications. EuroSys ’15: Proceedings of the Tenth European Conference on Computer Systems, Association for Computing Machinery.10.1145/2741948.2741975 ↗
54. Evaluation and analysis of comprehensive performance of a brake pedal based on an improved analytic hierarchy process10.1177/0954407020987735 ↗
55. Risk assessment of the UPIoT construction in China using combined dynamic weighting method under IFGDM environment10.1016/j.scs.2020.102199 ↗