PERF02-BP05 Usar a elasticidade disponível dos recursos - AWS Well-Architected Framework

PERF02-BP05 Usar a elasticidade disponível dos recursos

A nuvem fornece a flexibilidade de expandir e reduzir os recursos dinamicamente por meio de diversos mecanismos para atender a mudanças na demanda. Ao combinar essa elasticidade com as métricas relacionadas à computação, uma workload pode responder automaticamente às mudanças para usar apenas os recursos necessários.

Antipadrões comuns:

  • Você provisiona em excesso para cobrir possíveis picos.

  • Você reage a alarmes aumentando a capacidade manualmente.

  • Você aumenta a capacidade sem considerar o tempo de provisionamento.

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

  • Você monitora métricas que não refletem diretamente os verdadeiros requisitos das workloads.

Benefícios do estabelecimento dessa prática recomendada: a demanda pode ser fixa, variável, seguir um padrão ou apresentar picos. Combinar a oferta com a demanda oferece o menor custo para uma workload. Monitorar, testar e configurar a elasticidade da workload vai otimizar o desempenho, economizar dinheiro e melhorar a confiabilidade à medida que as demandas de uso mudarem. Embora uma abordagem manual seja possível em relação a isso, seria impraticável em escalas maiores. Uma abordagem automática e baseada em métricas garante que os recursos atendam às demandas em qualquer momento.

Nível de risco exposto se esta prática recomendada não é estabelecida: médio

Orientações para a implementação

A automatização baseada em métricas deve ser usada para aproveitar a vantagem da elasticidade com o objetivo de que o suprimento dos recursos que você tem corresponda à demanda dos recursos que a workload exige. Por exemplo, é possível usar métricas do Amazon CloudWatch para monitorar os recursos ou usar métricas do Amazon CloudWatch para os grupos do Auto Scaling.

Combinada com as métricas relacionadas à computação, uma workload pode responder automaticamente a mudanças e utilizar um conjunto ideal de recursos para atingir sua meta. Você também deve planejar o tempo de provisionamento e possíveis falhas nos recursos.

Instâncias, contêineres e funções oferecem mecanismos para elasticidade, seja como um recurso do serviço, na forma de Application Auto Scaling ou em combinação com o Amazon EC2 Auto Scaling. Use a elasticidade em sua arquitetura para garantir que haja capacidade suficiente para atender aos requisitos de desempenho em uma ampla variedade de escalas de uso.

Valide as métricas para aumentar ou reduzir recursos elásticos em relação ao tipo de workload que está sendo implantada. Como exemplo, 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. Como alternativa, você pode medir em relação ao comprimento da fila de trabalhos de transcodificação aguardando para escalar seus tipos de instância.

As implantações da workload precisam lidar com eventos de aumento e redução vertical da escala. Reduzir os componentes da carga de trabalho com segurança é tão essencial quanto aumentar a escala de recursos quando a demanda exige.

Crie cenários de teste para eventos de escalabilidade a fim de garantir que a workload se comporte conforme o esperado.

Etapas da implementação

Recursos

Práticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: