Performance Observability of Monolithic and Microservices Architectures with OpenTelemetry
Abstract
The adoption of microservices architecture emerged in response to the increasing scale and complexity of modern software systems, offering continuous scalability and overcoming complex monolithic codes. With the growing complexity of cloud-native applications, traditional monitoring solutions become inadequate, increasing the risks of failures. The expansion of monitoring to cloud-native applications is called observability. This study evaluates the use of observability to assess the performance of both monolithic and microservices-based architectures, employing the OpenTelemetry (OTel) solution. A migration of a benchmark application based on microservices to a monolithic system was carried out, and experiments were conducted, revealing that, depending on the available resources of the machines, the benefits of using OTel outweigh the overall expenses incurred, resulting in a decrease of 0.44% in the number of requests served and increase of 0.48% in response time for each request.References
Baškarada, S., Nguyen, V., and Koronios, A. (2018). Architecting microservices: Practical opportunities and challenges. Journal of Computer Information Systems.
Bento, A., Correia, J., Filipe, R., Araujo, F., and Cardoso, J. (2021). Automated analysis of distributed tracing: Challenges and research directions. Journal of Grid Computing, 19:1–15.
Boten, A. and Majors, C. (2022). Cloud-Native Observability with OpenTelemetry: Learn to gain visibility into systems by combining tracing, metrics, and logging with OpenTelemetry. Packt Publishing.
Di Francesco, P., Malavolta, I., and Lago, P. (2017). Research on architecting microservices: Trends, focus, and potential for industrial adoption. In 2017 IEEE International conference on software architecture (ICSA), pages 21–30. IEEE.
Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M., Montesi, F., Mustafin, R., and Safina, L. (2017). Microservices: yesterday, today, and tomorrow. Present and ulterior software engineering, pages 195–216.
Kalman, R. E. (1960). On the general theory of control systems. In Proceedings First International Conference on Automatic Control, Moscow, USSR, pages 481–492.
Karumuri, S., Solleza, F., Zdonik, S., and Tatbul, N. (2021). Towards observability data management at scale. ACM SIGMOD Record, 49(4):18–23.
Kosińska, J., Baliś, B., Konieczny, M., Malawski, M., and Zielinśki, S. (2023). Towards the observability of cloud-native applications: The overview of the state-of-the-art. IEEE Access.
Li, B., Peng, X., Xiang, Q., Wang, H., Xie, T., Sun, J., and Liu, X. (2022). Enjoy your observability: an industrial survey of microservice tracing and analysis. Empirical Software Engineering, 27:1–28.
Marie-Magdelaine, N., Ahmed, T., and Astruc-Amato, G. (2019). Demonstration of an observability framework for cloud native microservices. In 2019 IFIP/IEEE Symposium on Integrated Network and Service Management (IM), pages 722–724. IEEE.
Pahl, C. and Jamshidi, P. (2016). Microservices: A systematic mapping study. CLOSER (1), pages 137–146.
Picoreti, R., do Carmo, A. P., de Queiroz, F. M., Garcia, A. S., Vassallo, R. F., and Simeonidou, D. (2018). Multilevel observability in cloud orchestration. In 2018 IEEE 16th Intl Conf on Dependable, Autonomic and Secure Computing, 16th Intl Conf on Pervasive Intelligence and Computing, 4th Intl Conf on Big Data Intelligence and Computing and Cyber Science and Technology Congress (DASC/PiCom/DataCom/CyberSciTech), pages 776–784. IEEE.
Tzanettis, I., Androna, C.-M., Zafeiropoulos, A., Fotopoulou, E., and Papavassiliou, S. (2022). Data fusion of observability signals for assisting orchestration of distributed applications. Sensors, 22(5):2061.
Usman, M., Ferlin, S., Brunstrom, A., and Taheri, J. (2022). A survey on observability of distributed edge & container-based microservices. IEEE Access, 10:86904–86919.
von Kistowski, J., Eismann, S., Schmitt, N., Bauer, A., Grohmann, J., and Kounev, S. (2018). TeaStore: A Micro-Service Reference Application for Benchmarking, Modeling and Resource Management Research. In Proceedings of the 26th IEEE International Symposium on the Modelling, Analysis, and Simulation of Computer and Telecommunication Systems, MASCOTS ’18.
Bento, A., Correia, J., Filipe, R., Araujo, F., and Cardoso, J. (2021). Automated analysis of distributed tracing: Challenges and research directions. Journal of Grid Computing, 19:1–15.
Boten, A. and Majors, C. (2022). Cloud-Native Observability with OpenTelemetry: Learn to gain visibility into systems by combining tracing, metrics, and logging with OpenTelemetry. Packt Publishing.
Di Francesco, P., Malavolta, I., and Lago, P. (2017). Research on architecting microservices: Trends, focus, and potential for industrial adoption. In 2017 IEEE International conference on software architecture (ICSA), pages 21–30. IEEE.
Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M., Montesi, F., Mustafin, R., and Safina, L. (2017). Microservices: yesterday, today, and tomorrow. Present and ulterior software engineering, pages 195–216.
Kalman, R. E. (1960). On the general theory of control systems. In Proceedings First International Conference on Automatic Control, Moscow, USSR, pages 481–492.
Karumuri, S., Solleza, F., Zdonik, S., and Tatbul, N. (2021). Towards observability data management at scale. ACM SIGMOD Record, 49(4):18–23.
Kosińska, J., Baliś, B., Konieczny, M., Malawski, M., and Zielinśki, S. (2023). Towards the observability of cloud-native applications: The overview of the state-of-the-art. IEEE Access.
Li, B., Peng, X., Xiang, Q., Wang, H., Xie, T., Sun, J., and Liu, X. (2022). Enjoy your observability: an industrial survey of microservice tracing and analysis. Empirical Software Engineering, 27:1–28.
Marie-Magdelaine, N., Ahmed, T., and Astruc-Amato, G. (2019). Demonstration of an observability framework for cloud native microservices. In 2019 IFIP/IEEE Symposium on Integrated Network and Service Management (IM), pages 722–724. IEEE.
Pahl, C. and Jamshidi, P. (2016). Microservices: A systematic mapping study. CLOSER (1), pages 137–146.
Picoreti, R., do Carmo, A. P., de Queiroz, F. M., Garcia, A. S., Vassallo, R. F., and Simeonidou, D. (2018). Multilevel observability in cloud orchestration. In 2018 IEEE 16th Intl Conf on Dependable, Autonomic and Secure Computing, 16th Intl Conf on Pervasive Intelligence and Computing, 4th Intl Conf on Big Data Intelligence and Computing and Cyber Science and Technology Congress (DASC/PiCom/DataCom/CyberSciTech), pages 776–784. IEEE.
Tzanettis, I., Androna, C.-M., Zafeiropoulos, A., Fotopoulou, E., and Papavassiliou, S. (2022). Data fusion of observability signals for assisting orchestration of distributed applications. Sensors, 22(5):2061.
Usman, M., Ferlin, S., Brunstrom, A., and Taheri, J. (2022). A survey on observability of distributed edge & container-based microservices. IEEE Access, 10:86904–86919.
von Kistowski, J., Eismann, S., Schmitt, N., Bauer, A., Grohmann, J., and Kounev, S. (2018). TeaStore: A Micro-Service Reference Application for Benchmarking, Modeling and Resource Management Research. In Proceedings of the 26th IEEE International Symposium on the Modelling, Analysis, and Simulation of Computer and Telecommunication Systems, MASCOTS ’18.
Published
2024-07-21
How to Cite
GOMES, Francisco; GABRIEL, Vinicius; ROCHA, Lincoln; REGO, Paulo; TRINTA, Fernando.
Performance Observability of Monolithic and Microservices Architectures with OpenTelemetry. In: INTEGRATED SOFTWARE AND HARDWARE SEMINAR (SEMISH), 51. , 2024, Brasília/DF.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2024
.
p. 121-132.
ISSN 2595-6205.
DOI: https://doi.org/10.5753/semish.2024.2313.
