PERF02-BP05 Dimensione recursos de computação dinamicamente - AWS Well-Architected Framework

PERF02-BP05 Dimensione recursos de computação dinamicamente

Use a elasticidade da nuvem para aumentar ou diminuir os recursos de computação dinamicamente a fim de atender às suas necessidades e evitar provisionamento excessivo ou insuficiente da capacidade para a workload.

Antipadrões comuns:

  • Você reage a alarmes aumentando a capacidade manualmente.

  • Você usa as mesmas diretrizes de dimensionamento (geralmente infraestrutura estática) do ambiente on-premises.

  • Você deixa a capacidade aumentada após um evento de escalabilidade, em vez de reduzir novamente.

Benefícios de estabelecer esta prática recomendada: Configurar e testar a elasticidade dos recursos computacionais pode ajudar você a economizar dinheiro, manter os benchmarks de performance e melhorar a confiabilidade à medida que o tráfego muda.

Nível de risco exposto se esta prática recomendada não for estabelecida: alto

Orientação para implementação

A AWS oferece a flexibilidade de aumentar ou diminuir seus recursos dinamicamente por meio de uma variedade de mecanismos de ajuste de escala a fim de atender às mudanças na demanda. Combinado com métricas relacionadas à computação, um ajuste de escala dinâmico permite que as workloads respondam automaticamente às mudanças e usem o conjunto ideal de recursos computacionais para atingir sua meta.

Você pode usar diversas abordagens diferentes para corresponder a oferta de recursos com a demanda.

  • Abordagem de monitoramento de meta: monitore a métrica de ajuste de escala e aumente ou diminua automaticamente a capacidade conforme necessário.

  • Ajuste de escala preditivo: reduza a escala horizontalmente em antecipação às tendências diárias e semanais.

  • Abordagem baseada em cronograma: defina seu próprio cronograma de escalabilidade de acordo com as mudanças de carga previsíveis.

  • Escalabilidade de serviços: escolha serviços (como de tecnologia sem servidor) que sejam escalados automaticamente de acordo com o projeto.

É necessário garantir que as implantações de carga de trabalho possam lidar com eventos de expansão e redução da escala.

Etapas da implementação

  • Instâncias, contêineres e funções de computação oferecem mecanismos para elasticidade, seja em combinação com o ajuste de escala automático ou como um recurso do serviço. Veja alguns exemplos de mecanismos de ajuste de escala automático:

    Mecanismo de ajuste de escala automático Onde usar
    Amazon EC2 Auto Scaling Para garantir que você tenha o número correto de instâncias do Amazon EC2 disponíveis para lidar com a carga do usuário para a aplicação.
    Application Auto Scaling Para escalar automaticamente os recursos para serviços individuais da AWS além do Amazon EC2, como funções do AWS Lambda ou os serviços Amazon Elastic Container Service (Amazon ECS) .
    Kubernetes Cluster Autoscaler/Karpenter Para escalar automaticamente os clusters do Kubernetes.
  • O ajuste de escala geralmente é discutido em relação a serviços de computação, como instâncias do Amazon EC2 ou funções do AWS Lambda. Não se esqueça de pensar também na configuração de serviços não computacionais, como AWS Glue para atender à demanda.

  • Verifique se as métricas de ajuste de escala correspondem às características da workload que está sendo implantada. Se você estiver implantando uma aplicação de transcodificação de vídeo, espera-se que a utilização da CPU seja de 100%, e essa não deve ser sua métrica principal. Em vez disso, use a profundidade da fila de trabalhos de transcodificação. Você pode usar uma métrica personalizada para a política de escalabilidade, se necessário. Para escolher as métricas certas, considere a seguinte orientação para o Amazon EC2:

    • A métrica deve ser uma métrica de utilização válida e descrever o quanto uma instância está ocupada.

    • O valor da métrica deve aumentar ou diminuir proporcionalmente com o número de instâncias no grupo do Auto Scaling.

  • Use a escalabilidade dinâmica em vez de escalabilidade manual para seu grupo do Auto Scaling. Também recomendamos que você use políticas de escalabilidade de monitoramento do objetivo em sua escalabilidade dinâmica.

  • Verifique se as implantações da workload podem lidar com os dois eventos de ajuste de escala (aumento e redução). Por exemplo, você pode usar o histórico de atividades para verificar uma atividade de escalabilidade para um grupo do Auto Scaling.

  • Avalie sua workload com relação a padrões previsíveis e, ao antecipar alterações previstas e planejadas na demanda, escale proativamente. Com a escalabilidade preditiva, é possível eliminar a necessidade de superprovisionar a capacidade. Para obter mais detalhes, consulte Ajuste de escala com o Amazon EC2 Auto Scaling.

Recursos

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: