Titulo Estágio
Benchmarking de Infraestruturas de Virtualização para a Cloud
Áreas de especialidade
Engenharia de Software
Local do Estágio
DEI-FCTUC
Enquadramento
Uma organização que pretenda colocar uma aplicação na cloud terá de avaliar e comparar diversos fornecedores de serviço (por exemplo, EC2 da Amazon ou Azure da Microsoft). Neste contexto, seria atractivo poder fazer benchmarking de vários "cloud providers" e obter uma classificação ordenada de acordo com a robustez e o desempenho oferecidos.
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 fora do controlo pessoal, pelo que deveriam poder comparar alternativas.
O fornecedor do serviço computacional emprega virtualização para gerir e repartir o poder computacional em função das necessidades reais de cada aplicação. Apesar de existirem plataformas sólidas de virtualização, a escolha do melhor fornecedor é ainda uma dificuldade para qualquer organização que pretenda colocar serviços na cloud.
Objetivo
Este estágio tem fundamentalmente dois objectivos:
- Desenho e implementação de uma benchmark, incluindo os processos de medição de desempenho e robustez.
- 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 o desempenho e a robustez de uma dada plataforma cloud. Pretende-se então desenhar e implementar uma benchmark capaz de comparar diferentes cloud providers.
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 objectivos 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 contacto 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 objectivos a alcançar por parte do estagiário.
- 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 selecção de um componente que perturbe o sistema. 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 de fornecedores de 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).
O estagiário deve apresentar as tarefas efectuadas 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 o mais próximo da realidade 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 o desempenho e a confiabilidade de várias infraestruturas cloud.
- Escrita do relatório final (mês 10).
O estagiário deve apresentar todo o trabalho levado a cabo no decorrer do estágio. 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 irá ser realizado no Departamento de Engenharia Informática da Universidade de Coimbra e haverá possibilidade de candidatura a uma bolsa para estagiário com Licenciatura para apoiar os trabalhos do segundo semestre (745€ mensais).
Observações
Dar-se-á preferência a alunos que tenham tido um bom desempenho às disciplinas no âmbito do trabalho proposto (nomeadamente Sistemas Distribuídos, Sistemas Operativos, e Integração de Sistemas).
Orientador
Raul Barbosa e Henrique Madeira
rbarbosa@dei.uc.pt 📩