Titulo Estágio
Resiliência e segurança de serviços através do paradigma Service Mesh
Local do Estágio
MEI
Enquadramento
Os avanços nos paradigmas de virtualização têm permitido a implementação de serviços baseados em arquiteturas de microserviços. Neste contexto, plataformas como o Kubernetes (K8S) têm sido a referência para a orquestração dos de funções de rede em containers - Container Network Functions (CNF).
Associado à plataforma Kubernetes surgiu o conceito de Service Mesh que visa facilitar a comunicação entre serviços, através de mecanismos dinâmicos: de descoberta de serviço, de encaminhamento, de partilha de carga, de configuração do tráfego, de autenticação e encriptação. O conceito de Service Mesh permite a definição de políticas associadas ao comportamento da rede, do fluxo de dados e dos nós onde o serviço está alojado [1].
O conceito de Service mesh, como referido, aparece associado às arquiteturas de microserviços como o Istio, Linkerd [2], mas também tem suporte para arquiteturas baseadas em VNFs (máquinas virtuais) como o Kuma e o Consul [3].
[1] R. Chandramouli, “NIST Special Publication 800-204 - Security strategies for microservices-based application systems,” NIST Spec. Publ., 2019.
[2] Istio, bookinfo App: https://istio.io/latest/docs/examples/virtual-machines/.
[3] Consul NativeApp, https://www.consul.io/docs/connect/native.
Objetivo
Os objetivos do estágio são:
Obj. 1 - Desenhar uma Framework baseada em Service Mesh para a resiliência e segurança de micro-serviços. Este objetivo compreende:
i) a identificação de abordagens de Service Mesh (Istio, Linkerd, Kuma, ...);
ii) a identificação de mecanismos de modelação de serviços para múltiplas arquiteturas;
iii) a experimentação de implementações Service Mesh em clusters K8S.
Obj. 2 – Implementar funcionalidades de serviços com complexidade variável e com elevados requisitos de fiabilidade e segurança em cluster K8S.
Obj. 3 - Avaliar a performance dos serviços com Service Mesh na presença de múltiplos tipos de falhas e de diversos ataques (MiTM, DoS).
Obj. 4 – Documentação dos resultados para efeitos de dissertação e para publicação científica.
Plano de Trabalhos - Semestre 1
As tarefas do primeiro semestre são:
T1.1 – Análise do estado da arte relativamente a mecanismos de Service Mesh.
T1.2 – Análise do estado da arte relativamente a modelação de serviços.
T1.3 – Análise do estado da arte relativamente a falhas em microserviços e modelos de injeção de falhas
T1.4 – Análise do estado da arte relativamente a ataques de negação de serviço (DoS) e MiTM em microserviços.
T1.5 – Experimentação de soluções Service Mesh em cluster K8S.
T1.6 – Escrita do relatório intermédio.
Plano de Trabalhos - Semestre 2
As tarefas do segundo semestre são:
T2.1 – Implementação e modelação de serviços com complexidade variável e com elevados requisitos de fiabilidade e de segurança.
T2.2 – Avaliação da performance dos serviços com Service Mesh na presença de múltiplos tipos de falhas e de diversos ataques.
T.2.3 – Elaboração da documentação para efeitos de dissertação e de publicação científica.
Condições
O aluno terá acesso a recursos computacionais. A avaliação através de simulação poderá ser feita recorrendo a recursos computacionais disponíveis no departamento.
Observações
As atividades propostas nesta dissertação enquadram-se no projeto AIDA.
Este estágio será orientado pelo docente Bruno Sousa
Porque é que este estágio é interessante?
- Participação num projeto nacional;
- Possibilidade de contribuir em cenários de elevado interesse comercial, por parte de empresas nas áreas de serviços e de rede;
- Possibilidade de contribuir para uma Internet mais fiável, robusta e segura.
Orientador
Bruno Sousa
bmsousa@dei.uc.pt 📩