Título: | Kubernetes autoscaling baseado em redes neurais artificiais |
Autor(es): | Lenzi, Arthur Fernando Pedroso Nogueira, Lucas Vinicius Martins |
Orientador(es): | Amvame-Nze, Georges |
Assunto: | Inteligência artificial Redes neurais (Computação) |
Data de apresentação: | 29-Set-2022 |
Data de publicação: | 29-Ago-2023 |
Referência: | LENZI, Arthur Fernando Pedroso; NOGUEIRA, Lucas Vinicius Martins. Kubernetes autoscaling baseado em redes neurais artificiais. 2022. 39 f., il. Trabalho de Conclusão de Curso (Engenharia de Redes de Comunicação) — Universidade de Brasília, Brasília, 2022. |
Resumo: | Hoje cada vez mais se valoriza a experiência do usuário, qualquer atraso ou indisponibilidade
percebidos em aplicações refletem diretamente na qualidade da empresa e na satisfação dos clientes, para evitar esses cenários as empresas alocam mais recursos em suas aplicações aumentando
a quantidade de instancias da mesma. Em contrapartida, manter diversas instâncias de uma aplicação é uma medida onerosa tanto para infraestruturas on-premises quanto para ambientes em
nuvem.
Esse trade-off entre disponibilidade e uso de recursos é tratado por um mecanismo chamado
autoscaling, onde normalmente é ativado por um limiar de utilização de recursos. Quando uma
aplicação alcança esse limite o autoscaling é ativado e realiza o devido escalonamento da aplicação,
podendo aumentar seus recursos ou o número de instâncias da aplicação. Quando essa utilização
de recursos cai (comumente pela baixa de requisições ou usuários) o autoscaling reduz o número de
instâncias ou a quantidade de recursos disponíveis na máquina, poupando recursos computacionais
e financeiros.
Ter um bom mecanismo de autoscaling reflete então não só em uma boa experiencia do usuário
como também em uma economia de recursos para a empresa, entretanto isso não é uma tarefa fácil
por isso é comumente configurada com parâmetros fixos e sem estudos sobre o comportamento da
aplicação. Essa solução pode não ser a melhor em todos os cenários pois há diversas variáveis que
podem determinar o quanto uma instância da aplicação irá suportar, dentre elas, quantidade de
usuários, utilização de recursos por usuário ou até utilização de recurso por funcionalidade.
Este trabalho propõe realizar um estudo, criação e implementação de uma infraestrutura que
seja escalável por meio de uma inteligência artificial, utilizando Kubernetes, que é um dos principais
sistemas de orquestração de contêineres open-source no mercado. O objetivo da IA é garantir
disponibilidade e rapidez em momentos de grande volume de acesso ou grande uso de recursos. |
Abstract: | Today more and more the user experience is valued, any delay or perceived unavailability in
applications reflect directly on the quality of the company and in customer satisfaction, to avoid
these scenarios, companies allocate more resources to their applications, increasing the number
of instances of the same. In contrast, keeping multiple instances of an application is an onerous
measure for both on-premises infrastructure and in the cloud.
This trade-off between availability and resource usage is handled by a mechanism called autoscaling, where it is normally triggered by a resource utilization threshold. When an application
reaches this limit, autoscaling is activated and performs the necessary scaling of the application,
being able to increase its resources or the number of instances of the application. When this
resource utilization drops (commonly due to low requests or users) the autoscaling reduces the
number of instances or the amount of resources available on the machine, saving computational
and financial resources.
Having a good autoscaling mechanism reflects not only a good user experience but also a
resource economy for the company, however this is not an easy task as it is commonly configured
with fixed parameters and without studies on the application behavior. This solution may not be
the best in all scenarios as there are several variables that can determine how much an application
instance will support, among them, number of users, use of resources per user or even use of feature
by functionality.
This work proposes to carry out the study, creation and implementation of an infrastructure
that is scalable through artificial intelligence, using Kubernetes, which is one of the main opensource container orchestration systems on the market. The purpose of AI is to ensure availability
and speed in times of high volume of access or high use of resources. |
Informações adicionais: | Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Elétrica, 2022. |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. |
Aparece na Coleção: | Engenharia de Redes de Comunicação
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.