Utilize este identificador para referenciar este registo:
http://hdl.handle.net/10773/34074
Título: | Proactive resource management for cloud of services environments |
Outros títulos: | Gestão proativa de recursos em ambientes de cloud de serviços |
Autor: | Marques, Gonçalo João Lopes de Figueiredo d'Almeida |
Orientador: | Sargento, Susana Senna, Carlos Roberto Matos, Ricardo Jorge Magalhães |
Palavras-chave: | Cloud service management Cloud monitoring Proactive resource management |
Data de Defesa: | 17-Dez-2021 |
Resumo: | Over the last few years, the advancements in virtualization and containerization
technologies have introduced the concept of the microservices architecture. Despite
this architectural paradigm bringing many advantages to cloud providers, it
also comes with some disadvantages since the division of monolithic applications
into microservices with different, narrowly focused purposes and requirements creates
the necessity for a monitoring system capable of accurately identifying the
specific resources a service may be lacking and allocating them accordingly.
The objective of this dissertation is to design, implement and test a service oriented
monitoring system for kubernetes clusters using open source technologies, capable
of dealing with the diversity of the requirements of the provided services. This
system can also autonomously predict workload variations and resource shortages
based on a forecasting module, and ensuring that additional resources are quickly
and efficiently allocated whenever necessary. In order to accomplish this, we will
be analysing the current monitoring techniques and challenges for service based
cloud environments, evaluating the effectiveness of the monitoring tools provided
by kubernetes, and designing an architecture that complements them with support
service specific metrics, and integrating a workload prediction module to forecast
workloads and allocate resources proactively.
The system was deployed first on a smaller scale cluster, to determine the shortcomings
of the kubernetes monitoring tools, and than on a larger scale public cloud
to validate the proposed architecture in a realistic scenario. The tests was done
with a dataset of user sessions, which was analysed to create daily user workload
patterns and used to train the forecasting algorithm implemented in the monitoring
system. The results show that the additions of the custom metrics module and the
proactive module to the monitoring and scaling systems improve response time and
the efficiency of scaling decisions, while reducing service level agreements violations
and service downtime. Nos últimos anos, os avanços nas tecnologias de containerização e virtualização têm vindo a introduzir um novo conceito de arquitetura de microserviços. Apesar deste novo paradigma trazer vantagens para cloud providers também traz algumas desvantagens, pois a divisão de aplicações monolíticas em microserviços, com propósitos e requisitos específicos, cria a necessidade de um sistema de monitorização capaz de detetar com precisão os recursos específicos que estão em falta para um serviço, e providenciá-los de acordo com os requisitos. O objetivo desta dissertação é desenhar, implementar e testar um sistema de monitorização orientado a serviços para clusters kubernetes, utilizando ferramentas open-source capazes de lidar com a diversidade de requisitos dos serviços em causa. Este sistema também deve prever autonomamente variações na carga e escassez de recursos com base num módulo de predição, e garantir que os recursos adicionais são fornecidos de forma rápida e eficiente sempre que necessários. Para o efeito: (1) serão analisadas as técnicas e os desafios atuais para a monitorização de serviços em ambientes de cloud para avaliar a eficácia das ferramentas de monitorização disponibilizadas pelos kubernetes; (2) será desenvolvida uma arquitetura complementar com suporte para métricas customizavéis específicas a cada serviço; (3) e será integrado um preditor de carga dos serviços capaz de antecipar picos de utilizadores e alocar recursos proativamente. O sistema foi implementado, primeiro num cluster de pequena escala para determinar as deficiências das ferramentas de monitorização dos kubernetes, e posteriormente em uma nuvem pública de maior escala, de forma a validar a arquitetura proposta em um cenário realista. Os testes foram realizados com um dataset de sessões de utilizadores, que foi analisado para criar padrões diários de picos de utilizadores e para treinar um algoritmo de predição implementado no sistema de monitorização. Os resultados obtidos mostram que as extensões do módulo de métricas customizáveis e do módulo de predição, aos sistemas de monitorização e escalonamento, melhoram a eficiência das políticas de escalonamento e reduzem o tempo de resposta e as ocorrências de violações de acordos de serviço do sistema. |
URI: | http://hdl.handle.net/10773/34074 |
Aparece nas coleções: | UA - Dissertações de mestrado DETI - Dissertações de mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Documento_Gonçalo_Marques.pdf | 4.56 MB | Adobe PDF | Ver/Abrir |
Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.