Propostas submetidas

DEI - FCTUC
Gerado a 2024-11-21 22:04:27 (Europe/Lisbon).
Voltar

Titulo Estágio

Aplicações e Serviços Robustos para a Cloud

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI-FCTUC

Enquadramento

As infraestruturas de "cloud computing" são cada vez mais confiadas pelas organizações, que têm como objetivo reduzir os custos de aquisição e gestão de equipamentos informáticos. Apesar dos inúmeros benefícios, a fiabilidade destas plataformas não tem acompanhado as necessidades, sendo que os utilizadores executam as suas aplicações em sistemas fora do controlo pessoal.

Neste contexto, surge a questão da confiança depositada na entidade que gere a plataforma onde as aplicações executam. Qualquer organização que coloque uma aplicação na cloud (por exemplo, no EC2 da Amazon ou Azure da Microsoft) terá de aceitar as garantias dadas pelo fornecedor do serviço.

Este estágio aborda o desafio de assegurar a robustez do software (aplicações e serviços) na cloud. O fornecedor do serviço computacional faz uso de virtualização para gerir e repartir o poder computacional em função das necessidades reais da aplicação, cabendo ao software responder corretamente em caso de avaria.

Objetivo

Este estágio tem dois objetivos fundamentais:

- Integração de ferramentas de avaliação da robustez, por forma a realizar testes em máquinas virtuais.

- Desenho e implementação de mecanismos apropriados para assegurar a robustez de aplicações virtualizadas em ambientes cloud.

O ambiente de testes será composto por um conjunto de máquinas virtuais, fazendo uso de Linux (por exemplo, Citrix ou CentOS) e uma plataforma de virtualização (por exemplo, Xen ou VMWare). Por forma a testar o sistema, pretende-se integrar um conjunto de ferramentas capazes de introduzir falhas e avaliar a resposta do sistema a essas mesmas falhas. Existe presentemente uma ferramenta para avaliar a robustez de sistemas virtualizados, e o primeiro objetivo será a instalação e integração dessa mesma ferramenta no ambiente de testes.

Por forma a concretizar o segundo objetivo, neste estágio ir-se-á tirar partido de vasta literatura existente sobre a robustez de aplicações e serviços. Após uma primeira fase de análise dos problemas mais comuns (ainda parte do primeiro objetivo) pretende-se escolher as técnicas de proteção mais adequadas. Estas técnicas serão implementadas e avaliadas. No final, o relatório de estágio irá descrever as melhorias obtidas na robustez de software que executa na cloud, sujeito tanto a falhas de software como de hardware.

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 os desafios de segurança e confiabilidade acima referidos. Isto resultará numa clara formulação dos objectivos a alcançar por parte do estagiário.

- Construção do ambiente cloud para testes (meses 2 a 4).

Esta tarefa consiste na instalação configuração de uma plataforma de virtualização que permitirá realizar os testes para avaliar a sua robustez. Existe já um ambiente desenvolvido, que consiste na combinação de Xen com CentOS. Partindo desse ambiente, é necessário escolher e instalar as aplicações que serão usadas para testes.

- Primeira fase de integração de ferramentas de avaliação (meses 2 a 4).

Durante o primeiro semestre, pretende-se que a ferramenta de avaliação de robustez seja capaz de introduzir falhas muito simples, simulando falhas de hardware. Esta primeira fase permitirá obter um conjunto de resultados para guiar o desenvolvimento de mecanismos de proteção.

- 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. O estado da arte, estudado na primeira tarefa do planeamento, deverá ficar especialmente cuidado no que toca aos mecanismos de proteção a introduzir nas aplicações.

Plano de Trabalhos - Semestre 2

- Desenho e implementação de mecanismos de robustez (meses 6 e 7).

Nesta tarefa o estagiário irá desenhar e implementar as primitivas que permitirão às aplicações cloud serem mais robustas. Considerar-se-á tanto falhas de hardware como de software.

- Avaliação dos mecanismos desenvolvidos (meses 8 e 9).

Esta tarefa consiste na avaliação dos mecanismos desenvolvidos para aumentar a robustez de aplicações cloud. Para tal, far-se-á uso das ferramentas de avaliação analisadas e integradas durante o primeiro semestre. Pretende-se determinar o aumento de proteção fornecido pelos mecanismos desenvolvidos durante os meses 6 e 7.

- 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 todo o equipamento informático necessário para a realização dos testes, incluindo equipamento com suporte de virtualização, será disponibilizado. O/A estagiário/a terá acesso aos laboratórios de investigação para trabalhar.

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 disciplinas do Mestrado relacionadas com a área do estágio).

Orientador

Raul Barbosa
rbarbosa@dei.uc.pt 📩