Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/83561
Title: Monitoria de Arquiteturas de Micro-serviços
Other Titles: Monitoring Microservices Architectures
Authors: Pina, Fábio Figueiredo 
Orientador: Araújo, Filipe João Boavida Mendonça Machado de
Paiva, Rui Pedro Pinto de Carvalho e
Keywords: micro-serviços; API gateway; monitoria de caixa-preta; microservices; API gateway; black-box monitoring
Issue Date: 11-Oct-2018
Serial title, monograph or event: Monitoria de Arquiteturas de Micro-serviços
Place of publication or event: DEI-FCTUC
Abstract: Uma das tendências mais recentes nos sistemas distribuídos é a de subdividir grandes componentes de software em pedaços mais pequenos. Este paradigma é conhecido por “micro-serviços” e, embora simplifique o desenvolvimento, instalação e gestão do software, torna o sistema mais complexo e bastante mais difícil de observar, dado o grande número de interações envolvidas. Por esta razão, num sistema de grandes dimensões, é particularmente difícil saber quais os componentes que mais contribuem para o tempo de espera medido pelos utilizadores. Por um lado, estes componentes não podem ser analisados separadamente; por outro, sem “instrumentar” extensivamente o código fonte é difícil relacioná-los para identificar a origem de estrangulamentos. Para mitigar este problema propomos uma abordagem bem mais simples: usando a gateway de acesso aos micro-serviços registamos todos as invocações que lhes são feitas, bem como todas as respostas, extraindo assim o relacionamento entre serviços e o respetivo desempenho. Para validar este método, simulamos a invocação de serviços concretos duma implementação real de uma aplicação. Os resultados mostram que é possível extrair a informação de desempenho mais relevante no sistema a um baixo custo. .
Breaking large software systems into smaller functionally interconnected components is a trend on the rise. This architectural style, known as “microservices”, simplifies development, deployment and management at the expense of complexity and observability. In fact, in large scale systems, it is particularly difficult to determine the set of microservices responsible for delaying a client’s request, when one module impacts several other microservices in a cascading effect. Components cannot be analyzed in isolation, and without instrumenting their source code extensively, it is difficult to find the bottlenecks and trace their root causes. To mitigate this problem, we propose a much simpler approach: log gateway activity, to register all calls to and between microservices, as well as their responses, thus enabling the extraction of topology and performance metrics, without changing source code. For validation, we implemented the proposed platform, with a microservices-based application that we observe under load. Our results show that we can extractrelevant performance information with a negligible effort. .
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/83561
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat
FINAL_THESIS.pdf2.63 MBAdobe PDFView/Open
Show full item record

Page view(s) 20

727
checked on Mar 26, 2024

Download(s) 50

902
checked on Mar 26, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons