Abstract
While several service-based maintainability metrics have been proposed in the scientific literature, reliable approaches to automatically collect these metrics are lacking. Since static analysis is complicated for decentralized and technologically diverse microservice-based systems, we propose a dynamic approach to calculate such metrics from runtime data via distributed tracing. The approach focuses on simplicity, extensibility, and broad applicability. As a first prototype, we implemented a Java application with a Zipkin integrator, 23 different metrics, and five export formats. We demonstrated the feasibility of the approach by analyzing the runtime data of an example microservice-based system. During an exploratory study with six participants, 14 of the 18 services were invoked via the system’s web interface. For these services, all metrics were calculated correctly from the generated traces.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 3.
- 4.
For more details on tool analysis and selection, please refer to https://github.com/xJREB/microservices-runtime-analysis/tree/master/docs/tools.
- 5.
- 6.
For more details on metric analysis and selection, please refer to https://github.com/xJREB/microservices-runtime-analysis/tree/master/docs/metrics.
- 7.
- 8.
We also published the results in our repository: https://github.com/xJREB/microservices-runtime-analysis/tree/master/docs/demonstration-results.
References
Basci, D., Misra, S.: Data complexity metrics for XML web services. Adv. Electr. Comput. Eng. 9(2), 9–15 (2009). https://doi.org/10.4316/aece.2009.02002
Bogner, J., Fritzsch, J., Wagner, S., Zimmermann, A.: Assuring the evolvability of microservices: insights into industry practices and challenges. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, Cleveland (2019)
Bogner, J., Wagner, S., Zimmermann, A.: Automatically measuring the maintainability of service- and microservice-based systems. In: Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement on - IWSM Mensura 2017, pp. 107–115. ACM Press, New York (2017). https://doi.org/10.1145/3143434.3143443
Cardarelli, M., Iovino, L., Di Francesco, P., Di Salle, A., Malavolta, I., Lago, P.: 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, pp. 1225–1234. ACM Press, New York (2019). https://doi.org/10.1145/3297280.3297400
Engel, T., Langermeier, M., Bauer, B., Hofmann, A.: Evaluation of microservice architectures: a metric and tool-based approach. In: Mendling, J., Mouratidis, H. (eds.) CAiSE 2018. LNBIP, vol. 317, pp. 74–89. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92901-9_8
Gebhart, M., Abeck, S.: Metrics for evaluating service designs based on SoaML. Int. J. Adv. Softw. 4(1), 61–75 (2011)
Geetika, R., Singh, P.: Dynamic coupling metrics for object oriented software systems. ACM SIGSOFT Softw. Eng. Notes 39(2), 1–8 (2014). https://doi.org/10.1145/2579281.2579296
Granchelli, G., Cardarelli, M., Francesco, P.D., Malavolta, I., Iovino, L., Salle, A.D.: Towards recovering the software architecture of microservice-based systems. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 46–53. IEEE (2017). https://doi.org/10.1109/ICSAW.2017.48
Haupt, F., Leymann, F., Scherer, A., Vukojevic-Haupt, K.: A framework for the structural analysis of REST APIs. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 55–58. IEEE (2017). https://doi.org/10.1109/ICSA.2017.40
Mayer, B., Weinreich, R.: An approach to extract the architecture of microservice-based software systems. In: 2018 IEEE Symposium on Service-Oriented System Engineering (SOSE), pp. 21–30. IEEE (2018). https://doi.org/10.1109/SOSE.2018.00012
Newman, S.: Building Microservices: Designing Fine-Grained Systems, 1st edn. O’Reilly Media, Sebastopol (2015)
Papazoglou, M.P.: Service-oriented computing: concepts, characteristics and directions. In: Proceedings of the 7th International Conference on Properties and Applications of Dielectric Materials (Cat. No. 03CH37417), pp. 3–12. IEEE Computer Society (2003). https://doi.org/10.1109/WISE.2003.1254461
Tahir, A., MacDonell, S.G.: A systematic mapping study on dynamic metrics and software quality. In: 2012 28th IEEE International Conference on Software Maintenance (ICSM), pp. 326–335. IEEE (2012). https://doi.org/10.1109/ICSM.2012.6405289
Tosi, D., Lavazza, L., Morasca, S., Taibi, D.: On the definition of dynamic software measures. In: Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering and Measurement - ESEM 2012, p. 39. ACM Press, New York (2012). https://doi.org/10.1145/2372251.2372259
Acknowledgments
This research was partially funded by the Ministry of Science of Baden-Württemberg, Germany, for the doctoral program Services Computing (https://www.services-computing.de/?lang=en).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Bogner, J., Schlinger, S., Wagner, S., Zimmermann, A. (2019). A Modular Approach to Calculate Service-Based Maintainability Metrics from Runtime Data of Microservices. In: Franch, X., Männistö, T., Martínez-Fernández, S. (eds) Product-Focused Software Process Improvement. PROFES 2019. Lecture Notes in Computer Science(), vol 11915. Springer, Cham. https://doi.org/10.1007/978-3-030-35333-9_34
Download citation
DOI: https://doi.org/10.1007/978-3-030-35333-9_34
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-35332-2
Online ISBN: 978-3-030-35333-9
eBook Packages: Computer ScienceComputer Science (R0)