Propostas Atribuidas

DEI - FCTUC
Gerado a 2024-05-19 03:05:34 (Europe/Lisbon).
Voltar

Titulo Estágio

Observing and Controlling Performance in Microservices

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI

Enquadramento

With increased reliance on the cloud and most modern systems being designed as cloud native, and given the trend in the industry to follow service oriented architectures, particularly microservices, there is renewed interest in creating modern modeling tools for performance analysis. The mentioned tools are particularly interesting for resource scheduling, to achieve optimal resource allocation or elastically scalable systems, meaning that resources are provisioned as necessary in response to demand, and deallocated when not required.

On complex, non-linear systems, deciding how to distribute resources is non-trivial. Ideally, resources should be allocated to the point of the system responsible for some bottleneck, for example, the service that causes the largest delay, or throttles throughput the most. Formal models, generated from logs or traces have been used with success to simplify the decision process and create useful visualizations.

Objetivo

This internship aims at improving the observability and performance control in fine-grained distributed systems, specifically ones based on microservices. For this, the internship should integrate our previous efforts in the area, namely the ability to:

- collect traces of distributed architectures implicitly, at the API gateways, without any effort from programmers, although their contribution by means of tracing libraries can be explored as well;
- scale in or out resources running specific services using an API that controls containerized architectures;
- display the performance of individual services using basic results of queueing theory.

Our past efforts should be unified into an overarching tool that provides sysops with the means to have visual indication of system performance in different types of dashboards. This tools should go further, by enabling sysops to simulate different conditions of operation, like increasing or decreasing resources assigned to some service and get some prediction of overall performance in response. This should work in a "what-if" approach, where sysops might ask questions like "what happens if load increases by x percent" or "what happens if I add an extra machine for this service"?

Plano de Trabalhos - Semestre 1

- Study the state of the art, namely existing tools, and related technologies like tracing (2 months);
- Integrate the existing work (1 month);
- Define requirements of the monitoring tool (1 month);
- Write intermediate report (1 month).

Plano de Trabalhos - Semestre 2

- Implement the monitoring tool (2 months);
- Test and evaluate the results (2 months);
- Write final report (1 month);

Condições

This work should take place in the context of a research project funded by FCT. A 6-month scholarship of 745 euros per month is foreseen for this work.

Orientador

Filipe Araújo, Prof. Rui Paiva e Prof. António Jorge Cardoso (Huawei/Univ. de Coimbra)
filipius@uc.pt 📩