<  Back to the Polytechnique Montréal portal

Tracing Low Latency Microservices

Eya-Tom Augustin Sangam

Master's thesis (2023)

[img] Restricted to: Repository staff only until 10 May 2025
Terms of Use: All rights reserved
Show abstract
Hide abstract

Abstract

Microservices architectures, which break applications into small autonomous services, address the complexities of monolithic architectures and offers simplified updates, a high degree of flexibility and robustness. Low latency microservices, designed for minimal delay, are essential in real-time response industries like high-frequency trading and telecommunications. However, their distribution across several networked systems complicates debugging and monitoring, making tracing and health monitoring vital for optimal performance. It becomes crucial for system administrators to gather telemetry data (TD), from microservices, to ensure seamless monitoring, optimization, and reliability of the system. By doing so, they can easily pinpoint performance bottlenecks, detect anomalies, and make data-driven decisions. This study aims to achieve two important objectives. The first goal is to gather TD from microservices that necessitate low latency for their operations. These microservices are gen- erally provided with minimal resources, such as limited storage and memory. Secondly, the project aims to suggest efficient techniques for analyzing the gathered TD across multiple hosts, with the ultimate objective of detecting performance bottlenecks. The challenge here lies in effectively managing these limited resources, while ensuring the data required for monitoring and optimization is collected and processed in an efficient manner. The key to achieving this is to implement filtering strategies that reduce the amount of TD saved, reduce the amount of data sent across the network, and minimize the impact on system performance during data collection. To efficiently collect and analyze TD from microservices, we recommend using OpenTeleme- try and LTTng technologies. The process involves two distinct phases: an online phase and an offline phase. The online phase involves the structuring and collection of TD with Open- Telemetry, which is then stored in Common Trace Format (CTF) files with LTTng. This phase ensures that the collection of data is achieved in a structured manner, thereby facili- tating the analysis process later on. The offline phase, on the other hand, focuses on how the analyses of the collected data are performed. This phase enables the identification of system anomalies, and bottlenecks, and supports data-driven decision-making.

Résumé

Les architectures en microservices décomposent les applications en petits services autonomes. Ils permettent de diminuer la complexité des systèmes basés sur des architecture mono- lithiques en offrant des mises à jour simplifiées, un haut degré de flexibilité et plus de ro- bustesse. Cependant, leur distribution à travers les systèmes complique le débogage et la surveillance, rendant le traçage et la surveillance de la santé vitaux pour assurer des per- formances optimales. Il devient crucial pour les administrateurs système de recueillir des données de télémétrie (DT), provenant des microservices, pour garantir une surveillance, op- timisation et fiabilité du système. En procédant ainsi, il devient facile d’identifier les goulets d’étranglement de performance, détecter les anomalies et prendre des décisions basées sur les données. Ce projet de recherche se concentre sur deux objectifs cruciaux. Le premier objectif est de collecter des DT à partir de microservices qui nécessitent une faible latence pour leurs opérations. Ces microservices sont généralement équipés de ressources minimales telles que le stockage et la mémoire vive. Deuxièmement, le projet vise à suggérer des techniques efficaces pour analyser les DT recueillies sur plusieurs machines, avec l’objectif ultime de détecter les goulets d’étranglement de performance. Le défi ici réside dans la gestion efficace de ces ressources limitées, tout en garantissant que les données nécessaires à la surveillance et à l’optimisation sont collectées et traitées de manière efficace. La clé pour y parvenir est de mettre en œuvre des stratégies de filtrage qui réduisent la quantité de TD sauvegardée, réduisent la quantité de données envoyées sur le réseau, et minimisent l’impact sur les performances du système pendant la collecte de données. Pour répondre à ces exigences, nous suggérons la combinaison de deux technologies, Open- Telemetry et LTTng. Le processus implique deux phases distinctes: une phase en ligne et une phase hors ligne. La phase en ligne implique la structuration et la collecte de DT avec OpenTelemetry, qui sont ensuite stockées dans des fichiers Common Trace Format (CTF) avec LTTng. Cette phase garantit que la collecte de données est effectuée de manière struc- turée, facilitant ainsi le processus d’analyse ultérieur. La phase hors ligne, en revanche, se concentre sur la manière dont les analyses des données collectées sont effectuées. Cette phase permet l’identification des anomalies du système et des goulets d’étranglement, et soutient la prise de décision basée sur les données.

Department: Department of Computer Engineering and Software Engineering
Program: Génie informatique
Academic/Research Directors: Michel Dagenais
PolyPublie URL: https://publications.polymtl.ca/57053/
Institution: Polytechnique Montréal
Date Deposited: 10 May 2024 10:59
Last Modified: 11 May 2024 12:30
Cite in APA 7: Sangam, E.-T. A. (2023). Tracing Low Latency Microservices [Master's thesis, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/57053/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item View Item