A elasticidade depende do monitoramento contínuo e da tomada de decisão automatizada. Sua plataforma de nuvem acompanha as métricas de uso de recursos, como utilização da CPU, consumo de memória, capacidade de armazenamento em nuvem, tráfego de rede e tempos de resposta do aplicativo. Essas métricas fluem para ferramentas de monitoramento que comparam o desempenho atual com os limites predefinidos.
O fluxo de trabalho segue um padrão consistente. Os sistemas de monitoramento coletam dados de desempenho de sua infraestrutura a cada poucos segundos ou minutos. Quando as métricas ultrapassam um limite que você configurou, o sistema dispara uma ação de dimensionamento. Por exemplo, se o uso da CPU atingir 80% por um período contínuo, a plataforma provisiona recursos adicionais. Se a utilização cair abaixo de 30%, ela reduz a escala.
Isso ocorre por meio de camadas de orquestração que gerenciam o processo de provisionamento:
Durante eventos de aumento de escala: o sistema inicia novas instâncias de computação, conecta-as a balanceadores de carga e direciona o tráfego para a capacidade adicional. Os aplicativos começam a receber solicitações sobre os novos recursos em questão de minutos.
Durante eventos de redução de escala: a plataforma drena as conexões dos recursos pouco utilizados, encerra instâncias desnecessárias e consolida as cargas de trabalho em menos máquinas.
Quando a demanda volta ao normal, o sistema retorna à capacidade base. Um aplicativo de varejo pode ser executado em cinco servidores durante o horário comercial normal, dimensionar para 20 durante uma promoção relâmpago e retornar para cinco quando o tráfego diminuir.
A eficácia dos sistemas elásticos depende inteiramente da configuração. Definir limites com muita cautela significa gastar demais com recursos ociosos, enquanto defini-los de forma muito agressiva pode causar degradação de desempenho durante picos inesperados. As políticas definem não só quando escalar, mas também com que rapidez e em que medida.