Propostas com alunos

DEI - FCTUC
Gerado a 2024-04-28 10:36:41 (Europe/Lisbon).
Voltar

Titulo Estágio

Arquitetura de Aplicações para a Cloud

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI-FCTUC

Enquadramento

A Computação na Nuvem fornece recursos elásticos a organizações, permitindo que disponibilizem aplicações pela Internet, reduzindo os custos com infraestruturas físicas. Estas vantagens levaram a uma adopção em massa de Computação na Nuvem. Muitas organizações estão já a seguir uma estratégia de nuvem como primeira opção e muitas outras estão a considerar a migração na próxima década.

Cloud computing é cada vez mais o paradigma adotado pelas organizações, que pretendem reduzir os custos associados às infraestruturas informáticas. Apesar dos inúmeros benefícios, a fiabilidade e a segurança destas plataformas não tem acompanhado as necessidades, sendo que as organizações confiam as suas aplicações a sistemas virtualizados com a gestão feita remotamente.

Neste contexto, surge a questão da confiança depositada na entidade que gere a plataforma Cloud. Qualquer organização que coloque uma aplicação na cloud (por exemplo, no EC2 da Amazon, Azure da Microsoft, Digital Ocean ou OpenShift) terá de aceitar as garantias dadas pela operadora escolhida.

Esta dissertação aborda as arquiteturas de software para assegurar a robustez do software na cloud (aplicações e serviços). 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 casos de avaria.

Objetivo

Esta dissertação tem dois objetivos fundamentais:

- Desenho e avaliação de arquiteturas de software apropriadas para assegurar a robustez de aplicações virtualizadas em ambientes cloud.

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

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

Será aberta uma bolsa de investigação para licendiado/a à qual o/a Estudante se poderá candidatar para apoiar os trabalhos a tempo inteiro.

Observações

O trabalho irá ser realizado no Departamento de Engenharia Informática da Universidade de Coimbra, no contexto do projeto AESOP, em parceria com uma empresa sediada no IPN. Se necessário, haverá também um posto de trabalho no IPN destinado ao acompanhamento de tarefas por parte da empresa.

Orientador

Raul Barbosa
rbarbosa@dei.uc.pt 📩