A Amazon lançou recentemente as Políticas de acompanhamento de alvos para o escalonamento automático do EC2 .
No meu serviço de produção, estou usando dois grupos de escalonamento automático separados para dar suporte ao escalonamento automático híbrido com uma mistura de instâncias Spot e On-Demand. O que eu quero é que o uso da minha CPU não exceda 70%, e deve usar as instâncias Spot sempre que possível, mas recorrer às instâncias do On-Demand, se necessário.
Primeiro, eu defino os grupos Auto-Scaling (Spot e On-Demand) para usar o Target Tracking para 70% da carga da CPU e definir o tamanho mínimo de ambos os grupos para um. O tráfego no meu serviço é bastante previsível (sem aumento repentino, mais tráfego durante o dia, menos tráfego durante a noite).
Em um ponto, havia duas instâncias On-Demand e duas Spot em execução. O sistema tinha acabado de reduzir porque a carga de CPU dos cinco servidores ficou muito baixa (cerca de 35%). Com os quatro servidores, a carga do CPU subiu e depois de alguns minutos cruzou brevemente a marca de 70% (talvez houvesse um aumento de tráfego muito pequeno naquele momento).
O sistema decidiu conservadoramente aumentar novamente, mas como ambos os grupos de escalonamento automático tomaram a decisão independentemente ao mesmo tempo, duas instâncias foram iniciadas (uma instância Spot e uma On-Demand). Neste momento, havia agora seis servidores em execução. Depois de um tempo diminuiu novamente e finalmente chegou a uma configuração de execução de quatro instâncias.
Para evitar esse efeito, alterei a configuração da seguinte forma:
Minha suposição é que isso deve ajudar a evitar esse cenário que descrevi. Eu esperaria que o grupo On-Demand diminuísse mais cedo do que o grupo Spot (o que é desejável, de qualquer forma, já que eles são mais caros). E espero que as ocorrências Spot aumentem mais rapidamente, o que deve proteger contra upscaling desnecessário do grupo On-Demand.
Essa é a minha expectativa, mas não encontrei muitos detalhes a documentação para confirmar. Alguém pode esclarecer como o novo dimensionamento do Target Tracking funciona em detalhes e como aplicá-lo a uma configuração híbrida com instâncias Spot e On-Demand?
Perguntas: