Performance Modeling of Microservices-based Cloud Infrastructures
Microserviços. Modelagem de desempenho. Redes de Petri
estocásticas. Planejamento de capacidade. Otimização multiobjetivo.
Arquiteturas baseadas em microsserviços aprimoram o desempenho e a alocação
de recursos em sistemas distribuídos ao permitir escalabilidade
independente e compartilhamento dos recursos subjacentes entre múltiplos
microsserviços.
Apesar dessas vantagens, o provisionamento e a alocação de recursos para
atender aos acordos de nível de serviço (service level agreements - SLAs)
de todos os microsserviços permanecem desafiadores devido ao amplo espaço
de configuração, ao overhead no desempenho causado pela execução
concorrente dos microsserviços, à inicialização de containers e máquinas
virtuais (virtual machines - VMs) e à contenção de recursos influenciada
pela distribuição dos microsserviços entre servidores.
Determinar manualmente uma combinação de valores de parâmetros que atenda a
todos os SLAs é, portanto, complexo e demorado.
Além disso, estudos existentes sobre planejamento de capacidade raramente
integram autoescalonamento, interferência de desempenho e mecanismos de
resiliência em um único modelo quantitativo.
Essa tese visa fornecer um modelo analítico preditivo capaz de recomendar
configurações de deployment e de escalonamento de microsserviços que
satisfaçam todos os SLAs enquanto minimizam a utilização de recursos.
A tese propõe uma abordagem de modelagem utilizando stochastic Petri nets
(SPNs), o non-dominated sorting genetic algorithm II (NSGA-II), um dos
algoritmos evolutivos mais populares para otimização multiobjetivo
(multiobjective optimization - MOO), e random forest regression (RFR), um
método baseado em ensemble learning, para permitir uma análise de trade-off
entre desempenho e consumo de recursos nos microsserviços avaliados.
O modelo baseado em SPN é capaz de representar diferentes cenários de
alocação de recursos.
A abordagem incorpora tanto a instanciação sob demanda de VMs quanto pools
pré-instanciados de VMs com alocação de containers, além de se estender a
padrões de resiliência como circuit breakers e análise hierárquica para
sistemas em larga escala com padrões complexos de comunicação e restrições
de rede.
O modelo permite aos provedores de serviço estimar métricas de desempenho
considerando configurações que satisfazem todas as restrições de
desempenho, utilização de VMs, alocação de containers, taxa de descarte,
probabilidade de descarte, vazão, tempo de resposta e as funções de
distribuição acumulada (cumulative distribution functions - CDFs)
correspondentes.
Essas métricas são essenciais porque tornam possível, por exemplo, estimar
a utilização e alocação dos recursos, requisições rejeitadas, requisições
processadas por intervalo de tempo e o tempo necessário para processar cada
requisição.
A abordagem de modelagem foi validada com intervalo de confiança de 95\%
utilizando cenários reais, demonstrando precisão em avaliações envolvendo
escalabilidade de infraestrutura, interferência de desempenho, padrões de
resiliência e sistemas de larga escala com restrições de rede.
Esses resultados demonstram uma estratégia de modelagem analítica
reprodutível que unifica análise de elasticidade, interferência de
desempenho e resiliência, possibilitando planejamento de capacidade e
análises do tipo what-if em plataformas modernas baseadas em microsserviços.