Observabilidade de Desempenho de Arquiteturas Monolíticas e Microsserviços com OpenTelemetry

  • Francisco Gomes UFC
  • Vinicius Gabriel UFC
  • Lincoln Rocha UFC
  • Paulo Rego UFC
  • Fernando Trinta UFC

Resumo


A adoção da arquitetura de microsserviços surgiu como resposta à crescente escala e complexidade dos sistemas de software modernos, oferecendo escalabilidade contínua e superando os desafios apresentados pelos códigos monolíticos complexos. Com o aumento da complexidade das aplicações nativas de nuvem, as soluções tradicionais de monitoramento tornam-se inadequadas, aumentando os riscos de falhas. A extensão do monitoramento para aplicativos nativos de nuvem é conhecida como observabilidade. Este estudo analisa o uso da observabilidade para avaliar o desempenho de arquiteturas tanto monolíticas quanto baseadas em microsserviços, empregando a solução Open-Telemetry (OTel). Foi realizada a migração de uma aplicação de referência baseada em microsserviços para um sistema monolítico, e experimentos foram conduzidos, revelando que, dependendo dos recursos disponíveis das máquinas, os benefícios do uso do OTel superam os custos gerais incorridos, resultando em uma redução de 0,44% na quantidade de requisições atendidas e um aumento de 0,48% no tempo de resposta para cada solicitação.

Referências

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.
Publicado
21/07/2024
GOMES, Francisco; GABRIEL, Vinicius; ROCHA, Lincoln; REGO, Paulo; TRINTA, Fernando. Observabilidade de Desempenho de Arquiteturas Monolíticas e Microsserviços com OpenTelemetry. In: SEMINÁRIO INTEGRADO DE SOFTWARE E HARDWARE (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.