Repository logo
 
Publication

The path towards observability in a microservices architecture

datacite.subject.fosEngenharia e Tecnologiapt_PT
dc.contributor.advisorSousa, Paulo Manuel Baltarejo de
dc.contributor.authorFerreira, Sónia Cristina Teixeira
dc.date.accessioned2023-12-20T10:08:40Z
dc.date.embargo2026-11-16
dc.date.issued2023-11-16
dc.description.abstractThe availability and performance of client applications is a huge factor for the success of organizations. The digital transformation of manufacturing processes is making use of modern development paradigms, such as microservice architectural styles, a growing trend for the last years. Like any other architectural style, it has its costs and benefits. Microservices use a distributed system to improve modularity but, distribution is a cost. One other cost is the operational complexity. While being able to deploy small independent services it also has increased the demands on managing and monitoring those services. Observability becomes essential to ensure stable services, allowing us to understand and explain the inner workings of our applications, even in unpredictable situations. The aim of this dissertation is to design a road map to develop and implement observability and monitoring for distributed systems. This includes exploring the current tools available that allow monitoring, using the three pillars of observability (logs, metrics, and tracing) and evaluate which one or which ones are the most efficient and effective for the microservices architecture being studied, since identifying an appropriate solution, out of all available options, actively exploring and evaluate it, takes time that usually developers don’t have. Several approaches were tested and compared using Chaos Testing, measuring the time it took from the moment a fault was injected into the system until an alert was generated. Additionally, for each approach, the quality of the information obtained in logs, traces, and metrics was evaluated. Although the results obtained did not provide sufficient evidence to conclude that any ap proach was more efficient than the others, the knowledge gained during the development of this dissertation has enabled us to define the necessary steps to make Target App into an observable system.pt_PT
dc.description.abstractA disponibilidade e o desempenho das aplicações são um fator importante para o sucesso das organizações. A transformação digital dos processos de fabricação está a utilizar paradigmas modernos de desenvolvimento, como estilos de arquitetura de microserviços, que tem sido uma tendência crescente nos últimos anos. Como qualquer outro estilo arquitetónico, tem seus custos e benefícios. Os microserviços usam um sistema distribuído para melhorar a modularidade, mas a distribuição é um custo. Um outro custo é a complexidade operacional. Ao mesmo tempo em que pode instalar pequenos serviços independentes, também aumentou os pedidos de gestão e monitorização desses serviços. A observabilidade torna-se deste modo essencial para garantir serviços estáveis, permitindo-nos compreender e explicar o funcionamento interno das nossas aplicações, mesmo em situações imprevisíveis. O objetivo desta dissertação é desenhar um guia para desenvolver e implementar observabilidade e monitorização para sistemas distribuídos. Isso inclui explorar as ferramentas atualmente disponíveis que permitem a monitorização, usando os três pilares da observabilidade (logs, métricas e tracing) e explorar qual ou quais são as mais eficientes e eficazes para a arquitetura de microserviços em estudo. Uma vez que a identificação de uma solução adequada, a partir de todas as opções disponíveis, explorar e avaliar todas essas opções, é um processo moroso, que consome tempo que os programadores normalmente não têm. Várias abordagens foram testadas e comparadas usando a plataforma Chaos Testing, medindo o tempo demorado desde o momento em que uma falha foi injetada no sistema até um alerta ser gerado. Além disso, para cada abordagem, foi avaliada a qualidade das informações obtidas em logs, traces e métricas. Embora os resultados obtidos não tenham fornecido evidências suficientes para concluir que qualquer abordagem fosse mais eficiente que as outras, o conhecimento adquirido durante o desenvolvimento desta dissertação permitiu-nos definir os passos necessários para implementar observabilidade na Target App.pt_PT
dc.identifier.tid203414616pt_PT
dc.identifier.urihttp://hdl.handle.net/10400.22/24322
dc.language.isoengpt_PT
dc.subjectMicroservicespt_PT
dc.subjectObservabilitypt_PT
dc.subjectMonitoringpt_PT
dc.subjectTracingpt_PT
dc.subjectCentralized loggingpt_PT
dc.titleThe path towards observability in a microservices architecturept_PT
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsembargoedAccesspt_PT
rcaap.typemasterThesispt_PT
thesis.degree.nameEngenharia Informáticapt_PT

Files

Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Tese_5133.pdf
Size:
7.82 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: