

# SUS02-BP01 Escalar a infraestrutura da workload dinamicamente
<a name="sus_sus_user_a2"></a>

Use a elasticidade da nuvem e escale sua infraestrutura de forma dinâmica para corresponder a oferta de recursos de nuvem à demanda e evitar capacidade superprovisionada em sua workload.

**Práticas comuns que devem ser evitadas:**
+ Você não escala sua infraestrutura de acordo com a carga de usuários.
+ Você escala sua infraestrutura manualmente o tempo todo.
+ 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 da workload ajuda a adequar eficientemente a oferta de recursos de nuvem à demanda e evitar o excesso de capacidade provisionada. É possível aproveitar a elasticidade na nuvem para escalar automaticamente a capacidade durante e depois de picos de demanda para garantir que esteja usando apenas o número exato de recursos necessários para atender aos requisitos do seu negócio.

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

## Orientação para implementação
<a name="implementation-guidance"></a>

 A nuvem fornece a flexibilidade necessária para expandir ou reduzir seus recursos dinamicamente por meio de diversos mecanismos para atender a mudanças na demanda. O equilíbrio ideal entre a oferta e a demanda oferece o menor impacto ambiental para uma workload. 

 A demanda pode ser fixa ou variável, exigindo métricas e automação para garantir que o gerenciamento não se torne um gasto excessivo. As aplicações podem aumentar ou diminuir a escala verticalmente ao modificar o tamanho da instância e horizontalmente ao modificar o número de instâncias, ou ainda uma combinação de ambos. 

 Você pode usar diversas abordagens diferentes para corresponder a oferta de recursos com a demanda. 
+  **Abordagem de rastreamento de métricas:** 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. 
+  **Dimensionamento de serviços:** escolha serviços (como sem servidor) cuja escala seja modificada de forma nativa por design ou forneçam o ajuste de escala automático como um recurso. 

 Identifique períodos de utilização baixa ou sem utilização e escale os recursos para eliminar a capacidade em excesso e melhorar a eficiência. 

## Etapas de implementação
<a name="implementation-steps"></a>
+ A elasticidade corresponde à oferta de recursos que você tem face à demanda por estes recursos. Instâncias, contêineres e funções fornecem mecanismos para elasticidade, seja em combinação com o ajuste de escala automático ou como um recurso do serviço. A AWS fornece uma variedade de mecanismos de ajuste de escala automático para garantir que as workloads possam reduzir a escala verticalmente de forma rápida e fácil durante períodos de baixa carga de usuários. Veja alguns exemplos de mecanismos de ajuste de escala automático:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2024-06-27/framework/sus_sus_user_a2.html)
+  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. Considere a configuração de serviços não computacionais, como unidades de capacidade de leitura e gravação do [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) ou fragmentos do [Amazon Kinesis Data Streams](https://aws.amazon.com/kinesis/data-streams/) para atender à demanda. 
+  Verifique se as métricas para aumentar ou reduzir a escala verticalmente são validadas em relação ao tipo 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. É possível usar uma [métrica personalizada](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) (como utilização de memória) 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. 
+  Use o [ajuste de escala dinâmico](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) em vez do [ajuste de escala manual](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) para seu grupo do Auto Scaling. Também recomendamos usar [políticas de ajuste de escala de rastreamento de metas](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) em seu ajuste de escala dinâmico. 
+  Verifique se as implantações da workload podem lidar com eventos de aumento e redução horizontal da escala. Crie cenários de teste para eventos de redução horizontal da escala para verificar se a workload se comporta conforme o esperado e não afeta a experiência do usuário (como perda da sessão persistente). É possível usar o [Histórico de atividades](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html) para verificar uma atividade de ajuste de escala para 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](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/). 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [Conceitos básicos do Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [Ajuste de escala preditivo para o EC2 com Machine Learning](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 
+  [Analisar o comportamento do usuário usando o Amazon OpenSearch Service, o Amazon Kinesis Data Firehose e o Kibana](https://aws.amazon.com/blogs/database/analyze-user-behavior-using-amazon-elasticsearch-service-amazon-kinesis-data-firehose-and-kibana/) 
+  [O que é o Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Monitorar a workload de banco de dados com o Performance Insights no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+  [Introdução de suporte nativo para ajuste de escala preditivo com o Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/) 
+  [Introdução ao Karpenter: um dimensionador automático de escala de clusters do Kubernetes de código aberto e alta performance](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 
+  [Mergulho profundo no ajuste de escala automático de clusters do Amazon ECS](https://aws.amazon.com/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: Escalar na AWS para seus primeiros 10 milhões de usuários](https://www.youtube.com/watch?v=JzuNJ8OUht0)
+ [AWS re:Invent 2023: Arquitetura sustentável: passado, presente e futuro](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+  [AWS re:Invent 2022: Criar um ambiente de computação eficiente em termos de custo, energia e recursos](https://www.youtube.com/watch?v=8zsC5e1eLCg) 
+ [AWS re:Invent 2022: Escalar contêineres de um para milhões de usuários](https://www.youtube.com/watch?v=hItHqzKoBk0)
+ [AWS re:Invent 2023: Escalar a inferência de FM para centenas de modelos com o Amazon SageMaker AI](https://www.youtube.com/watch?v=6xENDvgnMCs)
+ [AWS re:Invent 2023: Aproveitar o poder do Karpenter para escalar, otimizar e atualizar o Kubernetes](https://www.youtube.com/watch?v=lkg_9ETHeks)

 **Exemplos relacionados:** 
+ [Ajuste de escala automático](https://www.eksworkshop.com/docs/autoscaling/)