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 | metadata.degois.publication.title: | Monitoria de Arquiteturas de Micro-serviços | metadata.degois.publication.location: | 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 | Size | Format | |
---|---|---|---|---|
FINAL_THESIS.pdf | 2.63 MB | Adobe PDF | View/Open |
Page view(s) 20
766
checked on Oct 29, 2024
Download(s) 50
942
checked on Oct 29, 2024
Google ScholarTM
Check
This item is licensed under a Creative Commons License