Auto-Propostas MEI 2014/2015

DEI - FCTUC
Gerado a 2024-04-29 17:21:24 (Europe/Lisbon).
Voltar

Titulo Estágio

Melhoria do Custo e do Desempenho de Aplicações para Cloud Tolerantes a Falhas

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI-FCTUC

Enquadramento

Este estágio aborda o desafio de tolerar falhas e intrusões em aplicações para a cloud. Tem-se assistido a um aumento da utilização de serviços em ambientes cloud, caracterizados pela colocação dos dados e do software em infraestruturas remotas. Apesar dos benefícios, a segurança destas plataformas não tem acompanhado as necessidades, sendo que os utilizadores confiam as suas aplicações a sistemas fora do controlo pessoal.

Neste contexto, surge naturalmente o problema 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. Os fornecedores empregam 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 tolerância a falhas e intrusões é ainda um problema de investigação.

Objetivo

Este estágio tem três objetivos principais:

- Instalação e avaliação de um servidor tolerante a falhas bizantinas na cloud.

- Implementação e avaliação de alternativas ao modelo relacional existente na aplicação atual (modificar o número de partições da base de dados atualmente existente e testar soluções não relacionais).

- Medição do desempenho e avaliação do custo de soluções distintas para tolerância a falhas bizantinas.

Um dos desafios que se levanta para tolerar ataques às aplicações e infraestrutura da cloud é o de permitir que a solução que presta o serviço seja capaz de escalar com o número de clientes, de forma a garantir que a resposta da cloud permanece elástica, i.e., que a cloud afete ou liberte mais recursos, consoante o número de clientes e consequentemente a carga aumenta ou se reduz.

Neste momento dispomos já de uma abordagem que permite atingir um determinado grau de elasticidade, experimentada apenas de forma local, com recurso ao cluster do DEI. Durante este estágio pretendemos testar esta solução num ambiente de cloud real. Este trabalho implicará instalar a solução existente num ambiente de maior escala com a subsequente adaptação dos algoritmos e das soluções utilizadas de acordo com os resultados experimentais. No final, pretende-se aumentar a escalabilidade (e consequentemente permitir a elasticidade), bem como avaliar soluções distintas quanto ao custo e ao desempenho obtido.

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.

- Instalação e avaliação de um servidor tolerante a falhas na cloud (meses 2 a 4).

Esta tarefa consiste na instalação, na cloud, de uma solução já existente para tolerância a falhas bizantinas. Pretende-se avaliar, nesta primeira fase, o desempenho da solução e a escalabilidade (isto é, a capacidade de garantir throughput e latência com um número crescente de clientes).

- 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

- Avaliação do custo e medição do desempenho de soluções distintas (meses 6 e 7).

O custo de uma solução tolerante a falhas depende de inúmeros factores, sendo que este estágio irá focar alguns aspectos em particular. O cloud provider, a repartição de dados entre sistemas que estejam na cloud e sistemas baseados em servidores locais, e o algoritmo de tolerância a falhas serão aspectos a avaliar.

- Avaliação de alternativas ao modelo relacional (meses 8 e 9).

Na implementação actualmente existente faz-se uso do modelo relacional com um número de partições fixo. Com esta tarefa pretende-se avaliar o impacto da modificação do número de partições da base de dados, bem como testar soluções não relacionais que possam garantir maior escalabilidade.

- 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, com possibilidade de candidatura a uma bolsa para estagiário com Licenciatura para apoiar os trabalhos do segundo semestre (745€ mensais).

Observações

Este estágio é adequado para um aluno que tenha 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 Filipe Araújo
rbarbosa@dei.uc.pt 📩