

# SUS 2 Como alinhar recursos de nuvem à sua demanda?
<a name="sus-02"></a>

A maneira como os usuários e as aplicações consomem suas workloads e outros recursos pode ajudar você a identificar melhorias para atingir as metas de sustentabilidade. Escale a infraestrutura de forma que ela corresponda à demanda e use apenas os recursos mínimos necessários para oferecer suporte aos usuários. Alinhe os níveis de serviço às necessidades do cliente. Posicione os recursos a fim de limitar a rede necessária para que usuários e aplicações os consumam. Elimine ativos não utilizados. Forneça aos membros da sua equipe dispositivos compatíveis com suas necessidades e minimize o impacto na sustentabilidade.

**Topics**
+ [SUS02-BP01 Escalar a infraestrutura da workload dinamicamente](sus_sus_user_a2.md)
+ [SUS02-BP02 Alinhar os SLAs com as metas de sustentabilidade](sus_sus_user_a3.md)
+ [SUS02-BP03 Interromper a criação e a manutenção de ativos não utilizados](sus_sus_user_a4.md)
+ [SUS02-BP04 Otimizar o posicionamento geográfico das workloads com base nos respectivos requisitos de rede](sus_sus_user_a5.md)
+ [SUS02-BP05 Otimizar os recursos dos membros da equipe para as atividades realizadas](sus_sus_user_a6.md)
+ [SUS02-BP06 Implementar armazenamento em buffer ou controle de utilização para nivelar a curva da demanda](sus_sus_user_a7.md)

# 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.

**Antipadrões comuns:**
+ Você não dimensiona sua infraestrutura de acordo com a carga de usuários.
+ Você dimensiona sua infraestrutura manualmente o tempo todo.
+ Você deixa a capacidade aumentada após um evento de escalabilidade, em vez de reduzir novamente.

 **Benefícios do estabelecimento dessa prática recomendada: **configurar e testar a elasticidade da workload ajuda a corresponder de maneira eficiente a oferta de recursos de nuvem à demanda e evitar a capacidade superprovisionada. Você pode 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 é estabelecida:** médio 

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

 A nuvem fornece a flexibilidade de 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. Os aplicativos 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 uma combinação de ambos. 

 Você pode usar diversas abordagens diferentes para corresponder a oferta de recursos com a demanda. 
+  **Abordagem de monitoramento de meta:** monitore sua métrica de escalabilidade e aumente ou diminua automaticamente a capacidade conforme necessário. 
+  **Escalabilidade preditiva:** escale antecipadamente em relação às tendências diárias e semanais. 
+  **Abordagem com base na programação:** defina sua própria programação de escalabilidade de acordo com as alterações de carga previsíveis. 
+  **Escalabilidade de serviços:** escolha serviços (como tecnologia sem servidor) que são escalados nativamente por design ou fornecem escalabilidade automática 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 da 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 a escalabilidade automática ou como um recurso do serviço. A AWS fornece uma variedade de mecanismos de escalabilidade automática 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ário. Veja alguns exemplos de mecanismos de escalabilidade automática:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-04-10/framework/sus_sus_user_a2.html)
+  A escalabilidade geralmente é discutida 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 relacionados a computação, como o [Amazon DynamoDB](https://aws.amazon.com/dynamodb/), e grave unidades de capacidade ou fragmentos do [Amazon Kinesis Data Streams](https://aws.amazon.com/kinesis/data-streams/) para corresponder à demanda. 
+  Verifique se as métricas para aumentar ou reduzir a escala verticalmente são validadas em relação ao tipo de 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. Você pode 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 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](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) em vez da [escalabilidade manual](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) para o seu grupo do Auto Scaling. Também recomendamos que você use as [políticas de escalabilidade de monitoramento de meta](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) na sua escalabilidade dinâmica. 
+  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). Você também pode usar o [histórico de atividades](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html) para verificar a 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 [Escalabilidade preditiva 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) 
+  [Escalabilidade preditiva para o EC2 com Machine Learning](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 
+  [Analisar o comportamento dos usuários usando o Amazon OpenSearch Service, o Amazon 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/Amazon/latest/monitoring/WhatIs.html) 
+  [Monitorar a carga do banco de dados com o Performance Insights no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+  [Introdução ao suporte nativo para escalabilidade preditiva com o Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/) 
+  [Apresentando o Karpenter: um dimensionador automático 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/) 
+  [Aprofundamento do Amazon ECS Cluster Auto Scaling](https://aws.amazon.com/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/) 

 **Vídeos relacionados:** 
+  [Build a cost-, energy-, and resource-efficient compute environment](https://www.youtube.com/watch?v=8zsC5e1eLCg) (Criar um ambiente de computação eficiente em termos de custo, energia e recursos) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) (Computação melhor, mais rápida e mais barata: otimização de custos com o Amazon EC2) 

 **Exemplos relacionados:** 
+  [Laboratório: Exemplos de grupos do Amazon EC2 Auto Scaling](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Laboratório: Implementação de escalabilidade automática com o Karpenter](https://www.eksworkshop.com/beginner/085_scaling_karpenter/) 

# SUS02-BP02 Alinhar os SLAs com as metas de sustentabilidade
<a name="sus_sus_user_a3"></a>

 Analise e otimize os Acordos de Serviço (SLA) com base em suas metas de sustentabilidade para minimizar os recursos necessários a fim de oferecer compatibilidade com sua workload enquanto continua a atender às necessidades empresariais. 

 **Antipadrões comuns:** 
+  SLAs de workload são desconhecidos ou ambíguos. 
+  Você define seu SLA apenas para disponibilidade e performance. 
+  Você usa o mesmo padrão de design (como arquitetura multi-AZ) para todas as suas workloads. 

 **Benefícios do estabelecimento desta prática recomendada:** o alinhamento dos SLAs com as metas de sustentabilidade ocasiona o uso ideal dos recursos e a concretização das necessidades empresariais. 

 **Nível de exposição a riscos quando esta prática recomendada não é estabelecida:** baixo 

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

 Os SLAs definem o nível de serviço esperado de uma workload de nuvem, como tempo de resposta, disponibilidade e retenção de dados. Eles influenciam a arquitetura, o uso de recursos e o impacto ambiental de uma workload de nuvem. Em uma cadência regular, analise os SLAs e faça compensações que reduzam significativamente o uso de recursos em troca de reduções aceitáveis em níveis de serviço. 

 **Etapas da implementação** 
+  Defina ou remodele SLAs que apoiem suas metas de sustentabilidade e, ao mesmo tempo, atendam aos seus requisitos empresariais, não os excedendo. 
+  Faça compensações que reduzam significativamente os impactos na sustentabilidade em troca de reduções aceitáveis em níveis de serviço. 
  +  **Sustentabilidade e confiabilidade:** workloads altamente disponíveis tendem a consumir mais recursos. 
  +  **Sustentabilidade e performance:** o uso de mais recursos para impulsionar a performance pode causar um maior impacto ambiental. 
  +  **Sustentabilidade e segurança:** workloads excessivamente seguras podem ter um maior impacto ambiental. 
+  Use padrões de design, como [microsserviços na AWS](https://docs.aws.amazon.com/whitepapers/latest/microservices-on-aws/microservices-on-aws.html) que priorizem funções essenciais aos negócios e permita níveis de serviço mais baixos (como objetivos de tempo de resposta ou de tempo de recuperação) para funções não essenciais. 

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

 **Documentos relacionados:** 
+  [Acordos de nível de serviço da AWS (SLAs)](https://aws.amazon.com/legal/service-level-agreements/?aws-sla-cards.sort-by=item.additionalFields.serviceNameLower&aws-sla-cards.sort-order=asc&awsf.tech-category-filter=*all) 
+  [Importance of Service Level Agreement for SaaS Providers](https://aws.amazon.com/blogs/apn/importance-of-service-level-agreement-for-saas-providers/) 

 **Vídeos relacionados:** 
+ [ Delivering sustainable, high-performing architectures ](https://www.youtube.com/watch?v=FBc9hXQfat0) (Entregar arquiteturas sustentáveis e de alta performance)
+ [Criar um ambiente de computação eficiente em termos de custo, energia e recursos](https://www.youtube.com/watch?v=8zsC5e1eLCg)

# SUS02-BP03 Interromper a criação e a manutenção de ativos não utilizados
<a name="sus_sus_user_a4"></a>

Desative ativos em sua workload para reduzir o número de recursos necessários para atender à sua demanda e minimizar o desperdício.

 **Antipadrões comuns:** 
+  Você não analisa sua aplicação com relação a ativos redundantes ou não mais necessários. 
+  Você não remove ativos redundantes ou não mais necessários. 

 **Benefícios do estabelecimento desta prática recomendada:** a remoção de ativos ociosos libera recursos e melhora a eficiência geral da workload. 

 **Nível de exposição a riscos quando esta prática recomendada não é estabelecida:** baixo 

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

 Os ativos ociosos consomem recursos de nuvem como espaço de armazenamento e potência computacional. Com a identificação e eliminação desses ativos, você pode liberar esses recursos e aumentar a eficiência da arquitetura de nuvem. Analise regularmente os ativos de aplicações (como relatórios pré-compilados, conjuntos de dados e imagens estáticas) e os padrões de acesso aos ativos para identificar redundâncias, subutilização e possíveis alvos de desativação. Remova esses ativos redundantes para diminuir o desperdício de recursos em sua workload. 

 **Etapas da implementação** 
+  Use ferramentas de monitoramento para identificar ativos estáticos que não são mais necessários. 
+  Antes de remover qualquer ativo, avalie o impacto da remoção sobre a arquitetura. 
+  Desenvolva um plano e remova os ativos que não são mais necessários. 
+  Consolide ativos gerados sobrepostos para remover o processamento redundante. 
+  Atualize suas aplicações para que não produzam nem armazenem mais ativos que não são necessários. 
+  Instrua terceiros a interromper a produção e o armazenamento de ativos gerenciados em seu nome que não sejam mais necessários. 
+  Instrua terceiros a consolidar ativos redundantes produzidos em seu nome. 
+  Avalie regularmente sua workload para identificar e remover ativos ociosos. 

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

 **Documentos relacionados:** 
+  [Otimizar a sua infraestrutura da AWS para sustentabilidade, Parte II: Armazenamento](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-ii-storage/) 
+ [ Como faço para verificar se há recursos ativos dos quais não preciso mais na minha Conta da AWS? ](https://aws.amazon.com/premiumsupport/knowledge-center/terminate-resources-account-closure/)

 **Vídeos relacionados:** 
+ [ Como verifico e depois removo recursos ativos dos quais não preciso mais na minha Conta da AWS? ](https://www.youtube.com/watch?v=pqg9AqESRlg)

# SUS02-BP04 Otimizar o posicionamento geográfico das workloads com base nos respectivos requisitos de rede
<a name="sus_sus_user_a5"></a>

Selecione locais e serviços de nuvem para sua workload que reduzam a distância que o tráfego de rede deve percorrer e diminua o total de recursos de rede necessários para comportar a workload.

 ** Antipadrões comuns: ** 
+  Selecione a região da workload com base em sua localização. 
+  Você consolida todos os recursos da workload em uma única localização geográfica. 
+  Todo o tráfego flui por meio dos datacenters existentes. 

 **Benefícios de estabelecer esta prática recomendada:** Implantar uma workload perto dos clientes proporciona a latência mais baixa enquanto reduz a movimentação de dados pela rede e reduz o impacto ambiental. 

 **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 infraestrutura da Nuvem AWS é construída em torno de opções de local, como regiões, zonas de disponibilidade, grupos de posicionamento e locais da borda, como [AWS Outposts](https://docs.aws.amazon.com/outposts/latest/userguide/what-is-outposts.html) e [zonas locais da AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/). Essas opções de local são responsáveis por manter a conectividade entre componentes da aplicação, serviços de nuvem, redes da borda e datacenters on-premises. 

 Analise os padrões de acesso à rede em sua workload para identificar como usar essas opções de local de nuvem e reduzir a distância que o tráfego de rede precisa percorrer. 

## Etapas da implementação
<a name="implementation-steps"></a>
+  Analise os padrões de acesso à rede em sua workload para identificar como os usuários utilizam sua aplicação. 
  +  Use ferramentas de monitoramento, como [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) e o [AWS CloudTrail](https://aws.amazon.com/cloudtrail/), para coletar dados sobre as atividades da rede. 
  +  Analise os dados para identificar o padrão de acesso à rede. 
+  Selecione as regiões para implantação da workload com base nos seguintes elementos fundamentais: 
  +  **Sua meta de sustentabilidade:** conforme explicado em [Seleção de região](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/region-selection.html). 
  +  **A localização dos seus dados:** para aplicações com uso intenso de dados (como big data e machine learning), o código da aplicação deve ser executado o mais perto possível dos dados. 
  +  **A localização dos usuários:** para aplicações voltadas ao usuário, escolha uma região (ou regiões) próxima dos clientes de sua workload.
  + **Outras restrições:** Leve em conta restrições, como custo e conformidade, conforme explicado em [O que considerar ao selecionar uma região para suas workloads](https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/).
+  Use armazenamento em cache local ou [soluções de armazenamento em cache da AWS](https://aws.amazon.com/caching/aws-caching/) para ativos usados com frequência a fim de aumentar a performance, reduzir a movimentação de dados e reduzir o impacto ambiental.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-04-10/framework/sus_sus_user_a5.html)
+  Use serviços que podem ajudar você a executar código mais perto dos usuários da workload:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-04-10/framework/sus_sus_user_a5.html)
+  Use o agrupamento de conexões para permitir a reutilização de conexões e reduzir os recursos necessários. 
+  Use datastores distribuídos que não dependem de conexões persistentes e atualizações síncronas para fins de consistência com o objetivo de atender a populações regionais. 
+  Substitua a capacidade de rede estática pré-provisionada por capacidade dinâmica compartilhada e divida o impacto sobre a sustentabilidade da capacidade de rede com outros assinantes. 

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

 **Documentos relacionados:** 
+  [Otimizar a sua infraestrutura da AWS para sustentabilidade, Parte III: Redes](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-iii-networking/) 
+  [Documentação do Amazon ElastiCache](https://docs.aws.amazon.com/elasticache/index.html) 
+  [O que é o Amazon CloudFront?](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 
+  [Principais recursos do Amazon CloudFront](https://aws.amazon.com/cloudfront/features/) 

 **Vídeos relacionados:** 
+  [Demystifying data transfer on AWS (Desmistificação da transferência de dados na AWS)](https://www.youtube.com/watch?v=-MqXgzw1IGA) 
+ [ Escalar a performance da rede em instâncias do Amazon EC2 de última geração ](https://www.youtube.com/watch?v=jNYpWa7gf1A)

 **Exemplos relacionados:** 
+  [Workshops de redes da AWS](https://catalog.workshops.aws/networking/en-US) 
+ [ Arquitetura para a sustentabilidade: reduza a movimentação de dados entre redes ](https://catalog.us-east-1.prod.workshops.aws/workshops/7c4f8394-8081-4737-aa1b-6ae811d46e0a/en-US)

# SUS02-BP05 Otimizar os recursos dos membros da equipe para as atividades realizadas
<a name="sus_sus_user_a6"></a>

Otimize os recursos fornecidos aos membros da equipe para minimizar o impacto sobre a sustentabilidade ambiental e, ao mesmo tempo, atender às suas necessidades. 

 **Antipadrões comuns:** 
+  Você ignora o impacto dos dispositivos usados pelos membros da equipe sobre a eficiência geral de sua aplicação de nuvem. 
+  Você gerencia e atualiza manualmente os recursos usados pelos membros da equipe. 

 **Benefícios do estabelecimento desta prática recomendada:** otimizar recursos para os membros da equipe melhora a eficiência geral das aplicações habilitadas para a nuvem. 

 **Nível de exposição a riscos quando esta prática recomendada não é estabelecida:** baixo 

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

 Conheça os recursos que os membros da equipe usam para consumir seus serviços, o ciclo de vida esperado e o impacto financeiro e na sustentabilidade. Implemente estratégias para otimizar esses recursos. Por exemplo, realize operações complexas, como renderização e compilação, em infraestrutura escalável com alta utilização em vez de em sistemas de usuário único subutilizados com alto consumo de energia. 

 **Etapas da implementação** 
+  Provisione estações de trabalho e outros dispositivos para alinhar a maneira como eles são usados. 
+  Use áreas de trabalho virtuais e a transmissão de aplicações para limitar os requisitos de upgrade e dispositivos. 
+  Migre para a nuvem as tarefas do processador e as com uso intenso de memória a fim de utilizar a respectiva elasticidade. 
+  Avalie o impacto de processos e sistemas no ciclo de vida de seus dispositivos e escolha soluções que minimizem o requisito de substituição de dispositivos e, ao mesmo tempo, atendam aos requisitos empresariais. 
+  Implemente o gerenciamento remoto de dispositivos para reduzir as viagens de negócios. 
  +  O [AWS Systems Manager Fleet Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet.html) é uma experiência de interface do usuário (UI) que ajuda você a gerenciar remotamente os nós em execução na AWS ou no ambiente on-premises. 

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

 **Documentos relacionados:** 
+  [O que é o Amazon WorkSpaces?](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) 
+ [ Otimizador de custos para o Amazon WorkSpaces ](https://docs.aws.amazon.com/solutions/latest/cost-optimizer-for-workspaces/overview.html)
+  [Documentação do Amazon AppStream 2.0](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 

 **Vídeos relacionados:** 
+  [Gerenciamento de custos do Amazon WorkSpaces na AWS](https://www.youtube.com/watch?v=0MoY31hZQuE) 

# SUS02-BP06 Implementar armazenamento em buffer ou controle de utilização para nivelar a curva da demanda
<a name="sus_sus_user_a7"></a>

O armazenamento em buffer e o controle de utilização nivelam a curva da demanda e reduzem a capacidade provisionada necessária para sua workload. 

 **Antipadrões comuns:** 
+ Você processa imediatamente as solicitações de cliente embora isso não seja necessário.
+ Você não analisa os requisitos das solicitações de cliente.

 **Benefícios do estabelecimento desta prática recomendada:** nivelar a curva da demanda reduz a capacidade provisionada necessária para a workload. Reduzir a capacidade provisionada significa diminuir o consumo de energia e o impacto ambiental. 

 **Nível de exposição a riscos quando esta prática recomendada não é estabelecida:** baixo 

 Nivelar a curva da demanda pode ajudar você a reduzir a capacidade provisionada para uma workload e a diminuir o respectivo impacto ambiental. Considere a workload com a curva de demanda mostrada na figura a seguir. Essa workload tem dois picos e, para lidar com eles, é provisionada a capacidade de recurso mostrada pela linha laranja. Os recursos e energia usados para essa workload não são indicados pela área abaixo da curva da demanda, mas pela área abaixo da linha da capacidade provisionada, visto que é preciso ter capacidade provisionada para lidar com esses dois picos. 

![\[Forma de onda da capacidade provisionada com dois picos distintos que exigem alta capacidade provisionada.\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-04-10/framework/images/provisioned-capacity-1.png)


 

 Você pode usar o armazenamento em buffer ou o controle de utilização para modificar a curva da demanda e atenuar os picos, o que significa menor capacidade provisionada e menor consumo de energia. Implemente o controle de utilização quando seus clientes puderem realizar novas tentativas. Implemente o armazenamento em buffer para armazenar a solicitação e adiar o processamento até um momento posterior. 

![\[Diagrama de forma de onda exibindo uma workload com picos atenuados por meio do armazenamento em buffer e do controle de utilização.\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-04-10/framework/images/provisioned-capacity-2.png)


 

 **Etapas da implementação** 
+  Analise as solicitações dos clientes para determinar como responder a elas. As perguntas a serem consideradas incluem: 
  +  Essa solicitação pode ser processada assincronamente? 
  +  O cliente tem capacidade de repetição? 
+  Se o cliente tiver capacidade de repetição, você pode implementar o controle de utilização, que informa à origem que, se ela não puder atender à solicitação naquele momento, deverá tentar novamente mais tarde. 
  +  Você pode usar o [Amazon API Gateway](https://aws.amazon.com/api-gateway/) para implementar o controle de utilização. 
+  Para clientes que não podem realizar novas tentativas, é necessário implementar um buffer para nivelar a curva da demanda. O buffer adia o processamento de solicitações, permitindo que as aplicações executadas em diferentes taxas se comuniquem com eficácia. Uma abordagem baseada em buffer usa uma fila ou um fluxo para aceitar mensagens de produtores. As mensagens são lidas pelos consumidores e processadas, permitindo que as mensagens sejam executadas na taxa que atenda aos requisitos de negócios dos consumidores. 
  +  O [Amazon Simple Queue Service (Amazon SQS)](https://aws.amazon.com/sqs/) é um serviço gerenciado que fornece filas que permitem que um único consumidor leia mensagens individuais. 
  +  O [Amazon Kinesis](https://aws.amazon.com/kinesis/) oferece um fluxo que permite que vários consumidores leiam as mesmas mensagens. 
+  Analise a demanda geral, a taxa de alteração e o tempo de resposta necessário para dimensionar adequadamente o controle ou buffer necessário. 

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

 **Documentos relacionados:** 
+ [ Conceitos básicos do Amazon SQS ](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html)
+ [ Integração de aplicações usando filas e mensagens ](https://aws.amazon.com/blogs/architecture/application-integration-using-queues-and-messages/)

 **Vídeos relacionados:** 
+ [ Escolha do serviço de mensagem correto para sua aplicação distribuída ](https://www.youtube.com/watch?v=4-JmX6MIDDI)