Propostas Atribuidas 2023/2024

DEI - FCTUC
Gerado a 2024-05-17 10:07:50 (Europe/Lisbon).
Voltar

Titulo Estágio

Benchmarking da disponibilidade de aplicações para a cloud

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI-FCTUC

Enquadramento

Hoje em dia a maioria das organizações usa aplicações na cloud, isto é, acede a aplicações que estão a correr em infraestruturas computacionais genéricas e escaláveis. Uma organização que pretenda colocar uma aplicação na cloud terá de avaliar, entre outros atributos, a disponibilidade do serviço. Neste contexto, é relevante poder fazer benchmarking de várias soluções para garantir a disponibilidade e obter as métricas relevantes, por forma a classifiar e ordenar as soluções.

Tem-se assistido a um aumento do número de serviços em ambientes cloud, caracterizados pela colocação dos dados e do software em infraestruturas remotas. Apesar dos benefícios, os utilizadores confiam a execução das suas aplicações a sistemas que são geridos por outras entidades. Assim, é importante poder comparar alternativas para garantir os níveis de serviço.

Habitualmente existem dos desafios principais: a carga que consiste nos pedidos que chegam ao sistema, e as avarias de software. Assim, neste contexto, o objetivo da tese será construir uma benchmark que introduza carga numa aplicação e que realize injeção de falhas com ferramentas existentes para o efeito. O resultado será uma avaliação rigorosa da capacidade de uma aplicação que esteja na cloud de recuperar de variações na carga e de avarias.

Objetivo

Esta tese tem fundamentalmente dois objetivos:

- Desenho e implementação de uma benchmark, incluindo os processos de medição de disponibilidade e desempenho.

- Construção de um ambiente para gestão de experiências de benchmarking e armazenamento dos resultados.

Uma benchmark consiste numa sequência de passos a levar a cabo por forma a fazer um ranking de alternativas, de acordo com um conjunto de métricas. Neste contexto, as métricas a considerar serão a disponibilidade e o desempenho de uma dada aplicação cloud. Pretende-se então desenhar e implementar uma benchmark capaz de comparar diferentes alternativas.

Por forma a armazenar os resultados das experiências conduzidas, de uma forma estruturada, é necessário um sistema de informação capaz de registar e aceder a informações numa base de dados. Consequentemente, faz parte dos objetivos do estágio a construção de um ambiente que comunique com o motor de avaliação e armazene os resultados para posterior análise.

Plano de Trabalhos - Semestre 1

- Estudo do estado da arte e levantamento de requisitos (mês 1).

A primeira fase consistirá em tomar contato com tecnologias de virtualização e aplicações para a cloud, bem como a familiarização com conceitos de benchmarking. Isto resultará numa clara formulação dos objetivos a alcançar.

- Construção do ambiente de benchmarking (meses 2 a 4).

Esta tarefa consiste na implementação de um componente que exercite o sistema e na seleção de um componente que perturbe o sistema (com boa probabilidade tratar-se-á do Litmus Chaos ou do ucXception). A finalidade é poder usar estes componentes para medir e classificar o resultado de cada cloud provider.

- Primeira fase de experimentação (meses 2 a 4).

Pretende-se, durante o primeiro semestre, poder conduzir as primeiras experiências e avaliar os primeiros resultados de benchmarking serviços cloud. Para tal, assim que o ambiente de benchmarking o permita, devem ser realizadas experiências que o demonstrem.

- Escrita do relatório intermédio (mês 5).

Deve apresentar as tarefas efetuadas durante o primeiro semestre e descrever o trabalho a realizar no segundo semestre, escrevendo para esse efeito um relatório intermédio e preparando uma apresentação pública para discussão.

Plano de Trabalhos - Semestre 2

- Finalização da benchmark (meses 6 e 7).

Esta tarefa consiste na continuação do desenvolvimento da benchmark, tendo como base os resultados da primeira fase de experimentação. No final, dever-se-á obter um ambiente muito próximo de real e ser-se capaz de comparar soluções alternativas.

- Experimentação em ambiente real (meses 8 e 9).

Esta tarefa consiste na aplicação em ambiente real, por forma a comparar soluções alternativas. Para efeitos práticos, esta tarefa permitirá avaliar a própria benchmark desenvolvida, em particular no que toca à capacidade de comparar a disponibilidade e o desempenho.

- Escrita do relatório final (mês 10).

Deve apresentar todo o trabalho levado a cabo no decorrer do trabalho de Mestrado. Para tal, deverá escrever uma tese descrevendo o problema e a sua solução, bem como preparar a sua apresentação e discussão pública.

Condições

O trabalho será levado a cabo no Departamento de Engenharia Informática da Universidade de Coimbra, em contexto de investigação do CISUC, sendo que serão disponibilizados os recursos computacionais para a realização das experiências.

Observações

Sem elementos adicionais.

Orientador

Raul Barbosa e Filipe Araújo
rbarbosa@dei.uc.pt 📩