Adaptação de aplicações baseadas em microsserviços usando aprendizagem de máquina

Os microsserviços têm sido amplamente utilizados para criar aplicações complexas baseadas na nuvem. Nos sistemas baseados em nuvem, um dos requisitos essenciais é a escalabilidade. Sistemas escaláveis se adaptam às mudanças na carga de trabalho usando recursos de hardware adicionais, ou seja, dimens...

Full description

Main Author: SANTOS, Wellison Raul Mariz
Other Authors: ROSA, Nelson Souto
Format: masterThesis
Language: por
Published: Universidade Federal de Pernambuco 2020
Subjects:
Online Access: https://repositorio.ufpe.br/handle/123456789/37651
Tags: Add Tag
No Tags, Be the first to tag this record!
Summary: Os microsserviços têm sido amplamente utilizados para criar aplicações complexas baseadas na nuvem. Nos sistemas baseados em nuvem, um dos requisitos essenciais é a escalabilidade. Sistemas escaláveis se adaptam às mudanças na carga de trabalho usando recursos de hardware adicionais, ou seja, dimensionamento automático. No entanto, o gerenciamento de recursos envolve o monitoramento da carga de trabalho para determinar quando as adaptações são necessárias, seguida de uma ação corretiva rápida e precisa para evitar problemas como indisponibilidade ou baixo desempenho da aplicação. Como consequência, essas aplicações devem ser gerenciadas continuamente para que o ajuste de seus recursos atenda à demanda atual. Dessa maneira, as aplicações buscam manter a qualidade do serviço fornecido. As soluções existentes descrevem vários mecanismos que aplicam técnicas de dimensionamento automático para adaptar Microservice-Based Applications (MBAs). Porém, a adaptação somente é efetuada após um problema ocorrer, e.g., a adição de recursos adicionais a um microsserviço operando com consumo de CPU em 95%, quando deveria usar no máximo 80%. No entanto, poucos trabalhos tratam o gerenciamento de recursos que ajusta o sistema antes que o problema ocorra e as consequências de sua adoção. Nesse contexto, este trabalho propõe um novo ambiente proativo que usa modelos de aprendizagem de máquina para prever cargas de trabalho no futuro próximo, e os usa para ajudar nas decisões de provisionamento de recursos. Esses modelos foram integrados a um feedback loop MAPE-K, responsável pela adaptação da MBA. Essa pesquisa serve ainda como um passo-a-passo de como usar modelos de aprendizado de máquina para o desenvolvimento de soluções adaptativas proativas no mundo de microsserviços. Para avaliar o ambiente proposto, experimentos foram realizados para compará-la com os mecanismos reativos existentes no Kubernetes. No final, o ambiente proposto mostrou um melhor desempenho para adaptar MBAs.