| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 3.05 MB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
Com a computação cloud, os recursos computacionais tornaram-se facilmente acessíveis,
facultando assim o rápido deploy de aplicações/serviços que beneficiam principalmente
da escalabilidade oferecida pelos fornecedores de serviço. Devido ao aumento do volume
de dados recebidos pelos sistemas cloud, observa-se um aumento da latência percebida
pelas aplicações clientes, resultando na degradação da qualidade de serviço (QoS), incompatível
com determinado tipo de aplicações (e.g. de tempo real/quase real). Como solução
a este problema, surgiram os sistemas híbridos que combinam os recursos da cloud com
os recursos de variados dispositivos entre a cloud e a edge – computação fog/edge. Estes
recursos compreendem dispositivos muito heterogéneos, de diferentes capacidades, e que
se encontram geograficamente distribuídos, próximos dos clientes de aplicações ou fontes
de dados.
Os paradigmas das arquiteturas de software também evoluíram como efeito da necessidade
de simplificar o desenvolvimento das aplicações e aumentar a sua escalabilidade.
Com isto, adotou-se a arquitetura de micro-serviços, em que as aplicações monolíticas são
divididas em serviços responsáveis por funcionalidades independentes. Dada a pequena
dimensão e desacoplamento dos micro-serviços e avanços nas tecnologias de virtualização
de recursos, é possível fazer deploy de containers que executam micro-serviços nos dispositivos
no continuum cloud/edge. Este deploy deve considerar a variabilidade da carga dos
nós computacionais, bem como o volume de dados gerados e/ou volume de acessos a partir
de pontos particulares na periferia da rede, como forma de garantir uma boa gestão de
recursos e a QoS necessária. O resultado é, no entanto, um sistema computacional heterogéneo,
altamente dinâmico, apresentando uma gestão complexa e que requer um sistema
de monitorização capaz de responder à variabilidade nas suas diferentes dimensões.
Esta dissertação apresenta um protótipo aplicacional de monitorização adaptativo,
capaz de recolher e disponibilizar métricas com frequências variáveis e a diferentes níveis
de um sistema distribuído composto por aplicações dinâmicas de micro-serviços
executando sobre plataformas de nós heterogéneos no continuum cloud/edge. O sistema a
monitorizar assume-se de larga escala, quer em número de componentes e sua dispersão
geográfica, quer na variabilidade apresentada em termos da infraestrutura e aplicações. O sistema de monitorização apresenta diferentes mecanismos de adaptação a esse dinamismo,
com flexibilidade na seleção e frequência de métricas e na definição de mecanismos
de alerta. Tal permite uma monitorização continuada, adequada aos requisitos, sem
incorrer em sobrecarga adicional dos nós e da rede. As características dos seus componentes
definem uma arquitetura de monitorização hierárquica, flexível e com propriedades
de escalabilidade, adequada à complexidade do sistema alvo.
A avaliação realizada permitiu verificar o funcionamento e adaptabilidade do sistema
de monitorização no contexto cloud/edge e de um número variável de micro-serviços.
Foram também avaliadas diferentes dimensões de performance (desempenho), incluindo
latências, uso de memória e CPU e tráfego na rede.
