Propostas para selecção dos alunos

DEI - FCTUC
Gerado a 2024-05-19 14:59:27 (Europe/Lisbon).
Voltar

Titulo Estágio

A Virtual-Reality Visualization Tool for Microservices

Local do Estágio

DEI/CISUC

Enquadramento

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. Microservice-based architectures and Function-as-a-Service (FaaS) platforms are being favored for the flexibility they afford. This trend is only accelerated by the financial benefits and reduced development times promised by Platforms-as-a-Service (PaaS) and serverless deployments. The benefits are faster development cycles, development team independence (because scope is limited and well defined), ease of deployment, management, scaling and governance. Microservices, and FaaS are the building blocks of modern, highly dynamic distributed systems. We can see this trend in many large international companies, like LinkedIn, Netflix, Uber, Ebay, Amazon, among many others, but the same trend can be found in important national companies as well.

On the downside, companies face increasing visibility challenges into the health and performance of their systems, as cloud and micro-service architectures become more complex and dynamic, with more changing parts. The complexity moves from the components to their interaction, and their emergent behaviors. Since developers and operators lack a complete view of the system, the result is impaired observability, which turns debugging and monitoring into a challenge that keeps getting harder, as systems grow larger with additional components and version iterations. In large-scale systems, it is particularly difficult to determine the set of microservices responsible for delaying a client’s request. While all services involved in such request might seem to be working properly, their sequence is more likely to produce slow requests. Cascading effects, where one module impacts several other invoking microservices are also possible. Components cannot be analyzed in isolation, and system operators lack an overall view of the system, to determine the bottlenecks and trace their root causes.

At the present time, the market is still missing a good open-source tool providing a visual display of all the architecture to system administrators, while letting them navigate through the components and check accessory information, like performance, health state, neighboring information and so on. To mitigate this problem, we created an interactive visualization tool providing an overall view of microservice architectures. This tool should advance the state of the art in monitoring, by providing a broad range of statistical and visual insights on the system, but we still need to increase the set of available features.

Objetivo

In this internship, the student should develop a virtual reality (VR) visualization tool for microservice applications. This work should depart from our previous browser-based paradigm. VR enables three-dimensional visualization, thus promoting a far richer user interface that can be explored to visualize the extensive tracing and other monitoring data. The visualization tool should fetch data from a generic format and enable exploration of the existing services and their connection to infrastructure monitoring metrics, like CPU or network occupation. The VR visualization tool should allow system owners to inspect the system in logical versus physical (or instances) view. It should connect these views to the traces view and the traces view to the (business processes) workflows view. To keep navigation between different data intuitive, the tool must resort to context-preserving metaphors. The ultimate goal is to enhance the observability of the system, to improve knowledge of the system itself.

Plano de Trabalhos - Semestre 1

- Evaluate the state of the art (1 month);
- Study the current tool (1 month);
- Define system requirements and architecture (1 months);
- Develop experiments for proof of concept (1 month)
- Write intermediate report (1 month).

Plano de Trabalhos - Semestre 2

- Start implementation (4 months);
- Test and evaluate system performance, user testing, critical comparison (1 months);
- Write final report (1 month).

Condições

The work should take place at the Centre for Informatics and Systems of the University of Coimbra (CISUC) in the Software and Systems Engineering Group at the Department of Informatics Engineering of the University of Coimbra.

Observações

During the application phase, questions related to this proposal should be clarified through email or a face-to-face meeting/videoconference.

Advisors:
Evgheni Polisciuc (evgheni@dei.uc.pt)
Filipe Araujo (filipius@uc.pt)

Orientador

Evgheni Polisciuc / Filipe Araujo
evgheni@dei.uc.pt 📩