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

PERF02-BP05 Dimensionar 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.

Práticas comuns que devem ser evitadas:

  • Reagir a alarmes aumentando a capacidade manualmente.

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

  • Manter a capacidade aumentada após um evento de ajuste de escala, em vez de reduzi-la novamente.

Benefícios de implementar 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: aumente ou reduza a escala em antecipação às tendências diárias e semanais.

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

  • Ajuste de escala 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 workload possam lidar com eventos de expansão e redução da escala.

Etapas de 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 Ajuda a garantir que você tenha o número correto de instâncias do Amazon EC2 disponíveis para processar a carga da aplicação.
    Application Auto Scaling Para escalar automaticamente os recursos para serviços da AWS individuais além do Amazon EC2, como funções do AWS Lambda ou serviços do 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 considerar também a 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. Use a profundidade da fila de trabalhos de transcodificação. Você pode usar uma métrica personalizada para sua política de ajuste de escala, 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 e diminuir em proporção ao número das instâncias no grupo do Auto Scaling.

  • Certifique-se de usar o ajuste de escala dinâmico em vez do ajuste de escala manual para seu grupo do Auto Scaling. Também recomendamos usar políticas de ajuste de escala de rastreamento de metas em seu ajuste de escala dinâmico.

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

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

Recursos

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: