Elergy: elasticidade em nuvem para gerenciar desempenho e energia em aplicações baseadas na arquitetura de microsserviços

Carregando...
Imagem de Miniatura

Data de defesa

Autor(a)



Orientador(a)


Título do periódico

ISSN

Título do volume

Nome da instituição

Universidade do Vale do Rio dos Sinos

Departamento

Escola Politécnica

Programa

Programa de Pós-Graduação em Computação Aplicada

Agência de fomento

CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
Resumo

A arquitetura de microsserviços baseia-se na divisão das funcionalidades de uma aplicação em diversos pequenos serviços, visando que cada microsserviço seja escalado, distribuído, avaliado e implementado individualmente. Isso quer dizer que cada microsserviço pode ser escrito utilizando um framework ou linguagem diferente, pode possuir um número de nós diferente e pode possuir regras de elasticidade diferente. Essa arquitetura pode ser distribuída usando cloud computing, já que cada microsserviço pode ser distribuído em um container Docker. Utilizando elasticidade é possível alocar e desalocar recursos conforme algumas métricas, como CPU, visando melhorar o desempenho da aplicação. Existem diversos trabalhos que utilizam elasticidade para melhorar o desempenho da aplicação, porém são poucos os que visam melhorar o custo energético. Além disso, a maioria dos trabalhos baseiam-se na elasticidade reativa, onde as ações são executadas quando alguma métrica é atingida. Já na elasticidade proativa é utilizado alguma abordagem de predição, como por exemplo machine learning e séries temporais, para prever valores futuros de uma métrica e tomar decisões de antemão. Desta forma, o presente trabalho propõe o modelo Elergy, que combina elasticidade proativa de recursos com gerenciamento energético, visando melhorar o desempenho energético de aplicações submetidas à nuvem. Para a elasticidade proativa foi utilizado o modelo de séries temporais ARIMA, que visa prever uma métrica para tomar decisões de alocação e desalocação de containers de acordo com a carga de trabalho. Para o gerenciamento energético, o sistema migra containers entre servidores, visando permitir desativar máquinas que estão com baixa utilização. Além disso, apresenta-se um modelo de aplicação baseado em microsserviço que será a forma de implementação suportada pelo Elergy. Foram modeladas quatro cargas de trabalho que foram utilizadas na avaliação do modelo: constante, onda, crescente e decrescente. Em seguida, são demonstrados os resultados da predição de valores com a simulação de cargas de trabalhos reais. Para cada carga de trabalho avaliou-se o melhor modelo do ARIMA para predição. Este trabalho apresenta basicamente duas contribuições. A primeira é prover elasticidade proativa de aplicações que executam em microsserviços. A segunda é uma heurística para decisões de elasticidade visando redução do consumo energético com o mínimo impacto no desempenho. Para avaliar o impacto das decisões do Elergy, foram medidos os tempos de execução, índice energético e custo, com e sem o modelo comparando os resultados. Os resultados demonstram que obteve-se uma redução energética de até 27,92% em comparação com as outras execuções. Em relação ao custo, foi possível obter um custo 17,44% inferior.


Tema (CNPq)

ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação

Tipo de arquivo

Dissertação

Como citar

Avaliação

Revisão

Suplementado Por

Referenciado Por