

# Eficiência de desempenho
<a name="a-performance-efficiency"></a>

O pilar Eficiência de performance inclui a capacidade de usar recursos de nuvem de maneira eficiente para atender aos requisitos de performance e manter essa eficiência à medida que a demanda muda e as tecnologias evoluem. Recomendações sobre implementação estão disponíveis no [whitepaper Pilar Eficiência de performance](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html?ref=wellarchitected-wp).

**Topics**
+ [Seleção de arquitetura](a-selection.md)
+ [Computação e hardware](a-compute-hardware.md)
+ [Gerenciamento de dados](a-data-management.md)
+ [Rede e entrega de conteúdo](a-networking-delivery.md)
+ [Processo e cultura](a-process-culture.md)

# Seleção de arquitetura
<a name="a-selection"></a>

**Topics**
+ [PERF 1. Como selecionar os recursos e a arquitetura de nuvem apropriados para sua workload?](perf-01.md)

# PERF 1. Como selecionar os recursos e a arquitetura de nuvem apropriados para sua workload?
<a name="perf-01"></a>

 A solução ideal para uma workload específica pode variar e, muitas vezes, as soluções combinam várias abordagens. As workloads do Well-Architected usam várias soluções e permitem diferentes recursos para aprimorar a performance. 

**Topics**
+ [PERF01-BP01 Conhecer e compreender os serviços e recursos de nuvem disponíveis](perf_architecture_understand_cloud_services_and_features.md)
+ [PERF01-BP02 Usar a orientação do provedor de nuvem ou de um parceiro apropriado para aprender sobre padrões de arquitetura e práticas recomendadas](perf_architecture_guidance_architecture_patterns_best_practices.md)
+ [PERF01-BP03 Inclua o custo nas decisões de arquitetura](perf_architecture_factor_cost_into_architectural_decisions.md)
+ [PERF01-BP04 Avaliar como certas trocas (trade-offs) afetam os clientes e a eficiência da arquitetura](perf_architecture_evaluate_trade_offs.md)
+ [PERF01-BP05 Usar políticas e arquiteturas de referência](perf_architecture_use_policies_and_reference_architectures.md)
+ [PERF01-BP06 Usar testes comparativos para orientar decisões de arquitetura](perf_architecture_use_benchmarking.md)
+ [PERF01-BP07 Usar uma abordagem baseada em dados para escolhas de arquitetura](perf_architecture_use_data_driven_approach.md)

# PERF01-BP01 Conhecer e compreender os serviços e recursos de nuvem disponíveis
<a name="perf_architecture_understand_cloud_services_and_features"></a>

 Continue a descobrir e aprender sobre serviços e configurações disponíveis que ajudam a tomar decisões e melhorar a eficiência de performance na arquitetura da workload. 

 **Práticas comuns que devem ser evitadas:** 
+  Usar a nuvem como um data center colocalizado. 
+  Não modernizar a aplicação após a migração para a nuvem. 
+  Usar somente um tipo de armazenamento para tudo que precisa ser mantido. 
+  Usar tipos de instância que atendem melhor aos seus padrões atuais, mas que sejam maiores quando necessário. 
+  Você implanta e gerencia tecnologias disponíveis como serviços gerenciados. 

 **Benefícios de implementar esta prática recomendada:** ao pensar em novos serviços e configurações, você poderá melhorar consideravelmente a performance, reduzir custos e otimizar o esforço necessário para manter as workloads. Isso também pode ajudar a acelerar o tempo para valorização dos produtos habilitados para a nuvem. 

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

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

 A AWS lança constantemente novos serviços e recursos que podem melhorar a performance e reduzir o custo das workloads na nuvem. Atualizar-se em relação a esses novos serviços e atributos é crucial para manter a eficácia da performance na nuvem. Modernizar a arquitetura da workload também ajuda a acelerar a produtividade, impulsionar a inovação e ter acesso a mais oportunidades de crescimento. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Faça um inventário do software e da arquitetura usados para serviços relacionados a suas workloads. Decida sobre qual categoria de produtos você quer saber mais. 
+  Explore as ofertas da AWS para identificar e aprender sobre os serviços e as opções de configuração relevantes que podem ajudar você a melhorar a performance e reduzir os custos e a complexidade operacional. 
  + [Nuvem Amazon Web Services](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/amazon-web-services-cloud-platform.html)
  + [AWS Academy ](https://aws.amazon.com/training/awsacademy/)
  +  [Quais são as novidades da AWS?](https://aws.amazon.com/new/) 
  +  [Blog da AWS](https://aws.amazon.com/blogs/) 
  +  [AWS Skill Builder](https://skillbuilder.aws/) 
  +  [Eventos e webinars da AWS](https://aws.amazon.com/events/) 
  +  [Treinamento da AWS and Certifications](https://www.aws.training/) 
  +  [Canal da AWS no Youtube](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 
  +  [Workshops da AWS](https://workshops.aws/) 
  +  [Comunidades da AWS](https://aws.amazon.com/events/asean/community-and-events/) 
+ Use o [Amazon Q](https://aws.amazon.com/q/) para obter informações e conselhos relevantes sobre serviços.
+  Use ambientes sandbox (sem produção) para aprender e experimentar novos serviços sem incorrer em custos adicionais. 
+  Aprenda constantemente sobre novos serviços e recursos de nuvem. 

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

 **Documentos relacionados:** 
+ [Visão geral da Amazon Web Services](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/introduction.html)
+ [Recursos do Amazon EC2](https://aws.amazon.com/ec2/features/)
+ [Aprenda passo a passo com um plano de aprendizado de parceiro da AWS](https://aws.amazon.com/partners/training/aws-partner-learning-plans/)
+ [AWS Training and Certification](https://aws.amazon.com/training/)
+ [Meu caminho de aprendizado para me tornar um arquiteto de soluções da AWS](https://aws.amazon.com/blogs/training-and-certification/my-learning-path-to-become-an-aws-solutions-architect/)
+  [AWS Centro de Arquitetura da](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS Biblioteca de Soluções da](https://aws.amazon.com/solutions/) 
+  [Centro de Conhecimentos da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Criar aplicações modernas na AWS](https://aws.amazon.com/modern-apps/) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: Novidades do Amazon EC2](https://www.youtube.com/watch?v=mjHw_wgJJ5g)
+ [AWS re:Invent 2022: Reduzir os custos operacionais e de infraestrutura com o Amazon ECS](https://www.youtube.com/watch?v=vwf0rcdXdVE)
+ [AWS re:Invent 2023: Compilar com a eficiência, a agilidade e a inovação da nuvem com o AWS](https://www.youtube.com/watch?v=AMrXMfYYVXs)
+ [AWS re:Invent 2022: Implantar modelos de ML para inferência com alta performance e baixo custo](https://www.youtube.com/watch?v=4FqHt5bmS2o)
+  [Esta é a minha arquitetura](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **Exemplos relacionados:** 
+  [Exemplos da AWS](https://github.com/aws-samples) 
+  [AWS Exemplos do SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP02 Usar a orientação do provedor de nuvem ou de um parceiro apropriado para aprender sobre padrões de arquitetura e práticas recomendadas
<a name="perf_architecture_guidance_architecture_patterns_best_practices"></a>

 Use recursos disponibilizados pelo fornecedor de nuvem, como documentação, arquitetos de soluções, serviços profissionais ou parceiros apropriados, para orientar suas decisões durante a escolha da arquitetura. Eles ajudarão a analisar e melhorar sua arquitetura para alcançar a performance ideal. 

 **Práticas comuns que devem ser evitadas:** 
+  Você usa a AWS como um provedor de nuvem comum. 
+  Você usa os serviços da AWS de uma maneira para a qual eles não foram projetadas. 
+  Você segue todas as orientações sem considerar seu contexto de negócios. 

 **Benefícios de implementar esta prática recomendada:** usar a orientação de um provedor de nuvem ou de um parceiro apropriado pode ajudar a fazer as escolhas de arquitetura certas para as workloads e a conquistar confiança em suas decisões. 

 **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 AWS oferece uma ampla variedade de orientações, documentações e recursos que podem ajudar a criar e gerenciar workloads eficientes na nuvem. A documentação da AWS fornece exemplos de código, tutoriais e explicações detalhadas do serviço. Além da documentação, a AWS fornece programas de treinamento e certificação, arquitetos de soluções e serviços profissionais que podem ajudar os clientes a explorar diferentes aspectos dos serviços em nuvem e implementar uma arquitetura de nuvem eficiente na AWS. 

 Aproveite esses recursos para obter informações sobre conhecimentos valiosos e práticas recomendadas, economizar tempo e obter resultados melhores na Nuvem AWS. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Analise a documentação e as orientações da AWS e siga as práticas recomendadas. Esses recursos podem ajudar a escolher e configurar serviços com eficiência e obter melhor performance. 
  +  [Documentação da AWS](https://docs.aws.amazon.com/) (como guias do usuário e whitepapers) 
  +  [Blog da AWS](https://aws.amazon.com/blogs/) 
  +  [Treinamento da AWS and Certifications](https://www.aws.training/) 
  +  [Canal da AWS no Youtube](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 
+  Participe de eventos de parceiros da AWS (como os AWS Global Summits, AWS re:Invent, grupos de usuários e workshops) para ouvir dos próprios especialistas da AWS quais são as práticas recomendadas para usar os serviços da AWS. 
  + [Aprenda passo a passo com um plano de aprendizado de parceiro da AWS](https://aws.amazon.com/partners/training/aws-partner-learning-plans/)
  +  [Eventos e webinars da AWS](https://aws.amazon.com/events/) 
  +  [Workshops da AWS](https://workshops.aws/) 
  +  [Comunidades da AWS](https://aws.amazon.com/events/asean/community-and-events/) 
+  Entre em contato com a AWS para obter assistência quando precisar de mais orientações ou informações sobre produtos. AWS Os arquitetos de soluções e a [AWS Professional Services](https://aws.amazon.com/professional-services/) fornecem orientação para a implementação de soluções. [AWS Os parceiros](https://aws.amazon.com/partners/) oferecem experiência na AWS para ajudar você a desbloquear agilidade e inovação para os negócios. 
+  Use o [Suporte](https://aws.amazon.com/contact-us/) se precisar de suporte técnico para otimizar o uso de um serviço. [Nossos planos de suporte](https://aws.amazon.com/premiumsupport/plans/) são projetados a fim de oferecer a combinação certa de ferramentas e acesso ao conhecimento especializado para ter sucesso com a AWS e melhorar a performance, gerenciar riscos e manter os custos sob controle. 

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

 **Documentos relacionados:** 
+  [AWS Centro de Arquitetura da](https://aws.amazon.com/architecture/) 
+ [AWS Partner Network](https://aws.amazon.com/partners/)
+  [Biblioteca de Soluções da AWS](https://aws.amazon.com/solutions/) 
+  [Centro de Conhecimentos da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [AWS Enterprise Support](https://aws.amazon.com/premiumsupport/plans/enterprise/) 

 **Vídeos relacionados:** 
+  [Esta é a minha arquitetura](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+ [AWS re:Invent 2023: Padrões avançados orientados a eventos com o Amazon EventBridge](https://www.youtube.com/watch?v=6X4lSPkn4ps)
+ [AWS re:Invent 2023: Implementar padrões de design distribuídos na AWS](https://www.youtube.com/watch?v=pfAlmkzyaJQ)
+ [AWS re:Invent 2023: Arquitetura de aplicações como código](https://www.youtube.com/watch?v=vasvpFRPx9c)

 **Exemplos relacionados:** 
+  [AWS Exemplos da](https://github.com/aws-samples) 
+  [Exemplos do AWS SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 
+ [Arquitetura de referência de análise da AWS](https://github.com/aws-samples/aws-analytics-reference-architecture)

# PERF01-BP03 Inclua o custo nas decisões de arquitetura
<a name="perf_architecture_factor_cost_into_architectural_decisions"></a>

 Considere o custo em suas decisões de arquitetura para melhorar a utilização de recursos e a eficiência da performance de suas workloads na nuvem. Quando você está ciente das implicações de custo das suas workloads na nuvem, é mais provável que utilize recursos eficientes e reduza práticas ineficazes. 

 **Práticas comuns que devem ser evitadas:** 
+  Usar somente uma família de instâncias. 
+  Não avaliar soluções licenciadas em relação a soluções de código aberto. 
+  Não definir políticas de ciclo de vida de armazenamento. 
+  Não analisar os novos serviços e recursos da Nuvem AWS. 
+  Usar somente armazenamento em bloco. 

 **Benefícios de implementar esta prática recomendada:** levar em conta o custo em sua tomada de decisão permite que você use recursos mais eficientes e examine outros investimentos. 

 **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>

 Otimizar as workloads em função do custo pode melhorar a utilização dos recursos e evitar o desperdício em uma workload na nuvem. A consideração do custo nas decisões de arquitetura geralmente inclui o dimensionamento correto dos componentes da workload e a viabilização da elasticidade, o que resulta em maior eficiência da sua performance na nuvem. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Estabeleça objetivos de custo, como limites orçamentários para a workload na nuvem. 
+  Identifique os principais componentes (como instâncias e armazenamento) que impulsionam o custo da workload. É possível usar o [AWS Calculadora de Preços](https://calculator.aws/#/) e o [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) para identificar os principais fatores de custo na workload. 
+  Entenda os [modelos de preços](https://aws.amazon.com/pricing/) na nuvem, como instâncias sob demanda, instâncias reservadas, Savings Plans e instâncias spot. 
+  Use as [Práticas recomendadas de otimização de custos do Well-Architected](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html) para otimizar esses principais componentes em termos de custo. 
+  Monitore e analise constantemente os custos para identificar oportunidades de otimizar as workloads e economizar. 
  +  Use o [AWS Budgets](https://aws.amazon.com/aws-cost-management/aws-budgets/) para receber alertas quando os custos forem inaceitáveis. 
  +  Use o [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) ou o [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/) para receber recomendações de otimização de custos. 
  +  Use a [Detecção de Anomalias em Custos da AWS](https://aws.amazon.com/aws-cost-management/aws-cost-anomaly-detection/) para fazer a detecção automática de anomalias de custo e análise de causa-raiz. 

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

 **Documentos relacionados:** 
+ [O que é o Gerenciamento de Faturamento e Custos da AWS?](https://docs.aws.amazon.com/cost-management/latest/userguide/what-is-costmanagement.html)
+ [Otimização de custos com a AWS](https://aws.amazon.com/aws-cost-management/cost-optimization/)
+ [Escolher uma estratégia de gerenciamento de custos na AWS](https://aws.amazon.com/getting-started/decision-guides/cost-management-on-aws-how-to-choose/)
+ [Guia do iniciante em gerenciamento de custos na AWS](https://aws.amazon.com/blogs/aws-cloud-financial-management/beginners-guide-to-aws-cost-management/)
+  [Uma visão geral detalhada do Cost Intelligence Dashboard](https://aws.amazon.com/blogs/aws-cloud-financial-management/a-detailed-overview-of-the-cost-intelligence-dashboard/) 
+  [Centro de Arquitetura da AWS](https://aws.amazon.com/architecture/) 
+  [Biblioteca de Soluções da AWS](https://aws.amazon.com/solutions/) 
+  [Centro de Conhecimentos da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Vídeos relacionados:** 
+  [Esta é a minha arquitetura](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+ [AWS re:Invent 2023: Novidades da otimização de custos com a AWS](https://www.youtube.com/watch?v=EOUTf2Dxo0Y)
+ [AWS re:Invent 2023: Otimizar custos e performance e rastrear o progresso rumo à mitigação](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2023: Práticas recomendadas de otimização de custos de armazenamento na AWS](https://www.youtube.com/watch?v=8LVKNHcA6RY)
+ [AWS re:Invent 2023: Otimizar custos em seus ambientes com várias contas](https://www.youtube.com/watch?v=ie_Mqb-eC4A)

 **Exemplos relacionados:** 
+ [Código de demonstração do AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer)
+ [Workshop de otimização de custos](https://catalog.us-east-1.prod.workshops.aws/workshops/11959269-3506-4bcb-aa2a-f257709cb8ca/en-US)
+ [Playbooks de implementação técnica de gerenciamento financeiro na nuvem](https://catalog.workshops.aws/awscff/en-US)
+ [Otimização de startups: ajustar a performance da aplicação para obter a máxima eficiência](https://catalog.workshops.aws/performance-tuning/en-US)
+ [Workshop Otimização sem servidor (performance e custo)](https://catalog.us-east-1.prod.workshops.aws/workshops/2d960419-7d15-44e7-b540-fd3ebeb7ce2e/en-US)
+ [Escalar arquiteturas econômicas](https://catalog.us-east-1.prod.workshops.aws/workshops/f238037c-8f0b-446e-9c15-ebcc4908901a/en-US)

# PERF01-BP04 Avaliar como certas trocas (trade-offs) afetam os clientes e a eficiência da arquitetura
<a name="perf_architecture_evaluate_trade_offs"></a>

 Ao avaliar melhorias relacionadas à performance, determine quais escolhas afetam os clientes e a eficiência das workloads. Por exemplo, se o uso de um datastore de chave-valor aumentar a performance do sistema, é importante avaliar como a alteração afetará os clientes após se tornar permanente 

 **Práticas comuns que devem ser evitadas:** 
+  Você pressupõe que todos os ganhos de performance devem ser implementados, mesmo que seja preciso fazer certas trocas para implementação. 
+  Você só avalia alterações nas workloads quando um problema de performance atinge um ponto crítico. 

 **Benefícios de implementar esta prática recomendada:** ao avaliar possíveis melhorias relacionadas à performance, você deve decidir se as concessões para as alterações são aceitáveis com os requisitos da workload. Em alguns casos, talvez seja necessário implementar controles adicionais para compensar as compensações. 

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

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

 Identifique áreas críticas na arquitetura em termos de performance e impacto para o cliente. Determine como é possível promover aprimoramentos, quais compromissos esses aprimoramentos exigem e como eles afetam o sistema e a experiência do usuário. Por exemplo, a implementação de armazenamento de dados em cache pode ajudar a aprimorar drasticamente a performance, mas requer uma estratégia clara de como e quando atualizar ou invalidar dados em cache a fim de prevenir comportamentos incorretos do sistema. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Entenda os SLAs e requisitos das suas workloads. 
+  Defina claramente os fatores de avaliação. Os fatores podem estar relacionados a custo, confiabilidade, segurança e performance das workloads. 
+  Selecione arquitetura e serviços que possam atender às suas necessidades. 
+  Realize experiências e provas de conceitos (POCs) para avaliar os fatores e o impacto de certas trocas para os clientes e para a eficiência da arquitetura. Normalmente, workloads de alta disponibilidade, com boa performance e seguras consomem mais recursos da nuvem e, ao mesmo tempo, proporcionam uma melhor experiência ao cliente. Entenda as vantagens e desvantagens da complexidade, da performance e do custo da workload. Normalmente, priorizar dois dos fatores inviabiliza o terceiro. 

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

 **Documentos relacionados:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [KPIs do Quick](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Documentação do X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+ [Entender padrões de resiliência e compromissos para arquitetar de forma eficiente na nuvem](https://aws.amazon.com/blogs/architecture/understand-resiliency-patterns-and-trade-offs-to-architect-efficiently-in-the-cloud/)

 **Vídeos relacionados:** 
+  [Otimizar aplicações com o Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+ [AWS re:Invent 2023: Capacidade, disponibilidade, eficiência de custos: escolha três](https://www.youtube.com/watch?v=E0dYLPXrX_w)
+ [AWS re:Invent 2023: padrões de integração avançados e compromissos para sistemas com acoplamento fraco](https://www.youtube.com/watch?v=FGKGdUiZKto)

 **Exemplos relacionados:** 
+  [Medir o tempo de carregamento da com o Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Cliente Web do Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 

# PERF01-BP05 Usar políticas e arquiteturas de referência
<a name="perf_architecture_use_policies_and_reference_architectures"></a>

 Use políticas internas e arquiteturas de referência existentes ao selecionar serviços e configurações para ser mais eficiente ao projetar e implementar a workload. 

 **Práticas comuns que devem ser evitadas:** 
+  Você permite uma ampla variedade de tecnologias que podem afetar os custos de gerenciamento da empresa. 

 **Benefícios de implementar esta prática recomendada:** estabelecer uma política para opções de arquitetura, tecnologia e fornecedor permite que as decisões sejam tomadas rapidamente. 

 **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>

 Adotar políticas internas na seleção de recursos e arquitetura fornece padrões e diretrizes a serem seguidos ao fazer escolhas arquitetônicas. Essas diretrizes simplificam o processo de tomada de decisão ao escolher o serviço de nuvem certo e podem ajudar a melhorar a eficiência da performance. Implante a workload usando políticas ou arquiteturas de referência. Integre os serviços à implantação na nuvem e, depois, use testes de performance para verificar se você pode continuar a atender aos seus requisitos de performance. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Entenda claramente os requisitos da sua workload na nuvem. 
+  Revise as políticas internas e externas para identificar as mais relevantes. 
+  Use as arquiteturas de referência apropriadas fornecidas pela AWS ou as práticas recomendadas do seu setor. 
+  Crie um continuum que consiste em políticas, padrões, arquiteturas de referência e diretrizes prescritivas para situações comuns. Isso permite que suas equipes ajam mais rapidamente. Adapte os ativos para sua vertical, se aplicável. 
+  Valide essas políticas e arquiteturas de referência para sua workload em ambientes de sandbox. 
+  Atualize-se com relação aos padrões do setor e atualizações da AWS para garantir que suas políticas e arquiteturas de referência ajudem a otimizar sua workload na nuvem. 

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

 **Documentos relacionados:** 
+  [Centro de Arquitetura da AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Biblioteca de Soluções da AWS](https://aws.amazon.com/solutions/) 
+  [Centro de Conhecimentos da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+ [Blog de arquitetura da AWS](https://aws.amazon.com/blogs/architecture/category/events/reinvent/)

 **Vídeos relacionados:** 
+  [Esta é a minha arquitetura](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+ [AWS re:Invent 2022: Acelerar a geração de valor para seus negócios com o SAP e a arquitetura de referência da AWS](https://www.youtube.com/watch?v=-u3oyOy-HxU)

 **Exemplos relacionados:** 
+  [Exemplos da AWS](https://github.com/aws-samples) 
+  [Exemplos do AWS SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP06 Usar testes comparativos para orientar decisões de arquitetura
<a name="perf_architecture_use_benchmarking"></a>

 Compare a performance de uma workload existente para entender sua performance na nuvem e orientar decisões de arquitetura com base nesses dados. 

 **Práticas comuns que devem ser evitadas:** 
+  Você depende de testes comparativos comuns que não são indicativos das características da workload. 
+  Você conta com o feedback e as percepções de clientes como seu único teste comparativo. 

 **Benefícios de implementar esta prática recomendada:** o benchmarking da sua implementação atual permite medir melhorias de performance. 

 **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>

 Use testes comparativos com testes sintéticos para avaliar a performance dos componentes da workload. O benchmarking é usado na avaliação da tecnologia para um componente específico e geralmente é mais simples de configurar do que testes de carga. Muitas vezes o benchmarking é usado no início de um novo projeto, quando ainda não há uma solução completa para o teste de carga. 

 Você pode criar seus próprios testes comparativos personalizados ou usar um teste padrão do setor, como o [TPC-DS](http://www.tpc.org/tpcds/), para comparar suas workloads. Os benchmarks do setor são úteis ao comparar ambientes. Já os benchmarks personalizados são úteis para direcionar a tipos específicos de operações que você espera realizar em sua arquitetura. 

 Ao realizar testes comparativos, é importante "preaquecer" o ambiente de teste para obter resultados válidos. Execute o mesmo teste comparativo várias vezes para verificar a captura de qualquer variação ao longo do tempo. 

 Como normalmente é mais rápido executar testes comparativos do que testes de carga, eles podem ser usados mais cedo no pipeline de implantação e fornecer um feedback mais rápido sobre desvios de performance. Ao avaliar uma alteração significativa em um componente ou serviço, o teste comparativo pode ser uma maneira rápida de verificar se é possível justificar a iniciativa para concretizar a alteração. O uso de testes comparativos em conjunto com testes de carga é importante porque o teste de carga informa como é a performance da workload no ambiente de produção. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Planeje e defina: 
  +  Defina os objetivos, o parâmetro de referência, os cenários de teste, as métricas (como utilização da CPU, latência ou throughput) e os KPIs para o teste comparativo. 
  +  Concentre-se nos requisitos do usuário em termos de experiência do usuário e em outros fatores, como tempo de resposta e acessibilidade. 
  +  Identifique uma ferramenta de testes comparativos adequada à workload. Você pode usar serviços da AWS como o [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ou uma ferramenta de terceiros que seja compatível com a workload. 
+  Configure e instrumente: 
  +  Prepare o ambiente e configure os recursos. 
  +  Implemente monitoramento e registro em log para capturar os resultados dos testes. 
+  Compare e monitore: 
  +  Execute testes comparativos e monitore as métricas durante o teste. 
+  Analise e documente: 
  +  Documente o processo de comparação e as descobertas. 
  +  Analise os resultados para identificar gargalos, tendências e áreas para melhoria. 
  +  Use os resultados do teste para tomar decisões de arquitetura e ajustar a workload. Isso pode incluir a mudança de serviços ou a adoção de novos recursos. 
+  Otimize e repita: 
  +  Ajuste as configurações e alocações de recursos com base nos testes comparativos. 
  +  Teste novamente a workload depois do ajuste para validar as melhorias. 
  +  Documente seu aprendizado e repita o processo para identificar outras áreas para melhoria. 

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

 **Documentos relacionados:** 
+  [AWS Centro de Arquitetura da](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS Biblioteca de Soluções da](https://aws.amazon.com/solutions/) 
+  [Centro de Conhecimentos da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Fluxos de trabalho de genômica, Parte 5: benchmarking automatizado](https://aws.amazon.com/blogs/architecture/genomics-workflows-part-5-automated-benchmarking/) 
+  [Comparar e otimizar a implantação de endpoints no Amazon SageMaker AI JumpStart](https://aws.amazon.com/blogs/machine-learning/benchmark-and-optimize-endpoint-deployment-in-amazon-sagemaker-jumpstart/) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: Testes comparativos de partida a frio do AWS Lambda](https://www.youtube.com/watch?v=bGMEPI-va-Q&ab_channel=AWSEvents) 
+  [Testes comparativos de serviços com estado na nuvem](https://www.youtube.com/watch?v=rtW4a4DvcWU&ab_channel=AWSEvents) 
+  [Esta é a minha arquitetura](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Otimizar aplicações com o Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demonstração do Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemplos relacionados:** 
+  [AWS Exemplos da](https://github.com/aws-samples) 
+  [Exemplos do AWS SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Testes de carga distribuídos](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [Medir o tempo de carregamento da com o Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Cliente Web do Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 

# PERF01-BP07 Usar uma abordagem baseada em dados para escolhas de arquitetura
<a name="perf_architecture_use_data_driven_approach"></a>

 Defina uma abordagem clara e baseada em dados para escolhas de arquitetura a fim de verificar se os serviços e configurações de nuvem corretos são usados para atender às suas necessidades comerciais específicas. 

 **Práticas comuns que devem ser evitadas:** 
+  Você pressupõe que sua arquitetura atual é estática e não deve ser atualizada ao longo do tempo. 
+  Suas escolhas de arquitetura são baseadas em suposições. 
+  Você apresenta alterações de arquitetura ao longo do tempo sem justificativa. 

 **Benefícios de implementar esta prática recomendada:** ao aplicar uma abordagem bem definida para fazer escolhas de arquitetura, você usa dados para influenciar o projeto das workloads e tomar decisões conscientes ao longo do tempo. 

 **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>

 Use a experiência interna e o conhecimento da nuvem ou de recursos externos, como casos de uso publicados ou whitepapers, para escolher recursos e serviços em sua arquitetura. Você deve ter um processo bem definido que incentive a experimentação e os testes comparativos com os serviços que podem ser usados em suas workloads. 

 Os atrasos de workloads críticas devem consistir não apenas em histórias de usuários que venham a oferecer funcionalidades relevantes para os negócios e usuários, mas também em histórias técnicas que formem uma base de arquitetura para as workloads. Essa base é formada por novos avanços em tecnologia e novos serviços e os adota em função de dados e justificativas adequadas. Isso verifica se a arquitetura permanece preparada para o futuro e não se torna estagnada. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Interaja com as principais partes interessadas para definir os requisitos das workloads, incluindo considerações de performance, disponibilidade e custo. Considere fatores como o número de usuários e o padrão de uso das workloads. 
+  Crie uma base de arquitetura ou uma lista de pendências de tecnologia que seja priorizada junto com a lista de pendências funcional. 
+  Avalie diferentes serviços em nuvem (para obter mais detalhes, consulte [PERF01-BP01 Conhecer e compreender os serviços e recursos de nuvem disponíveis](perf_architecture_understand_cloud_services_and_features.md)). 
+  Explore diferentes padrões de arquitetura, como microsserviços ou tecnologia sem servidor, que atendem aos requisitos de performance (para obter mais detalhes, consulte [PERF01-BP02 Usar a orientação do provedor de nuvem ou de um parceiro apropriado para aprender sobre padrões de arquitetura e práticas recomendadas](perf_architecture_guidance_architecture_patterns_best_practices.md)). 
+  Consulte outras equipes, diagramas de arquitetura e recursos, como arquitetos de soluções da AWS, o [Centro de Arquitetura da AWS](https://aws.amazon.com/architecture/) e o [AWS Partner Network](https://aws.amazon.com/partners/), para obter ajuda para escolher a arquitetura certa para sua workload. 
+  Defina métricas de performance, como throughput e tempo de resposta, que podem ajudar você a avaliar a performance das workloads. 
+  Experimente e use métricas definidas para validar a performance da arquitetura selecionada. 
+  Monitore e faça ajustes contínuos conforme necessário para manter a performance ideal da arquitetura. 
+  Documente a arquitetura e as decisões selecionadas como referência para futuras atualizações e aprendizados. 
+  Revise e atualize constantemente a abordagem para seleção de arquitetura com base em aprendizados, novas tecnologias e métricas. Esses parâmetros podem indicar que é necessário mudar ou que há algum problema na abordagem atual. 

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

 **Documentos relacionados:** 
+  [Biblioteca de Soluções da AWS](https://aws.amazon.com/solutions/) 
+  [Centro de Conhecimentos da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+ [Padrões de arquitetura para criar aplicações orientadas a dados fim a fim na AWS](https://docs.aws.amazon.com/whitepapers/latest/build-e2e-data-driven-applications/build-e2e-data-driven-applications.html)

 **Vídeos relacionados:** 
+  [Esta é a minha arquitetura](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+ [AWS re:Invent 2021: Empresa orientada a dados: da visão ao valor](https://www.youtube.com/watch?v=_D0PF2N2AfA)
+ [AWS re:Invent 2022: Como entregar arquiteturas sustentáveis e de alta performance](https://www.youtube.com/watch?v=FBc9hXQfat0)
+ [AWS re:Invent 2023: Otimizar custos e performance e rastrear o progresso rumo à mitigação ](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2022: Otimização da AWS: etapas acionáveis para resultados imediatos ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)

 **Exemplos relacionados:** 
+  [AWS Exemplos da](https://github.com/aws-samples) 
+  [Exemplos do AWS SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 

# Computação e hardware
<a name="a-compute-hardware"></a>

**Topics**
+ [PERF 2. Como selecionar e usar recursos computacionais em sua workload?](perf-02.md)

# PERF 2. Como selecionar e usar recursos computacionais em sua workload?
<a name="perf-02"></a>

 A opção ideal de computação para uma workload específica pode variar de acordo com o design, os padrões de uso e as definições de configuração da aplicação. As arquiteturas podem usar diferentes opções de computação para vários componentes e permitir diferentes recursos para aprimorar a performance. A seleção da opção de computação incorreta para uma arquitetura pode levar a uma menor eficiência de performance. 

**Topics**
+ [PERF02-BP01 Selecionar as melhores opções de computação para as workloads](perf_compute_hardware_select_best_compute_options.md)
+ [PERF02-BP02 Entender a configuração e os recursos de computação disponíveis](perf_compute_hardware_understand_compute_configuration_features.md)
+ [PERF02-BP03 Coletar métricas relacionadas à computação](perf_compute_hardware_collect_compute_related_metrics.md)
+ [PERF02-BP04 Configurar e dimensionar corretamente os recursos de computação](perf_compute_hardware_configure_and_right_size_compute_resources.md)
+ [PERF02-BP05 Dimensionar recursos de computação dinamicamente](perf_compute_hardware_scale_compute_resources_dynamically.md)
+ [PERF02-BP06 Usar aceleradores de computação baseados em hardware otimizados](perf_compute_hardware_compute_accelerators.md)

# PERF02-BP01 Selecionar as melhores opções de computação para as workloads
<a name="perf_compute_hardware_select_best_compute_options"></a>

 Selecionar a opção de computação mais adequada para suas workloads permite melhorar a performance, reduzir os custos desnecessários de infraestrutura e reduzir os esforços operacionais necessários para mantê-las. 

 **Práticas comuns que devem ser evitadas:** 
+  A mesma opção de computação utilizada on-premises é usada. 
+  Você não tem conhecimento das opções, dos atributos e das soluções de computação em nuvem e de como essas soluções podem melhorar a performance computacional. 
+  Uma opção de computação existente é provisionada de forma excessiva para atender aos requisitos de ajuste de escala ou performance quando uma opção alternativa de computação se alinharia às características da workload com mais precisão. 

 **Benefícios de implementar esta prática recomendada:** ao identificar os requisitos de computação e avaliar as opções disponíveis, você pode tornar a workload mais eficiente em termos de recursos. 

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

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

 Para otimizar as workloads na nuvem quanto à eficiência de performance, é importante selecionar as opções de computação mais apropriadas para seu caso de uso e requisitos de performance. A AWS fornece uma variedade de opções de computação que atendem a diferentes workloads na nuvem. Por exemplo, você pode usar o [Amazon EC2](https://docs.aws.amazon.com/ec2/) para iniciar e gerenciar servidores virtuais, o [AWS Lambda](https://docs.aws.amazon.com/lambda/?icmpid=docs_homepage_featuredsvcs) para executar código sem precisar provisionar ou gerenciar servidores, o [Amazon ECS](https://aws.amazon.com/ecs/) ou o [Amazon EKS](https://aws.amazon.com/eks/) para executar e gerenciar contêineres ou o [AWS Batch](https://aws.amazon.com/batch/) para processar grandes volumes de dados em paralelo. Com base em sua escala e necessidades de computação, você deve escolher e configurar a solução ideal para sua situação. Você também pode considerar o uso de vários tipos de soluções de computação em uma única workload, pois cada uma tem suas próprias vantagens e desvantagens. 

 As etapas a seguir orientam você na seleção das opções de computação certas para atender às características da workload e aos requisitos de performance. 

## Etapas de implementação
<a name="implementation-steps"></a>
+  Entenda os requisitos de computação das workloads. Os principais requisitos a serem considerados incluem necessidades de processamento, padrões de tráfego, padrões de acesso a dados, necessidades de ajuste de escala e requisitos de latência. 
+  Saiba mais sobre os diferentes [serviços de computação da AWS](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/compute-services.html) para sua workload. Para obter mais informações, consulte [PERF01-BP01 Conhecer e compreender os serviços e recursos de nuvem disponíveis](perf_architecture_understand_cloud_services_and_features.md). Veja algumas das principais opções de computação da AWS, as características e casos de uso comuns:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_compute_hardware_select_best_compute_options.html)
+  Avalie o custo (como cobrança por hora ou transferência de dados) e as despesas gerais de gerenciamento (como aplicação de patches e ajuste de escala) associados a cada opção de computação. 
+  Faça experimentos e análises comparativas em um ambiente de não produção para identificar qual opção de computação pode atender melhor às necessidades da workload. 
+  Depois de experimentar e identificar sua nova solução de computação, planeje a migração e valide as métricas de performance. 
+  Use ferramentas de monitoramento da AWS, como o [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html), e serviços de otimização, como o [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/), para otimizar constantemente a computação com base em padrões de uso real. 

 

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

 **Documentos relacionados:** 
+  [Computação em nuvem com a AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Tipos de instância do Amazon EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Contêineres do Amazon EKS: nós de processamento do Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Contêineres do Amazon ECS: instâncias de contêiner do Amazon ECS ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Funções: configuração da função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 
+ [Recomendações para contêineres](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23containers&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 
+  [Recomendações para tecnologia sem servidor](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23serverless&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: AWS Graviton: a melhor performance de preços para suas workloads da AWS](https://www.youtube.com/watch?v=T_hMIjKtSr4&ab_channel=AWSEvents) 
+  [AWS re:Invent 2023: Novos recursos de IA generativa do Amazon Elastic Compute Cloud no AMS](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023: Novidades do Amazon Elastic Compute Cloud](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023: Economias inteligentes: estratégias de otimização de custos no Amazon Elastic Compute Cloud](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021: Habilitar o Amazon Elastic Compute Cloud da próxima geração: mergulho profundo no Nitro System](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019: Otimizar a performance e os custos para sua computação na AWS](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [AWS re:Invent 2019: Fundamentos da Amazon Elastic Compute Cloud](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [AWS re:Invent 2022: Implantar modelos de ML para inferência com alta performance e baixo custo](https://www.youtube.com/watch?v=4FqHt5bmS2o) 
+  [AWS re:Invent 2019: Otimizar a performance e os custos para sua computação na AWS](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Fundamentos do Amazon EC2](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Implemente modelos de ML para inferência com alta performance e baixo custo](https://www.youtube.com/watch?v=4FqHt5bmS2o) 

 **Exemplos relacionados:** 
+  [Migrar aplicações Web para contêineres](https://application-migration-with-aws.workshop.aws/en/container-migration.html) 
+  [Executar uma aplicação Hello World sem servidor](https://aws.amazon.com/getting-started/hands-on/run-serverless-code/) 
+  [Workshop do Amazon EKS](https://www.eksworkshop.com/) 
+  [Workshop do Amazon EC2](https://ec2spotworkshops.com/) 
+  [Workloads eficientes e resilientes com o Amazon Elastic Compute Cloud Auto Scaling](https://catalog.us-east-1.prod.workshops.aws/workshops/20c57d32-162e-4ad5-86a6-dff1f8de4b3c/en-US) 
+  [Migrar para o AWS Graviton com serviços de contêiner](https://catalog.us-east-1.prod.workshops.aws/workshops/dcab7555-32fc-42d2-97e5-2b7a35cd008f/en-US/) 

# PERF02-BP02 Entender a configuração e os recursos de computação disponíveis
<a name="perf_compute_hardware_understand_compute_configuration_features"></a>

 Entenda as opções de configuração e os recursos disponíveis para seu serviço de computação a fim de ajudar a provisionar a quantidade certa de recursos e melhorar a eficiência de performance. 

 **Práticas comuns que devem ser evitadas:** 
+  Não avaliar as opções de computação ou as famílias de instâncias disponíveis em relação às características da workload. 
+  Provisionar recursos de computação em excesso para atender aos requisitos de pico de demanda. 

**Benefícios de implementar esta prática recomendada:** familiarizar-se com os atributos e as configurações de computação da AWS a fim de poder usar uma solução de computação otimizada para atender às características e às necessidades da workload.

 **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>

 Cada solução de computação tem configurações e recursos exclusivos disponíveis para acomodar diferentes características e requisitos das workloads. Saiba como essas opções complementam sua workload e determine quais opções de configuração são melhores para sua aplicação. Exemplos dessas opções são famílias de instâncias, tamanhos, recursos (GPU, E/S), expansão, tempos limite, tamanhos de função, instâncias de contêineres e simultaneidade. Se a workload estiver usando a mesma opção de computação há mais de quatro semanas, e se a previsão for de que as características permanecerão as mesmas no futuro, você poderá usar o [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) para descobrir se sua opção de computação atual é adequada para as workloads de uma perspectiva de CPU e memória. 

## Etapas de implementação
<a name="implementation-steps"></a>
+  Entenda os requisitos da workload (como necessidade de CPU, memória e latência). 
+  Analise a documentação e as práticas recomendadas da AWS para saber mais sobre as opções de configuração indicadas que podem ajudar a melhorar a performance da computação. Aqui estão algumas das principais opções de configuração a serem consideradas:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_compute_hardware_understand_compute_configuration_features.html)

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

 **Documentos relacionados:** 
+  [Computação em nuvem com a AWS](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Tipos de instância do Amazon EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Controle do estado do processador para sua instância do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [Contêineres do Amazon EKS: nós de processamento do Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Contêineres do Amazon ECS: instâncias de contêiner do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Funções: configuração da função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: AWS Graviton: a melhor performance de preço para suas workloads da AWS](https://www.youtube.com/watch?v=T_hMIjKtSr4) 
+  [AWS re:Invent 2023: Novos recursos de IA generativa do Amazon EC2 no Console de gerenciamento da AWS](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023: Novidades do Amazon EC2](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023: Economias inteligentes: estratégias de otimização de custos com o Amazon EC2](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021: Capacitar o Amazon EC2 da próxima geração: mergulho profundo no Nitro System](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019: Fundamentos do Amazon EC2](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [AWS re:Invent 2022: Otimizar o Amazon EKS para performance e custo na AWS](https://www.youtube.com/watch?v=5B4-s_ivn1o) 

 **Exemplos relacionados:** 
+  [Código de demonstração do Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 
+  [Workshop sobre instâncias spot do Amazon EC2](https://ec2spotworkshops.com/) 
+  [Workloads eficientes e resilientes com o Amazon EC2 AWS Auto Scaling](https://catalog.us-east-1.prod.workshops.aws/workshops/20c57d32-162e-4ad5-86a6-dff1f8de4b3c/en-US) 
+  [Workshop de desenvolvedores para Graviton](https://catalog.us-east-1.prod.workshops.aws/workshops/dcab7555-32fc-42d2-97e5-2b7a35cd008f/en-US/) 
+  [Dia de imersão em workloads da AWS para Microsoft](https://catalog.us-east-1.prod.workshops.aws/workshops/d6c7ecdc-c75f-4ad1-910f-fdd994cc4aed/en-US) 
+  [Dia de imersão em workloads da AWS para Linux](https://catalog.us-east-1.prod.workshops.aws/workshops/a8e9c6a6-0ba9-48a7-a90d-378a440ab8ba/en-US) 
+  [Código de demonstração do AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 
+  [Workshop do Amazon EKS](https://www.eksworkshop.com/) 

  

# PERF02-BP03 Coletar métricas relacionadas à computação
<a name="perf_compute_hardware_collect_compute_related_metrics"></a>

 Registre e acompanhe métricas relacionadas à computação para entender melhor a performance dos seus recursos e melhorar sua performance e utilização. 

 **Práticas comuns que devem ser evitadas:** 
+  Você só usa a pesquisa manual de arquivos de log para métricas.  
+  Você só usa as métricas padrão registradas pelo software de monitoramento. 
+  Você só revisa as métricas quando há um problema. 

 **Benefícios de implementar esta prática recomendada:** a coleta de métricas relacionadas à performance ajudará você a alinhar a performance da aplicação aos requisitos empresariais para garantir que você atenda às necessidades da workload. Isso também pode ajudar a melhorar constantemente a performance e a utilização dos recursos na workload. 

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

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

 As workloads na nuvem podem gerar grandes volumes de dados, como métricas, logs e eventos. Na Nuvem AWS, coletar métricas é uma etapa essencial para melhorar a segurança, a eficiência de custos, a performance e a sustentabilidade. A AWS oferece uma ampla variedade de métricas relacionadas à performance usando serviços de monitoramento, por exemplo, o [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/), para fornecer insights valiosos. Métricas como utilização de CPU, utilização de memória, E/S de disco e entrada e saída da rede podem fornecer informações sobre os níveis de utilização ou gargalos de performance. Use essas métricas como parte de uma abordagem impulsionada por dados para ajustar e otimizar ativamente os recursos de sua workload.  Em um caso ideal, você deve coletar todas as métricas relacionadas aos recursos de computação em uma única plataforma com políticas de retenção implementadas para apoiar as metas operacionais e de custo. 

## Etapas de implementação
<a name="implementation-steps"></a>
+  Identifique quais métricas relacionadas à performance são relevantes para a workload. Você deve coletar métricas sobre a utilização de recursos e a forma como a workload na nuvem está operando (como tempo de resposta e throughput). 
  +  [Métricas padrão do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) 
  +  [Métricas padrão do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html) 
  +  [Métricas padrão do Amazon EKS](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/kubernetes-eks-metrics.html) 
  +  [Métricas padrão do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-access-metrics.html) 
  +  [Métricas de memória e disco do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 
+  Escolha e configure a solução certa de registro e monitoramento para a workload. 
  +  [Observabilidade nativa da AWS](https://catalog.workshops.aws/observability/en-US/aws-native) 
  +  [AWS Distro para OpenTelemetry](https://aws.amazon.com/otel/) 
  +  [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/grafana/latest/userguide/prometheus-data-source.html) 
+  Defina o filtro e a agregação necessários para as métricas com base nos requisitos da workload. 
  +  [Quantificar méticas de aplicações personalizadas com o Amazon CloudWatch Logs e filtros métricos](https://aws.amazon.com/blogs/mt/quantify-custom-application-metrics-with-amazon-cloudwatch-logs-and-metric-filters/) 
  +  [Coletar métricas personalizadas com a marcação com tags estratégica do Amazon CloudWatch](https://aws.amazon.com/blogs/infrastructure-and-automation/collect-custom-metrics-with-amazon-cloudwatch-strategic-tagging/) 
+  Configure políticas de retenção de dados para que as métricas correspondam às metas operacionais e de segurança. 
  +  [Retenção de dados padrão para métricas do CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 
  +  [Retenção de dados padrão para CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 
+  Se necessário, crie alarmes e notificações para as métricas a fim de ajudar a reagir proativamente a problemas relacionados à performance. 
  +  [Criar alarmes para métricas personalizadas usando a detecção de anomalias do Amazon CloudWatch](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection.html) 
  +  [Criar métricas e alarmes para páginas da Web específicas com o Amazon CloudWatch RUM](https://aws.amazon.com/blogs/mt/create-metrics-and-alarms-for-specific-web-pages-amazon-cloudwatch-rum/) 
+  Use a automação para implantar os agentes de agregação de métricas e logs. 
  +  [Automação do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html?ref=wellarchitected) 
  +  [Coletor do OpenTelemetry](https://aws-otel.github.io/docs/getting-started/collector) 

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

 **Documentos relacionados:** 
+  [Monitoramento e observabilidade](https://aws.amazon.com/cloudops/monitoring-and-observability/) 
+  [Práticas recomendadas: implementar a observabilidade com a AWS](https://aws.amazon.com/blogs/mt/best-practices-implementing-observability-with-aws/) 
+  [Documentação do Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html?ref=wellarchitected) 
+  [Coletar métricas e logs de instâncias do Amazon EC2 e servidores on-premises com o agente do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+  [Acessar o Amazon CloudWatch Logs para AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html?ref=wellarchitected) 
+  [Usar o CloudWatch Logs com Instâncias de contêiner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html?ref=wellarchitected) 
+  [Publicar métricas personalizadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html?ref=wellarchitected) 
+  [AWS Answers: log centralizado](https://aws.amazon.com/answers/logging/centralized-logging/?ref=wellarchitected) 
+  [Serviços da AWS que publicam métricas do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html?ref=wellarchitected) 
+  [Monitorar o Amazon EKS no AWS Fargate](https://aws.amazon.com/blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023 [LANÇAMENTO]: Monitoramento de aplicações para workloads modernas](https://www.youtube.com/watch?v=T2TovTLje8w) 
+  [AWS re:Invent 2023: Como implementar a observabilidade de aplicações](https://www.youtube.com/watch?v=IcTcwUSwIs4) 
+  [AWS re:Invent 2023: Criar uma estratégia efetiva de observabilidade](https://www.youtube.com/watch?v=7PQv9eYCJW8) 
+  [AWS re:Invent 2023: Observabilidade direta com o AWS Distro para OpenTelemetry](https://www.youtube.com/watch?v=S4GfA2R0N_A) 
+  [Gerenciamento da performance de aplicações na AWS](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 

 **Exemplos relacionados:** 
+  [Dia de imersão em workloads da AWS para Linux - Amazon CloudWatch](https://catalog.us-east-1.prod.workshops.aws/workshops/a8e9c6a6-0ba9-48a7-a90d-378a440ab8ba/en-US/300-cloudwatch) 
+  [Monitorar clusters e contêineres do Amazon ECS](https://ecsworkshop.com/monitoring/) 
+  [Monitorar com painéis do Amazon CloudWatch](https://catalog.workshops.aws/well-architected-performance-efficiency/en-US/3-monitoring/monitoring-with-cloudwatch-dashboards) 
+  [Workshop do Amazon EKS](https://www.eksworkshop.com/) 

# PERF02-BP04 Configurar e dimensionar corretamente os recursos de computação
<a name="perf_compute_hardware_configure_and_right_size_compute_resources"></a>

 Configure e dimensione corretamente os recursos de computação para atender aos requisitos de performance das workloads e evitar que recursos sejam subutilizados ou usados em excesso. 

 **Práticas comuns que devem ser evitadas:** 
+  Ignorar os requisitos de performance das workloads, o que ocasiona recursos computacionais superprovisionados ou subprovisionados. 
+  Você escolhe somente a maior ou a menor instância disponível para todas as workloads. 
+  Você usa apenas uma família de instâncias para facilitar o gerenciamento. 
+  Você ignora as recomendações do AWS Cost Explorer ou do Compute Optimizer para o dimensionamento correto. 
+  Você não reavalia a workload quanto à adequação dos novos tipos de instância. 
+  Você certifica apenas um pequeno número de configurações de instâncias para sua organização. 

 **Benefícios de implementar esta prática recomendada:** o dimensionamento correto dos recursos computacionais garante a operação ideal na nuvem, evitando o provisionamento excessivo e o subprovisionamento de recursos. O dimensionamento adequado dos recursos de computação normalmente resulta em melhor performance e melhor experiência do cliente, além de reduzir custos. 

 **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>

 O dimensionamento correto permite que as organizações operem a infraestrutura de nuvem de forma eficiente e econômica ao mesmo tempo que atendem às suas necessidades comerciais. O provisionamento excessivo de recursos na nuvem pode gerar custos extras, enquanto o provisionamento insuficiente pode resultar em baixa performance e em uma experiência negativa para o cliente. A AWS fornece ferramentas como [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) e [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/) que usam dados históricos para fornecer recomendações para dimensionar corretamente seus recursos computacionais. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Escolha um tipo de instância que melhor atenda às suas necessidades: 
  +  [Como faço para escolher o tipo de instância do Amazon EC2 apropriado para minha workload?](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/) 
  +  [Seleção de tipo de instância baseada em atributos para o Amazon EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) 
  +  [Criar um grupo do Auto Scaling usando seleção de tipo de instância baseada em atributos](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) 
  +  [Otimizar seus custos de computação do Kubernetes com a consolidação do Karpenter](https://aws.amazon.com/blogs/containers/optimizing-your-kubernetes-compute-costs-with-karpenter-consolidation/) 
+  Analise as várias características de performance da sua workload e como elas se relacionam a uso de memória, rede e CPU. Use esses dados para escolher os recursos que melhor correspondam ao perfil e às metas de performance da workload. 
+  Monitore o uso de recursos usando ferramentas de monitoramento da AWS, como o Amazon CloudWatch. 
+  Selecione a configuração correta para os recursos computacionais. 
  +  Para workloads efêmeras, avalie as [métricas da instância do Amazon CloudWatch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html), como `CPUUtilization`, para identificar se a instância está subutilizada ou superutilizada. 
  +  Para workloads estáveis, verifique as ferramentas de dimensionamento correto da AWS, como AWS Compute Optimizer e AWS Trusted Advisor em intervalos regulares para identificar oportunidades de otimizar e dimensionar corretamente o recurso de computação. 
+  Teste as alterações na configuração em um ambiente de não produção antes de implementá-las em um ambiente ativo. 
+  Reavalie constantemente novas ofertas de computação e compare-as com as necessidades da workload. 

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

 **Documentos relacionados:** 
+  [Computação na nuvem com a AWS](https://aws.amazon.com/products/compute/) 
+  [Tipos de instância do Amazon EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Contêineres do Amazon ECS: instâncias de contêiner do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Contêineres do Amazon EKS: nós de processamento do Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funções: configuração da função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Controle do estado do processo para sua instância do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **Vídeos relacionados:** 
+  [Fundamentos do Amazon EC2](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [AWS re:Invent 2023: AWS Graviton: a melhor performance de preço para suas workloads da AWS](https://www.youtube.com/watch?v=T_hMIjKtSr4) 
+  [AWS re:Invent 2023: Novos recursos de IA generativa do Amazon EC2 no Console de gerenciamento da AWS](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023: Novidades do Amazon EC2](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023: Economias inteligentes: estratégias de otimização de custos com o Amazon EC](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021: Capacitar o Amazon EC2 da próxima geração: mergulho profundo no Nitro System](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019: Fundamentos do Amazon EC](https://www.youtube.com/watch?v=kMMybKqC2Y0) 

 **Exemplos relacionados:** 
+  [Código de demonstração do AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 
+  [Workshop do Amazon EKS](https://www.eksworkshop.com/) 
+  [Recomendações de dimensionamento correto](https://catalog.workshops.aws/well-architected-cost-optimization/en-US/3-cost-effective-resources/40-rightsizing-recommendations-100) 

# PERF02-BP05 Dimensionar recursos de computação dinamicamente
<a name="perf_compute_hardware_scale_compute_resources_dynamically"></a>

 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 name="implementation-guidance"></a>

 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
<a name="implementation-steps"></a>
+  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:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_compute_hardware_scale_compute_resources_dynamically.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. Não se esqueça de considerar também a configuração de serviços não computacionais, como [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/auto-scaling.html), 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](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) 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](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 os dois eventos de ajuste de escala (aumento e redução). Como exemplo, você pode 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 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](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/). 

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

 **Documentos relacionados:** 
+  [Computação na nuvem com a AWS](https://aws.amazon.com/products/compute/) 
+  [Tipos de instância do Amazon EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Contêineres do Amazon ECS: instâncias de contêiner do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Contêineres do Amazon EKS: nós de processamento do Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funções: configuração da função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Controle do estado do processo para sua instância do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 
+  [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/) 
+  [Introdução ao 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/) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: AWS Graviton: a melhor performance de preço para suas workloads da AWS](https://www.youtube.com/watch?v=T_hMIjKtSr4) 
+  [AWS re:Invent 2023: Novos recursos de IA generativa no Amazon EC2 no console de gerenciamento da AWS](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023: Novidades do Amazon EC2](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023: Economias inteligentes: estratégias de otimização de custos com o Amazon EC2](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021: Capacitar o Amazon EC2 da próxima geração: mergulho profundo no Nitro System](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019: Fundamentos do Amazon EC2](https://www.youtube.com/watch?v=kMMybKqC2Y0) 

 **Exemplos relacionados:** 
+  [Exemplos de grupos do Amazon EC2 Auto Scaling](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Workshop do Amazon EKS](https://www.eksworkshop.com/) 
+  [Escalar suas workloads do Amazon EKS executando-as em IPv6](https://catalog.us-east-1.prod.workshops.aws/workshops/3b06259f-8e17-4f2f-811a-75c9b06a2807/en-US) 

# PERF02-BP06 Usar aceleradores de computação baseados em hardware otimizados
<a name="perf_compute_hardware_compute_accelerators"></a>

 Use aceleradores de hardware para executar determinadas funções com mais eficiência do que as alternativas baseadas em CPU. 

 **Práticas comuns que devem ser evitadas:** 
+  Em sua workload, você não compara uma instância de uso geral com uma instância criada para um propósito específico capaz de oferecer maior performance e menor custo. 
+  Você está usando aceleradores de computação baseados em hardware para tarefas que podem ser eficientes com o uso de alternativas baseadas em CPU. 
+  Você não está monitorando o uso da GPU. 

**Benefícios de implementar esta prática recomendada:** ao usar aceleradores baseados em hardware, como unidades de processamento gráfico (GPUs) e matrizes de portas programáveis em campo (FPGAs), você pode executar determinadas funções de processamento com mais eficiência. 

 **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>

 As instâncias com computação acelerada fornecem acesso a aceleradores de computação baseados em hardware, como GPUs e FPGAs. Esses aceleradores de hardware executam certas funções, como processamento gráfico ou correspondência de padrões de dados, com mais eficiência do que alternativas baseadas em CPU. Muitas workloads aceleradas, como renderização, transcodificação e machine learning, são altamente variáveis em termos de uso de recursos. Execute esse hardware apenas pelo tempo necessário e desative-o com automação quando não precisar mais dele para melhorar a eficiência da performance geral. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Identifique quais [instâncias com computação acelerada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html) podem atender às suas necessidades. 
+  Para workloads de machine learning, utilize hardware específico para sua workload, como [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/), [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/) e [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/). AWS Instâncias do Inferentia, como instâncias Inf2, [oferecem performance até 50% melhor por watt em relação a instâncias comparáveis do Amazon EC2](https://aws.amazon.com/machine-learning/inferentia/). 
+  Colete métricas de uso para as instâncias com computação acelerada. Por exemplo, você pode usar o agente do CloudWatch para coletar métricas como `utilization_gpu` e `utilization_memory` e para suas GPUs, conforme mostrado em [Coletar métricas de GPU NVIDIA com o Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-NVIDIA-GPU.html). 
+  Otimize o código, a operação de rede e as configurações dos aceleradores de hardware para garantir que o hardware subjacente seja totalmente utilizado. 
  +  [Otimizar as configurações da GPU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html) 
  +  [Monitoramento e otimização da GPU na AMI de aprendizado profundo](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) 
  +  [Otimizar a E/S para ajuste de performance da GPU de treinamento de aprendizado profundo no Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/optimizing-i-o-for-gpu-performance-tuning-of-deep-learning-training-in-amazon-sagemaker/) 
+  Use as mais recentes bibliotecas de alta performance e drivers de GPU. 
+  Use automação para liberar instâncias de GPU quando não estiverem em uso. 

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

 **Documentos relacionados:** 
+  [Trabalhar com GPUs no Amazon Elastic Container Service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 
+  [Instâncias de GPU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#gpu-instances) 
+  [Instâncias com AWS Trainium](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-trainium-instances) 
+  [Instâncias com o AWS Inferentia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-inferentia-instances) 
+  [Vamos arquitetar\$1 Como arquitetar com chips e aceleradores personalizados](https://aws.amazon.com/blogs/architecture/lets-architect-custom-chips-and-accelerators/) 
+  [Computação acelerada](https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing) 
+  [Instâncias VT1 do Amazon EC2](https://aws.amazon.com/ec2/instance-types/vt1/) 
+  [Como faço para escolher o tipo de instância do Amazon EC2 apropriado para minha workload?](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/) 
+  [Escolher o melhor acelerador de IA e compilação de modelos para inferência de visão computacional com o Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/choose-the-best-ai-accelerator-and-model-compilation-for-computer-vision-inference-with-amazon-sagemaker/) 

 **Vídeos relacionados:** 
+  AWS re:Invent 2021: [Como selecionar instâncias de GPU do Amazon Elastic Compute Cloud para aprendizado profundo](https://www.youtube.com/watch?v=4bVrIbgGWEA&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022 [NOVO LANÇAMENTO\$1]: Introdução as instâncias Inf2 do Amazon EC2 baseadas no AWS Inferentia2](https://www.youtube.com/watch?v=jpqiG02Y2H4&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022: Acelerar o aprendizado profundo e inovar com mais rapidez com o AWS Trainium](https://www.youtube.com/watch?v=YRqvfNwqUIA&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022: Aprendizado profundo na AWS com a NVIDIA: do treinamento à implantação](https://www.youtube.com/watch?v=l8AFfaCkp0E&ab_channel=AWSEvents) 

 **Exemplos relacionados:** 
+  [Amazon SageMaker AI e NVIDIA GPU Cloud (NGC)](https://github.com/aws-samples/amazon-sagemaker-nvidia-ngc-examples) 
+  [Usar o SageMaker AI com Trainium e Inferentia para workloads otimizadas de treinamento e de inferência em aprendizado profundo](https://github.com/aws-samples/sagemaker-trainium-inferentia) 
+  [Otimizar modelos de PLN com instâncias Inf1 do Amazon Elastic Compute Cloud no Amazon SageMaker AI](https://github.com/aws-samples/aws-inferentia-huggingface-workshop) 

# Gerenciamento de dados
<a name="a-data-management"></a>

**Topics**
+ [PERF 3. Como armazenar, gerenciar e acessar dados em sua workload?](perf-03.md)

# PERF 3. Como armazenar, gerenciar e acessar dados em sua workload?
<a name="perf-03"></a>

 A solução de gerenciamento de dados ideal para um sistema específico varia conforme o tipo de dados (bloco, arquivo ou objeto), os padrões de acesso (aleatório ou sequencial), o throughput necessário, a frequência de acesso (online, offline, arquivamento), a frequência de atualização (WORM, dinâmica) e as restrições de disponibilidade e durabilidade. As workloads do Well-Architected usam datastores específicos que permitem que recursos diferentes melhorem a performance. 

**Topics**
+ [PERF03-BP01 Usar um datastore com propósitos específicos que melhor atenda aos requisitos de acesso e armazenamento de dados](perf_data_use_purpose_built_data_store.md)
+ [PERF03-BP02 Avaliar as opções de configuração disponíveis para o datastore](perf_data_evaluate_configuration_options_data_store.md)
+ [PERF03-BP03 Coletar e registrar métricas de performance do datastore](perf_data_collect_record_data_store_performance_metrics.md)
+ [PERF03-BP04 Implementar estratégias para melhorar a performance da consulta no datastore](perf_data_implement_strategies_to_improve_query_performance.md)
+ [PERF03-BP05 Implementar padrões de acesso a dados que utilizam cache](perf_data_access_patterns_caching.md)

# PERF03-BP01 Usar um datastore com propósitos específicos que melhor atenda aos requisitos de acesso e armazenamento de dados
<a name="perf_data_use_purpose_built_data_store"></a>

 Entenda as características dos dados (como possibilidade de compartilhamento, tamanho, tamanho do cache, padrões de acesso, latência, throughput e persistência dos dados) a fim de selecionar os datastores com propósito específico (armazenamento ou banco de dados) para sua workload. 

 **Práticas comuns que devem ser evitadas:** 
+  Utilizar um único datastore porque há experiência e conhecimento internos de um tipo específico de solução de banco de dados. 
+  Você pressupõe que todas as workloads têm requisitos de acesso e armazenamento de dados semelhantes. 
+  Você não implementou um catálogo de dados para criar um inventário de seus ativos de dados. 

 **Benefícios de implementar esta prática recomendada:** entender as características e os requisitos de dados permite que você determine a tecnologia de armazenamento mais eficiente e com melhor performance adequada às necessidades da workload. 

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

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

 Ao selecionar e implementar o armazenamento de dados, certifique-se de que as características de consulta, ajuste de escala e armazenamento atendam aos requisitos de dados da workload. A AWS fornece várias tecnologias de armazenamento de dados e banco de dados, incluindo armazenamento em blocos, armazenamento de objetos, armazenamento de streaming, sistema de arquivos, bancos de dados relacionais, de chave-valor, de documentos, na memória, de grafos, de séries temporais e ledger. Cada solução de gerenciamento de dados tem opções e configurações disponíveis para compatibilidade com seus casos de uso e modelos de dados. Ao compreender as características e os requisitos dos dados, você pode se separar da tecnologia de armazenamento monolítico e das abordagens restritivas e únicas para se concentrar no gerenciamento adequado dos dados. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Realize um inventário dos vários tipos de dados que existem na workload. 
+  Entenda e documente as características e os requisitos dos dados, incluindo: 
  +  Tipo de dados (não estruturados, semiestruturados, relacionais) 
  +  Volume e crescimento de dados 
  +  Durabilidade dos dados: persistentes, efêmeros, transitórios 
  +  Requisitos de ACID (atomicidade, consistência, isolamento, durabilidade) 
  +  Padrões de acesso a dados (com muita leitura ou gravação) 
  +  Latência 
  +  Throughput 
  +  IOPS (operações de entrada/saída por segundo) 
  +  Período de retenção de dados 
+  Conheça os diferentes datastores (serviços de [armazenamento](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/storage-services.html) e [banco de dados](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/database.html)) disponíveis para a workload na AWS que podem atender às características dos dados (conforme descrito em [PERF01-BP01 Conhecer e compreender os serviços e recursos de nuvem disponíveis](perf_architecture_understand_cloud_services_and_features.md). Alguns exemplos de tecnologias de armazenamento da AWS e suas principais características incluem:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_data_use_purpose_built_data_store.html)
+  Se você estiver criando uma plataforma de dados, utilize a [arquitetura de dados moderna](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/) na AWS para integrar seu data lake, data warehouse e datastores específicos. 
+  As principais questões que você precisa considerar ao escolher um datastore para sua workload são as seguintes:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_data_use_purpose_built_data_store.html)
+  Faça experimentos e testes comparativos em um ambiente de não produção para identificar qual datastore pode atender às necessidades da workload. 

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

 **Documentos relacionados:** 
+  [Tipos de volume do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Armazenamento do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: performance do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Performance do Amazon FSx para Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Performance do Amazon FSx para Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: documentação do Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerações sobre performance e taxa de solicitações](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Armazenamento na nuvem com a AWS](https://aws.amazon.com/products/storage/) 
+  [Características de E/S do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Bancos de dados na nuvem com a AWS](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Cache de banco de dados da AWS](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Práticas recomendadas do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Performance do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [As 10 melhores dicas de performance para Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Práticas recomendadas do Amazon Redshift Spectrum](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Práticas recomendadas do Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 
+  [Escolher entre o Amazon EC2 e o Amazon RDS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/comparison.html) 
+ [Práticas recomendadas de implementação do Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/BestPractices.html)

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: Melhorar a eficiência do Amazon Elastic Block Store e ser mais econômico](https://www.youtube.com/watch?v=7-CB02rqiuw) 
+  [AWS re:Invent 2023: Otimizar o preço e a performance do armazenamento com o Amazon Simple Storage Service](https://www.youtube.com/watch?v=RxgYNrXPOLw) 
+  [AWS re:Invent 2023: Criar e otimizar data lakes no Amazon Simple Storage Service](https://www.youtube.com/watch?v=mpQa_Zm1xW8) 
+  [AWS re:Invent 2022: Construir arquiteturas de dados modernos na AWS](https://www.youtube.com/watch?v=Uk2CqEt5f0o) 
+  [AWS re:Invent 2022: Construir arquiteturas de data mesh na AWS](https://www.youtube.com/watch?v=nGRvlobeM_U) 
+  [AWS re:Invent 2023: Mergulho profundo no Amazon Aurora e suas inovações](https://www.youtube.com/watch?v=je6GCOZ22lI) 
+  [AWS re:Invent 2023: Modelagem de dados com o Amazon DynamoDB](https://www.youtube.com/watch?v=PVUofrFiS_A) 
+ [AWS re:Invent 2022: Modernizar aplicações com bancos de dados com propósito específico](https://www.youtube.com/watch?v=V-DiplATdi0)
+ [Mergulho profundo no Amazon DynamoDB: padrões de design avançados (DAT403-R1)](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Exemplos relacionados:** 
+  [Workshop de bancos de dados com propósito específico na AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US) 
+  [Bancos de dados para desenvolvedores](https://catalog.workshops.aws/db4devs/en-US) 
+  [Dia de imersão na arquitetura de dados moderna na AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US) 
+  [Criar um data mesh na AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US) 
+  [Exemplos do Amazon S](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+  [Otimizar o padrão de dados usando o compartilhamento de dados do Amazon Redshift](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [Migrações de bancos de dados](https://github.com/aws-samples/aws-database-migration-samples) 
+  [MS SQL Server: demonstração da replicação do AWS Database Migration Service (AWS DMS)](https://github.com/aws-samples/aws-dms-sql-server) 
+  [Workshop prático de modernização de bancos de dados](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Exemplos do Amazon Neptune](https://github.com/aws-samples/amazon-neptune-samples) 

# PERF03-BP02 Avaliar as opções de configuração disponíveis para o datastore
<a name="perf_data_evaluate_configuration_options_data_store"></a>

 Entenda e avalie os vários atributos e opções de configuração disponíveis para seus datastores a fim de otimizar o espaço de armazenamento e a performance da workload. 

 **Práticas comuns que devem ser evitadas:** 
+  Você só usa um tipo de armazenamento, como o Amazon EBS, para todas as workloads. 
+  Você usa as IOPS provisionadas para todas as workloads sem testes reais em todos os níveis de armazenamento. 
+  Você não sabe quais são as opções de configuração da solução de gerenciamento de dados escolhida. 
+  Você conta somente com o aumento do tamanho da instância sem examinar outras opções de configuração. 
+  Você não testa as características de ajuste de escala do datastore. 

 **Benefícios de implementar esta prática recomendada:** a exploração e a experimentação das configurações de datastore permitem que você reduza o custo da infraestrutura, melhore a performance e diminua o esforço necessário para manter as workloads. 

 **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>

 Uma workload pode ter um ou mais datastores usados com base nos requisitos de armazenamento e acesso aos dados. Para otimizar a eficiência de performance e custos, é necessário avaliar os padrões de acesso aos dados para determinar as configurações apropriadas do datastore. Ao explorar as opções de datastore, leve em consideração vários aspectos, como opções de armazenamento, memória, computação, réplica de leitura, requisitos de consistência, grupo de conexões e opções de armazenamento em cache. Experimente essas várias opções de configuração para melhorar as métricas de eficiência de performance. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Entenda as configurações atuais (como tipo de instância, tamanho do armazenamento ou versão do mecanismo de banco de dados) do datastore. 
+  Analise a documentação e as práticas recomendadas da AWS para saber mais sobre as opções de configuração indicadas que podem ajudar a melhorar a performance do datastore. As principais opções de datastore a serem consideradas são:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_data_evaluate_configuration_options_data_store.html)
+  Realize experimentos e testes comparativos em um ambiente de não produção para identificar qual opção de configuração pode atender aos requisitos da workload. 
+  Depois de experimentar, planeje a migração e valide as métricas de performance. 
+  Use ferramentas de monitoramento da AWS (como o [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)) e de otimização (como a [Lente de Armazenamento do Amazon S3](https://aws.amazon.com/s3/storage-lens/)) para otimizar constantemente o datastore usando um padrão de uso real. 

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

 **Documentos relacionados:** 
+  [Armazenamento na nuvem com a AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Tipos de volume do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Armazenamento do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: performance do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Performance do Amazon FSx para Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Performance do Amazon FSx para Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: documentação do Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerações sobre performance e taxa de solicitações](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Características de E/S do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Bancos de dados na nuvem com a AWS](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Cache de banco de dados da AWS](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Práticas recomendadas do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Performance do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [As 10 melhores dicas de performance para Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Práticas recomendadas do Amazon Redshift Spectrum](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Práticas recomendadas do Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: Melhorar a eficiência do Amazon Elastic Block Store e ser mais econômico](https://www.youtube.com/watch?v=7-CB02rqiuw) 
+  [AWS re:Invent 2023: Otimizar o preço e a performance do armazenamento com o Amazon Simple Storage Service](https://www.youtube.com/watch?v=RxgYNrXPOLw) 
+  [AWS re:Invent 2023: Criar e otimizar data lakes no Amazon Simple Storage Service](https://www.youtube.com/watch?v=mpQa_Zm1xW8) 
+  [AWS re:Invent 2023: Novidades do armazenamento de arquivos da AWS](https://www.youtube.com/watch?v=yXIeIKlTFV0) 
+  [AWS re:Invent 2023: Mergulho profundo no Amazon DynamoDB](https://www.youtube.com/watch?v=ld-xoehkJuU) 

 **Exemplos relacionados:** 
+  [Workshop de bancos de dados com propósito específico na AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US) 
+  [Bancos de dados para desenvolvedores](https://catalog.workshops.aws/db4devs/en-US) 
+  [Dia de imersão na arquitetura de dados moderna na AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US) 
+  [Ajuste de escala automático do Amazon EBS](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Exemplos do Amazon S](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+  [Exemplos do Amazon DynamoDB](https://github.com/aws-samples/aws-dynamodb-examples) 
+  [Exemplos de migração de banco de dados da AWS](https://github.com/aws-samples/aws-database-migration-samples) 
+  [Workshop de modernização de bancos de dados](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Trabalhar com parâmetros no Amazon RDS para Postgress DB](https://github.com/awsdocs/amazon-rds-user-guide/blob/main/doc_source/Appendix.PostgreSQL.CommonDBATasks.Parameters.md) 

# PERF03-BP03 Coletar e registrar métricas de performance do datastore
<a name="perf_data_collect_record_data_store_performance_metrics"></a>

 Acompanhe e registre métricas de performance relevantes para o datastore a fim de entender a performance das suas soluções de gerenciamento de dados. Essas métricas podem ajudar você a otimizar o datastore, verificar se os requisitos da workload foram atendidos e fornecer uma visão geral clara da performance da workload. 

 **Práticas comuns que devem ser evitadas:** 
+  Você só usa a pesquisa manual de arquivos de log para métricas. 
+  Você só publica métricas em ferramentas internas usadas pela equipe e não tem uma imagem abrangente da workload. 
+  Você só usa as métricas comuns registradas pelo software de monitoramento selecionado. 
+  Você só revisa as métricas quando há um problema. 
+  Você só monitora as métricas no sistema e não captura as métricas de uso e acesso aos dados. 

 **Benefícios de implementar esta prática recomendada:** o estabelecimento de uma linha de base de performance ajuda a compreender o comportamento normal e os requisitos das workloads. Padrões anormais podem ser identificados e depurados mais rapidamente, melhorando a performance e a confiabilidade do datastore. 

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

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

 Para monitorar a performance dos datastores, é necessário registrar várias métricas de performance ao longo de um período. Isso permite detectar anomalias e avaliar a performance em relação às métricas de negócios para verificar se as necessidades da workload estão sendo atendidas. 

 As métricas devem incluir as do sistema subjacente que oferece suporte ao datastore e as do banco de dados. As métricas do sistema subjacente podem incluir métricas de utilização de CPU, memória, armazenamento em disco disponível, E/S de disco, taxa de acertos do cache e entrada e saída da rede, enquanto as métricas do datastore devem incluir transações por segundo, tempos de resposta, uso de índice, bloqueios de tabela, tempos limite de consultas e número de conexões abertas. Esses dados são essenciais para compreender a performance da workload e como a solução de gerenciamento de dados é usada. Use essas métricas como parte de uma abordagem orientada por dados para ajustar e otimizar os recursos da workload.  

 Use ferramentas, bibliotecas e sistemas que registram as medidas de performance relacionadas ao banco de dados. 

## Etapas de implementação
<a name="implementation-steps"></a>
+  Identifique as principais métricas de performance que o datastore deve monitorar. 
  +  [Métricas e dimensões do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metrics-dimensions.html) 
  +  [Monitorar métricas em uma instância do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.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) 
  +  [Visão geral do monitoramento avançado](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 
  +  [Métricas e dimensões do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) 
  +  [Monitorar o DynamoDB Accelerator](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.Monitoring.html) 
  +  [Monitorar o Amazon MemoryDB com o Amazon CloudWatch](https://docs.aws.amazon.com/memorydb/latest/devguide/monitoring-cloudwatch.html) 
  +  [Que métricas devo monitorar?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 
  +  [Monitorar a performance do cluster do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/metrics.html) 
  +  [Métricas e dimensões do Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/metrics-dimensions.html) 
  +  [Métricas do Amazon CloudWatch para o Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMonitoring.Metrics.html) 
  +  [Registrar em log e monitorar o Amazon Keyspaces (para Apache Cassandra)](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 
  +  [Monitorar recursos do Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/monitoring.html) 
+  Use uma solução aprovada de registro em log e monitoramento para coletar essas métricas. O [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) pode coletar métricas nos recursos em sua arquitetura. Você também pode coletar e publicar métricas personalizadas para descobrir métricas de negócio ou derivadas. Use o CloudWatch ou soluções de terceiros para definir alarmes que indicam quando os limites são violados. 
+  Confira se o monitoramento do datastore pode se beneficiar de uma solução de machine learning que detecta anomalias de performance. 
  +  O [Amazon DevOps Guru para Amazon RDS](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-rds.overview.how-it-works.html) fornece visibilidade dos problemas de performance e faz recomendações de ações corretivas. 
+  Configure a retenção de dados em sua solução de monitoramento e de log para corresponder às suas metas operacionais e de segurança. 
  +  [Retenção de dados padrão para métricas do CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 
  +  [Retenção de dados padrão para CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

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

 **Documentos relacionados:** 
+  [Cache de banco de dados da AWS](https://aws.amazon.com/caching/database-caching/) 
+  [As 10 melhores dicas de performance para Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+  [Práticas recomendadas do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+  [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/) 
+  [Práticas recomendadas do Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+  [Práticas recomendadas do Amazon Redshift Spectrum](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+  [Performance do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+  [Bancos de dados na nuvem com a AWS](https://aws.amazon.com/products/databases/) 
+  [Insights de Performance do Amazon RDS](https://aws.amazon.com/rds/performance-insights/) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2022: Monitoramento de performance com o Amazon RDS e o Aurora, com destaque para Autodesk](https://www.youtube.com/watch?v=wokRbwK4YLo)
+ [Monitoramento e ajuste de performance de banco de dados com o Amazon DevOps Guru para Amazon RDS](https://www.youtube.com/watch?v=cHKuVH7YGBE)
+ [AWS re:Invent 2023: Novidades do armazenamento de arquivos na AWS](https://www.youtube.com/watch?v=yXIeIKlTFV0)
+ [AWS re:Invent 2023: Mergulho profundo no Amazon DynamoDB](https://www.youtube.com/watch?v=ld-xoehkJuU)
+ [AWS re:Invent 2023: Criar e otimizar data lakes no Amazon S3](https://www.youtube.com/watch?v=mpQa_Zm1xW8)
+ [AWS re:Invent 2023: Novidades do armazenamento de arquivos na AWS](https://www.youtube.com/watch?v=yXIeIKlTFV0)
+ [AWS re:Invent 2023: Mergulho profundo no Amazon DynamoDB](https://www.youtube.com/watch?v=ld-xoehkJuU)
+  [Práticas recomendadas para monitorar workloads do Redis no Amazon ElastiCache](https://www.youtube.com/watch?v=c-hTMLN35BY&ab_channel=AWSOnlineTechTalks) 

 **Exemplos relacionados:** 
+  [Framework de coleta de métricas de ingestão de conjunto de dados na AWS](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Workshop de monitoramento do Amazon RDS](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 
+ [Workshop de bancos de dados com propósito específico na AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)

# PERF03-BP04 Implementar estratégias para melhorar a performance da consulta no datastore
<a name="perf_data_implement_strategies_to_improve_query_performance"></a>

 Implemente estratégias para otimizar os dados e melhorar a consulta de dados a fim de permitir mais escalabilidade e performance eficiente para a workload. 

 **Práticas comuns que devem ser evitadas:** 
+  Você não particiona dados no datastore. 
+  Você armazena dados em apenas um formato de arquivo no datastore. 
+  Você não usa índices no datastore. 

 **Benefícios de implementar esta prática recomendada:** a otimização da performance dos dados e das consultas ocasiona mais eficiência, menor custo e melhor experiência do usuário. 

 **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 otimização de dados e o ajuste de consultas são aspectos essenciais da eficiência de performance em um datastore, pois afetam não só a performance, mas também a capacidade de resposta de toda a workload na nuvem. Consultas não otimizadas podem ocasionar maior uso de recursos e gargalos, o que reduz a eficiência geral de um datastore. 

A otimização de dados inclui várias técnicas para garantir o armazenamento e o acesso eficientes aos dados. Esse processo também ajuda a melhorar a performance da consulta em um datastore. As principais estratégias incluem particionamento, compactação e desnormalização de dados, o que ajuda a otimizá-los para armazenamento e acesso.

### Etapas de implementação
<a name="implementation-steps"></a>
+  Entenda e analise as consultas de dados críticos que são realizadas no datastore. 
+  Identifique as consultas com execução lenta no datastore e use planos de consulta para entender o estado atual delas. 
  +  [Analisar o plano de consulta no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c-analyzing-the-query-plan.html) 
  +  [Usar EXPLAIN e EXPLAIN ANALYZE no Athena](https://docs.aws.amazon.com/athena/latest/ug/athena-explain-statement.html) 
+  Implemente estratégias para melhorar a performance da consulta. Algumas das principais estratégias incluem: 
  +  Usar um [formato de arquivo colunar](https://docs.aws.amazon.com/athena/latest/ug/columnar-storage.html) (como Parquet ou ORC). 
  + Compactar os dados no datastore para reduzir o espaço de armazenamento e as operações de E/S.
  +  Particionar os dados para dividi-los em partes menores e reduzir o tempo de verificação dos dados. 
    + [Particionamento de dados no Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html)
    + [Partições e distribuição de dados](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html)
  +  Indexação de dados nas colunas comuns na consulta. 
  +  Use visões materializadas para consultas frequentes. 
    + [Entender as visões materializadas](https://docs.aws.amazon.com/prescriptive-guidance/latest/materialized-views-redshift/understanding-materialized-views.html)
    + [Criar visões materializadas no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html)
  +  Escolha a operação de junção correta para consulta. Ao unir duas tabelas, especifique a tabela maior no lado esquerdo da junção e a tabela menor no lado direito. 
  +  Solução de cache distribuído para melhorar a latência e reduzir o número de operações de E/S do banco de dados. 
  +  Manutenção regular, como [aspiração](https://docs.aws.amazon.com/prescriptive-guidance/latest/postgresql-maintenance-rds-aurora/autovacuum.html), reindexação e [estatísticas de execução](https://docs.aws.amazon.com/redshift/latest/dg/t_Analyzing_tables.html). 
+  Experimente e teste estratégias em um ambiente de não produção. 

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

 **Documentos relacionados:** 
+  [Práticas recomendadas do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Performance do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [As 10 melhores dicas de performance para Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Cache de banco de dados da AWS](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Práticas recomendadas para implementar o Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 
+  [Particionamento de dados no Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: Práticas recomendadas de otimização de custos de armazenamento na AWS](https://www.youtube.com/watch?v=8LVKNHcA6RY)
+ [AWS re:Invent 2022: Monitoramento de performance com o Amazon RDS e o Aurora, com destaque para Autodesk](https://www.youtube.com/watch?v=wokRbwK4YLo)
+  [Otimizar consultas do Amazon Athena com novas ferramentas de análise de consultas](https://www.youtube.com/watch?v=7JUyTqglmNU&ab_channel=AmazonWebServices) 

 **Exemplos relacionados:** 
+ [AWS Workshop de bancos de dados com propósito específico na ](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)

# PERF03-BP05 Implementar padrões de acesso a dados que utilizam cache
<a name="perf_data_access_patterns_caching"></a>

 Implemente padrões de acesso que possam se beneficiar do armazenamento em cache de dados para recuperação rápida de dados acessados com frequência. 

 **Práticas comuns que devem ser evitadas:** 
+  Armazenar em cache dados que mudam com frequência. 
+  Depender dos dados em cache como se estivessem armazenados de forma durável e sempre disponíveis. 
+  Não levar em conta a consistência dos seus dados em cache. 
+  Não monitorar a eficiência da sua implementação de cache. 

 **Benefícios de implementar esta prática recomendada:** armazenar dados em um cache pode melhorar a latência de leitura, o throughput de leitura, a experiência do usuário e a eficiência geral, além de reduzir custos. 

 **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>

 Um cache é um componente de software ou hardware destinado a armazenar dados para que futuras solicitações dos mesmos dados possam ser atendidas com maior rapidez e eficiência. Os dados armazenados em um cache podem ser reconstruídos se perdidos, repetindo um cálculo anterior ou obtendo-os de outro datastore. 

 O armazenamento de dados em cache pode ser uma das estratégias mais eficazes para melhorar a performance geral da aplicação e reduzir a carga sobre as fontes de dados primárias subjacentes. Os dados podem ser armazenados em vários níveis na aplicação, como dentro da aplicação e fazendo chamadas remotas, o que é conhecido como *cache do lado do cliente*, ou usando um serviço secundário rápido para armazenar os dados, conhecido como *cache remoto*. 

 **Armazenamento em cache no lado do cliente** 

 Com o armazenamento em cache no lado do cliente, cada cliente (uma aplicação ou serviço que consulta o datastore de backend) pode armazenar os resultados de suas consultas exclusivas localmente por um período especificado. Isso pode reduzir o número de solicitações na rede para um datastore ao verificar primeiro o cache do cliente local. Se os resultados não estiverem presentes, a aplicação poderá então consultar o datastore e armazenar esses resultados localmente. Esse padrão permite que cada cliente armazene dados no local mais próximo (o próprio cliente), resultando na menor latência possível. Os clientes também podem continuar a atender algumas consultas quando o datastore de backend não está disponível, aumentando a disponibilidade geral do sistema. 

 Uma desvantagem dessa abordagem é que, quando vários clientes estão envolvidos, eles podem armazenar os mesmos dados em cache localmente. Isso resulta no uso de armazenamento duplicado e na inconsistência de dados entre esses clientes. Um cliente pode armazenar em cache os resultados de uma consulta e, um minuto depois, outro cliente pode executar a mesma consulta e obter um resultado diferente. 

 **Armazenamento em cache remoto** 

 Para resolver o problema de dados duplicados entre clientes, um serviço externo rápido ou *cache remoto* pode ser usado para armazenar os dados consultados. Em vez de verificar um datastore local, cada cliente verificará o cache remoto antes de consultar o datastore de backend. Essa estratégia permite respostas mais consistentes entre clientes, melhor eficiência nos dados armazenados e um volume maior de dados em cache, pois o espaço de armazenamento é dimensionado independentemente dos clientes. 

 A desvantagem de um cache remoto é que o sistema geral pode ter uma latência maior, pois é necessário um salto de rede adicional para verificar o cache remoto. O cache do lado do cliente pode ser usado junto com o armazenamento em cache remoto para o armazenamento em vários níveis para melhorar a latência. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Identifique bancos de dados, APIs e serviços de rede que poderiam se beneficiar do armazenamento em cache. Serviços que têm workloads de leitura pesadas, uma alta taxa de leitura e gravação ou que são caros para escalar são candidatos ao armazenamento em cache. 
  +  [Armazenamento em cache de banco de dados](https://aws.amazon.com/caching/database-caching/) 
  +  [Habilitar o armazenamento em cache de APIs para melhorar a capacidade de resposta](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) 
+  Identifique o tipo apropriado de estratégia de armazenamento em cache que melhor se adapte ao seu padrão de acesso. 
  +  [Estratégias de armazenamento em cache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Strategies.html) 
  +  [Soluções de armazenamento em cache da AWS](https://aws.amazon.com/caching/aws-caching/) 
+  Siga as [práticas recomendadas de armazenamento em cache](https://aws.amazon.com/caching/best-practices/) para seu datastore. 
+  Configure uma estratégia de invalidação de cache, como um time-to-live (TTL), para todos os dados que equilibre a atualização dos dados e reduza a pressão sobre o datastore de backend. 
+  Habilite recursos como novas tentativas automáticas de conexão, recuo exponencial, tempos limite no lado do cliente e pool de conexões no cliente, se disponíveis, pois eles podem melhorar a performance e a confiabilidade. 
  +  [Práticas recomendadas: clientes Redis e Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/blogs/database/best-practices-redis-clients-and-amazon-elasticache-for-redis/) 
+  Monitore a taxa de acertos de cache com uma meta de 80% ou mais. Valores mais baixos podem indicar tamanho insuficiente do cache ou um padrão de acesso que não se beneficia do armazenamento em cache. 
  +  [Que métricas devo monitorar?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 
  +  [Práticas recomendadas para monitorar workloads do Redis no Amazon ElastiCache](https://www.youtube.com/watch?v=c-hTMLN35BY) 
  +  [Monitorar as práticas recomendadas com o Amazon ElastiCache (Redis OSS) usando o Amazon CloudWatch](https://aws.amazon.com/blogs/database/monitoring-best-practices-with-amazon-elasticache-for-redis-using-amazon-cloudwatch/) 
+  Implemente a [replicação de dados](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.Redis.Groups.html) para descarregar as leituras em várias instâncias e melhorar a performance e a disponibilidade da leitura de dados. 

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

 **Documentos relacionados:** 
+  [Usar a Lente do Well-Architected para o Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WellArchitechtedLens.html) 
+  [Monitorar as práticas recomendadas com o Amazon ElastiCache (Redis OSS) usando o Amazon CloudWatch](https://aws.amazon.com/blogs/database/monitoring-best-practices-with-amazon-elasticache-for-redis-using-amazon-cloudwatch/) 
+  [Que métricas devo monitorar?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 
+  [Whitepaper Performance em grande escala com o Amazon ElastiCache](https://docs.aws.amazon.com/whitepapers/latest/scale-performance-elasticache/scale-performance-elasticache.html) 
+  [Desafios e estratégias de armazenamento em cache](https://aws.amazon.com/builders-library/caching-challenges-and-strategies/) 

 **Vídeos relacionados:** 
+  [Plano de aprendizado do Amazon ElastiCache](https://pages.awscloud.com/GLB-WBNR-AWS-OTT-2021_LP_0003-DAT_AmazonElastiCache.html) 
+  [Design para o sucesso com as práticas recomendadas do Amazon ElastiCache ](https://youtu.be/_4SkEy6r-C4) 
+ [AWS re:Invent 2020: Design para o sucesso com as práticas recomendadas do Amazon ElastiCache](https://www.youtube.com/watch?v=_4SkEy6r-C4)
+ [AWS re:Invent 2023 [LANÇAMENTO]: Introdução ao Amazon ElastiCache sem servidor](https://www.youtube.com/watch?v=YYStP97pbXo)
+ [AWS re:Invent 2022: Cinco excelentes formas de reimaginar sua camada de dados com o Redis](https://www.youtube.com/watch?v=CD1kvauvKII)
+ [AWS re:Invent 2021: Mergulho profundo no Amazon ElastiCache (Redis OSS)](https://www.youtube.com/watch?v=QEKDpToureQ)

 **Exemplos relacionados:** 
+  [Como aumentar a performance de bancos de dados MySQL com o Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/getting-started/hands-on/boosting-mysql-database-performance-with-amazon-elasticache-for-redis/) 

# Rede e entrega de conteúdo
<a name="a-networking-delivery"></a>

**Topics**
+ [PERF 4. Como selecionar e configurar os recursos de rede em sua workload?](perf-04.md)

# PERF 4. Como selecionar e configurar os recursos de rede em sua workload?
<a name="perf-04"></a>

A solução de rede ideal para uma workload varia com base em latência, requisitos de throughput, jitter e largura de banda. Restrições físicas, como recursos de usuário ou on-premises, determinam as opções de localização. Essas restrições podem ser compensadas com locais de borda ou posicionamento de recursos.

**Topics**
+ [PERF04-BP01 Compreender como as redes afetam a performance](perf_networking_understand_how_networking_impacts_performance.md)
+ [PERF04-BP02 Avaliar os recursos de rede disponíveis](perf_networking_evaluate_networking_features.md)
+ [PERF04-BP03 Escolher a conectividade dedicada ou VPN apropriada para a workload](perf_networking_choose_appropriate_dedicated_connectivity_or_vpn.md)
+ [PERF04-BP04 Usar o balanceamento de carga para distribuir o tráfego em vários recursos](perf_networking_load_balancing_distribute_traffic.md)
+ [PERF04-BP05 Escolher protocolos de rede para melhorar a performance](perf_networking_choose_network_protocols_improve_performance.md)
+ [PERF04-BP06 Escolher o local da workload com base nos requisitos de rede](perf_networking_choose_workload_location_network_requirements.md)
+ [PERF04-BP07 Otimizar a configuração da rede com base em métricas](perf_networking_optimize_network_configuration_based_on_metrics.md)

# PERF04-BP01 Compreender como as redes afetam a performance
<a name="perf_networking_understand_how_networking_impacts_performance"></a>

 Analise e entenda como as decisões relacionadas à rede afetam sua workload para fornecer performance eficiente e uma melhor experiência do usuário. 

 **Práticas comuns que devem ser evitadas:** 
+  Todo o tráfego flui por meio dos data centers existentes. 
+  Você direciona todo o tráfego por meio de firewalls centrais em vez de usar ferramentas de segurança de rede nativas da nuvem. 
+  Você provisiona conexões do AWS Direct Connect sem entender os requisitos reais de uso. 
+  Você não considera as características da workload e a sobrecarga da criptografia ao definir suas soluções de redes. 
+  Você usa conceitos e estratégias de on-premises para soluções de redes na nuvem. 

 **Benefícios de implementar esta prática recomendada:** a compreensão de como as redes afetam a performance da workload ajuda a identificar gargalos potenciais, a melhorar a experiência dos usuários, a aumentar a confiabilidade e a reduzir a manutenção operacional à medida que a workload muda. 

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

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

 A rede é responsável pela conectividade entre os componentes da aplicação, os serviços de nuvem, as redes de borda e os dados on-premises. Portanto, ela pode afetar significativamente a performance da workload. Além da performance da workload, a experiência dos usuários também é afetada por latência de rede, largura de banda, protocolos, localização, congestão de rede, jitter, throughput e regras de roteamento. 

 Ter uma lista documentada dos requisitos de rede da workload, incluindo latência, tamanho de pacotes, regras de roteamento, protocolos e padrões de tráfego compatíveis. Analise as soluções de redes disponíveis e identifique os serviços que atendem às características de rede da sua workload. É possível recriar as redes baseadas na nuvem rapidamente. Portanto, é necessário evoluir sua arquitetura de rede ao longo do tempo para melhorar a eficiência da performance. 

### Etapas de implementação:
<a name="implementation-steps"></a>
+  Defina e documente os requisitos de performance da rede, incluindo métricas como latência da rede, largura de banda, protocolos, locais, padrões de tráfego (picos e frequência), throughput, criptografia, inspeção e regras de roteamento. 
+  Saiba mais sobre os principais serviços de rede da AWS, como [VPCs](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html), [AWS Direct Connect](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/aws-direct-connect.html), [Elastic Load Balancing (ELB)](https://aws.amazon.com/elasticloadbalancing/) e [Amazon Route 53](https://aws.amazon.com/route53/). 
+  Capture as seguintes características principais da rede:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_networking_understand_how_networking_impacts_performance.html)
+  Teste comparativo e de performance da rede: 
  +  Faça o [teste comparativo](https://aws.amazon.com/premiumsupport/knowledge-center/network-throughput-benchmark-linux-ec2/) do throughput da rede, pois alguns fatores podem afetar a performance da rede do Amazon EC2 quando as instâncias estão na mesma VPC. Meça a largura de banda da rede entre as instâncias Linux do Amazon EC2 na mesma VPC. 
  +  Faça [testes de carga](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para experimentar soluções e opções de redes. 

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

 **Documentos relacionados:** 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Rede avançada do EC2 no Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Rede avançada do EC2 no Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Grupos de posicionamento do EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Como habilitar a rede avançada com o Adaptador de Rede Elástica (ENA) em instâncias Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Produtos de redes com a AWS](https://aws.amazon.com/products/networking/) 
+  [Gateway de trânsito](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Passar para o roteamento baseado em latência no Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Endpoints da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: Fundamentos de rede na AWS](https://www.youtube.com/watch?v=8nNurTFy-h4)
+ [AWS re:Invent 2023: O que rede pode fazer por sua aplicação?](https://www.youtube.com/watch?v=tUh26i8uY9Q)
+ [AWS re:Invent 2023: Designs e novos recursos de VPCs avançadas](https://www.youtube.com/watch?v=cRdDCkbE4es)
+ [AWS re:Invent 2023: Um guia do desenvolvedor para redes na nuvem](https://www.youtube.com/watch?v=i77D556lrgY)
+  [AWS re:Invent 2019: Conectividade à AWS e arquiteturas de rede na AWS híbridas](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [AWS re:Invent 2019: Otimizar a performance da rede para instâncias do Amazon EC2](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Summit Online: Melhorar a performance de rede global para aplicações](https://youtu.be/vNIALfLTW9M) 
+  [AWS re:Invent 2020: Dicas e práticas recomendadas de rede com o Well-Architected Framework](https://youtu.be/wOMNpG49BeM) 
+  [AWS re:Invent 2020: Práticas recomendadas de rede na AWS em migrações de grande escala](https://youtu.be/qCQvwLBjcbs) 

 **Exemplos relacionados:** 
+  [AWS Transit Gateway e soluções de segurança escaláveis](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Workshops de redes da AWS](https://networking.workshop.aws/) 
+ [Workshop prático de firewall de rede](https://catalog.us-east-1.prod.workshops.aws/workshops/d071f444-e854-4f3f-98c8-025fa0d1de2f/en-US)
+ [Observar e diagnosticar sua rede na AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/cf2ecaa4-e4be-4f40-b93f-e9fe3b1c1f64/en-US)
+ [Como encontrar e lidar com configurações de rede incorretas na AWS](https://validating-network-reachability.awssecworkshops.com/)

# PERF04-BP02 Avaliar os recursos de rede disponíveis
<a name="perf_networking_evaluate_networking_features"></a>

Avalie recursos de rede na nuvem que possam melhorar a performance. Meça o impacto desses recursos por meio de testes, métricas e análises. Por exemplo, utilize os recursos de rede disponíveis para reduzir a latência, a distância ou o jitter da rede.

 **Práticas comuns que devem ser evitadas:** 
+ Você permanece em uma região, pois é onde a sede da sua empresa ou organização está fisicamente localizada.
+ Você usa firewalls em vez de grupos de segurança para filtrar o tráfego.
+ Você quebra o TLS para inspeção de tráfego em vez de confiar em grupos de segurança, políticas de endpoint e outras funcionalidades nativas da nuvem.
+ Você só usa segmentação baseada em sub-rede em vez de grupos de segurança.

 **Benefícios de implementar esta prática recomendada:** avaliar todos os recursos e opções de serviços pode aumentar a performance da workload, reduzir o custo da infraestrutura, diminuir o esforço necessário para manter sua workload e aumentar sua postura geral de segurança. É possível utilizar o backbone global da AWS para garantir a experiência ideal de rede para os clientes. 

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

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

 A AWS oferece serviços como o [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) e o [Amazon CloudFront](https://aws.amazon.com/cloudfront/) que podem ajudar a melhorar a performance da rede, enquanto a maioria dos serviços da AWS tem recursos de produto (como o recurso [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/)) para otimizar o tráfego da rede. 

 Analise quais opções de configuração de rede estão disponíveis e como elas poderiam afetar a workload. A otimização da performance depende da compreensão de como essas opções interagem com sua arquitetura e do impacto que elas terão na performance medida e na experiência do usuário. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Crie uma lista de componentes da workload. 
  +  Considere usar a [WAN da Nuvem AWS](https://aws.amazon.com/cloud-wan/) para criar, gerenciar e monitorar a rede da sua organização ao criar uma rede global unificada. 
  +  Monitore suas redes globais e centrais com as [métricas do Amazon CloudWatch Logs](https://docs.aws.amazon.com/network-manager/latest/tgwnm/monitoring-cloudwatch-metrics.html). Utilize o [Amazon CloudWatch RUM](https://aws.amazon.com/about-aws/whats-new/2021/11/amazon-cloudwatch-rum-applications-client-side-performance/), que fornece insights para ajudar a identificar, entender e aprimorar a experiência digital dos usuários. 
  +  Visualize a latência agregada da rede entre as Regiões da AWS e as zonas de disponibilidade, bem como dentro de cada zona de disponibilidade, usando o [AWS Network Manager](https://aws.amazon.com/transit-gateway/network-manager/) para obter informações sobre como a performance da aplicação se relaciona com a performance da rede da AWS subjacente. 
  +  Use uma ferramenta existente de banco de dados de gerenciamento de configuração (CMDB) ou um serviço como o [AWS Config](https://aws.amazon.com/config/) para criar um inventário da sua workload e de como ela está configurada. 
+  Se for uma workload existente, identifique e documente a referência para suas métricas de performance, focando os gargalos e nas áreas de melhoria. As métricas de rede associadas à performance irão variar de acordo com a workload com base nos requisitos comerciais e nas características da workload. Como ponto de partida, a análise dessas métricas pode ser importante para sua workload: largura de banda, latência, perda de pacotes, jitter e retransmissões. 
+  Se essa for uma nova workload, realize [testes de carga](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para identificar gargalos de performance. 
+  Para os gargalos de performance que identificar, revise as opções de configuração para suas soluções a fim de identificar oportunidades de melhoria da performance. Confira os seguintes recursos de rede e opções importantes:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_networking_evaluate_networking_features.html)

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

 **Documentos relacionados:** 
+ [Application Load Balancer da](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)
+ [Rede avançada do EC2 no Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html)
+ [Rede avançada do EC2 no Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html)
+ [Grupos de posicionamento do EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
+ [Como habilitar a rede avançada com o Adaptador de Rede Elástica (ENA) em instâncias Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html)
+ [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html)
+ [Produtos de redes com a AWS](https://aws.amazon.com/products/networking/)
+ [Passar para o encaminhamento por latência no Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html)
+ [Endpoints da VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/concepts.html)
+ [Logs de fluxo da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: Pronto para o que vem a seguir? Desenvolver redes para crescimento e flexibilidade](https://www.youtube.com/watch?v=FkWOhTZSfdA) 
+  [AWS re:Invent 2023: Designs e novos recursos de VPCs avançadas](https://www.youtube.com/watch?v=cRdDCkbE4es) 
+  [AWS re:Invent 2023: Um guia do desenvolvedor para redes na nuvem](https://www.youtube.com/watch?v=i77D556lrgY) 
+  [AWS re:Invent 2022: Mergulho profundo na infraestrutura de rede da AWS](https://www.youtube.com/watch?v=HJNR_dX8g8c) 
+ [AWS re:Invent 2019: Conectividade à AWS e arquiteturas de rede na AWS híbridas](https://www.youtube.com/watch?v=eqW6CPb58gs)
+ [AWS re:Invent 2018: Otimizar a performance da rede para instâncias do Amazon EC2](https://www.youtube.com/watch?v=DWiwuYtIgu0)
+ [AWS Global Accelerator](https://www.youtube.com/watch?v=Docl4julOQw)

 **Exemplos relacionados:** 
+ [AWS Transit Gateway e soluções de segurança escaláveis](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions)
+ [Workshops de redes da AWS](https://catalog.workshops.aws/networking/en-US)
+  [Observar e diagnosticar sua rede](https://catalog.us-east-1.prod.workshops.aws/workshops/cf2ecaa4-e4be-4f40-b93f-e9fe3b1c1f64/en-US) 
+  [Como encontrar e lidar com configurações de rede incorretas na AWS](https://validating-network-reachability.awssecworkshops.com/) 

# PERF04-BP03 Escolher a conectividade dedicada ou VPN apropriada para a workload
<a name="perf_networking_choose_appropriate_dedicated_connectivity_or_vpn"></a>

 Quando a conectividade híbrida é necessária para conectar recursos on-premises e na nuvem, provisione a largura de banda adequada para atender aos requisitos de performance. Estime os requisitos de largura de banda e de latência para a workload híbrida. Esses números determinarão seus requisitos de dimensionamento. 

 **Práticas comuns que devem ser evitadas:** 
+  Avaliar somente as soluções de VPN para seus requisitos de criptografia de rede. 
+  Não avaliar as opções de backup ou de conectividade redundante. 
+  Não identificar todos os requisitos da workload (necessidades de criptografia, protocolo, largura de banda e tráfego). 

 **Benefícios de implementar esta prática recomendada:** selecionar e configurar soluções de conectividade apropriadas aumentará a confiabilidade da workload e maximizará a performance. A identificação dos requisitos da workload, o planejamento antecipado e a avaliação das soluções híbridas podem minimizar alterações dispendiosas da rede física e despesas operacionais, e aumentará seu tempo para geração de valor. 

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

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

 Desenvolva uma arquitetura de rede híbrida com base em seus requisitos de largura de banda. O [Direct Connect](https://aws.amazon.com/directconnect/) permite a você conectar sua rede on-premises de forma privada com a AWS. Isso é conveniente quando você precisa de largura de banda alta e baixa latência com performance consistente. Uma conexão VPN estabelece uma conexão segura via Internet. Ela é usada quando apenas uma conexão temporária é necessária, quando o custo é um fator ou como uma contingência enquanto se espera que uma conectividade de rede física resiliente seja estabelecida durante o uso do Direct Connect. 

 Se seus requisitos de largura de banda forem altos, considere vários serviços do Direct Connect ou de VPN. O tráfego pode ser balanceado entre os serviços, embora o balanceamento de carga entre o Direct Connect e a VPN não seja recomendado devido às diferenças de latência e largura de banda. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Calcule os requisitos de largura de banda e latência de suas aplicações existentes. 
  +  Para workloads existentes que estão sendo migradas para a AWS, utilize os dados de seus sistemas de monitoramento de rede internos. 
  +  Para workloads novas ou existentes para as quais não há dados de monitoramento, consulte os proprietários do produto para determinar métricas de performance adequadas e fornecer uma experiência do usuário satisfatória. 
+  Escolha uma conexão dedicada ou VPN como sua opção de conectividade. Com base em todos os requisitos da workload (necessidades de criptografia, largura de banda e tráfego), é possível escolher o AWS Direct Connect ou o [Site-to-Site VPN](https://aws.amazon.com/vpn/) (ou ambos). O diagrama a seguir ajudará você a escolher o tipo de conexão apropriada. 
  +  O [AWS Direct Connect](https://aws.amazon.com/directconnect/) fornece conectividade dedicada ao ambiente da AWS, de 50 Mbps a 100 Gbps, usando conexões dedicadas ou conexões hospedadas. Isso permite que você tenha latência gerenciada e controlada, além de largura de banda provisionada para que a workload possa se conectar de forma eficiente com outros ambientes. Com os parceiros do AWS Direct Connect, é possível ter conectividade completa para vários ambientes, fornecendo uma rede estendida com performance consistente. A AWS oferece ajuste de escala da largura de banda da conexão direta usando o grupo de agregação nativo (LAG) de 100 Gbps ou o BGP equal-cost multipath (ECMP). 
  +  A AWS [Site-to-Site VPN](https://aws.amazon.com/vpn/) fornece um serviço de VPN gerenciada compatível com o protocolo de segurança da internet (IPsec). Quando uma conexão VPN é criada, cada conexão VPN inclui dois túneis para alta disponibilidade. 
+  Siga a documentação da AWS para escolher uma opção de conectividade apropriada: 
  +  Se você decidir usar o Direct Connect, selecione a largura de banda apropriada para sua conectividade. 
  +  Se você estiver usando um AWS Site-to-Site VPN em vários locais para se conectar a uma Região da AWS, use uma [conexão do Site-to-Site VPN acelerada](https://docs.aws.amazon.com/vpn/latest/s2svpn/accelerated-vpn.html) para ter a oportunidade de melhorar a performance da rede. 
  +  Se o design da sua rede consistir em uma conexão VPN IPsec via [AWS Direct Connect](https://aws.amazon.com/directconnect/), considere usar uma VPN IP privada para melhorar a segurança e obter segmentação. [AWS Uma VPN IP privada site a site](https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-site-to-site-vpn-private-ip-vpns/) é implantada por meio da interface virtual de trânsito (VIF). 
  +  O [AWS Direct Connect SiteLink](https://aws.amazon.com/blogs/aws/new-site-to-site-connectivity-with-aws-direct-connect-sitelink/) permite criar conexões redundantes e de baixa latência entre seus data centers em todo o mundo, enviando dados pelo caminho mais rápido entre [locais do AWS Direct Connect](https://aws.amazon.com/directconnect/locations/), ignorando as Regiões da AWS. 
+  Valide sua configuração de conectividade antes de implantá-la na produção. Execute testes de segurança e performance para garantir que ela atenda aos requisitos de largura de banda, confiabilidade, latência e conformidade. 
+  Monitore regularmente a performance e o uso da conectividade e otimize, se necessário. 

![\[Um fluxograma que descreve as opções a serem consideradas ao determinar se você precisa de performance determinística nas suas redes ou não.\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/images/deterministic-networking-flowchart.png)


 

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

 **Documentos relacionados:** 
+ [Produtos de rede com a AWS](https://aws.amazon.com/products/networking/)
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)
+ [Endpoints da VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/concepts.html)
+  [Criar uma infraestrutura de rede da AWS escalável e segura com várias VPCs](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) 
+  [VPN do cliente](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: Criar conectividade de rede híbrida com a AWS](https://www.youtube.com/watch?v=Fi4me2vPwrQ) 
+  [AWS re:Invent 2023: Proteger a conectividade remota com a AWS](https://www.youtube.com/watch?v=yHEhrkGdnj0) 
+  [AWS re:Invent 2022: Otimizar a performance com o Amazon CloudFront](https://www.youtube.com/watch?v=LkyifXYEtrg) 
+ [AWS re:Invent 2019: Conectividade à AWS e arquiteturas de rede na AWS híbridas](https://www.youtube.com/watch?v=eqW6CPb58gs)
+  [AWS re:Invent 2020: Conectar ao AWS Transit Gateway](https://www.youtube.com/watch?v=_MPY_LHSKtM&t=491s) 

 **Exemplos relacionados:** 
+  [AWS Transit Gateway e soluções de segurança escaláveis](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Workshops de redes da](https://networking.workshop.aws/) 

# PERF04-BP04 Usar o balanceamento de carga para distribuir o tráfego em vários recursos
<a name="perf_networking_load_balancing_distribute_traffic"></a>

 Distribua o tráfego entre vários recursos e serviços para permitir que sua workload aproveite a elasticidade oferecida pela nuvem. Também é possível usar o balanceamento de carga para descarregar a terminação de criptografia a fim de melhorar a performance, a confiabilidade e gerenciar e rotear o tráfego de maneira eficaz. 

 **Práticas comuns que devem ser evitadas:** 
+  Você não considera os requisitos da workload ao escolher o tipo de balanceador de carga. 
+  Você não utiliza os recursos do balanceador de carga para otimização da performance. 
+  A workload é exposta diretamente à internet sem um balanceador de carga. 
+  Você roteia todo o tráfego da Internet por meio de balanceadores de carga existentes. 
+  Você usa o balanceamento de carga TCP genérico e faz com que cada nó de computação lide com a criptografia SSL. 

 **Benefícios de implementar esta prática recomendada:** um balanceador de carga lida com a carga variável do tráfego da sua aplicação em uma única zona de disponibilidade ou em várias zonas de disponibilidade e permite alta disponibilidade, ajuste de escala automático e melhor utilização da workload. 

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

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

 Os balanceadores de carga atuam como o ponto de entrada para sua workload, ponto a partir do qual distribuem o tráfego para seus destinos de backend, como instâncias de computação ou contêineres, para melhorar a utilização. 

 Escolher o tipo certo de balanceador de carga é a primeira etapa para otimizar sua arquitetura. Comece listando as características da workload, como protocolo (como TCP, HTTP, TLS ou WebSockets), o tipo de destino (como instâncias, contêineres ou tecnologia sem servidor), requisitos da aplicação (como conexões de execução longa, autenticação de usuários ou adesão) e posicionamento (como região, zona local, Outpost ou isolamento por zona). 

 A AWS fornece vários modelos para que suas aplicações usem o balanceamento de carga. O [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) é mais adequado para balanceamento de carga de tráfego HTTP e HTTPS e oferece roteamento de solicitação avançado direcionado para a entrega de arquiteturas de aplicações modernas, incluindo microsserviços e contêineres. 

 O [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) é mais adequado para o balanceamento de carga de tráfego TCP que exija performance extrema. Ele é capaz de processar milhões de solicitações por segundo enquanto mantém latências ultrabaixas, e também é otimizado para lidar com padrões de tráfego súbitos e voláteis. 

 O [Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/) oferece gerenciamento integrado de certificados e descriptografia SSL/TLS, o que proporciona a flexibilidade de gerenciar centralmente as configurações SSL do load balancer e descarregar de sua workload as interações com uso intenso de CPU. 

 Após escolher o balanceador de carga certo, você poderá começar a utilizar seus recursos para reduzir a quantidade de esforço que seu backend precisa fazer para atender o tráfego. 

 Por exemplo, ao usar tanto o Application Load Balancer (ALB) quanto o Network Load Balancer (NLB), é possível realizar o descarregamento de criptografia SSL/TLS, que é uma oportunidade de evitar que o handshake TLS com uso intenso da CPU seja concluído pelos destinos e também melhorar o gerenciamento de certificados. 

 Ao configurar o descarregamento de SSL/TLS no balanceador de carga, ele se torna responsável pela criptografia do tráfego de e para os clientes enquanto entrega o tráfego não criptografado aos backends, liberando os recursos de backend e melhorando o tempo de resposta para os clientes. 

 O Application Load Balancer também pode fornecer tráfego HTTP/2 sem precisar acomodá-lo em seus destinos. Essa simples decisão pode melhorar o tempo de resposta da aplicação, já que o HTTP/2 usa conexões TCP de forma mais eficiente. 

 Os requisitos de latência da workload devem ser considerados ao definir a arquitetura. Como exemplo, se você tiver uma aplicação sensível à latência, poderá decidir usar o Network Load Balancer, que oferece latências extremamente baixas. Como alternativa, você pode decidir aproximar a workload dos clientes utilizando o Application Load Balancer em [zonas locais da AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) ou mesmo no [AWS Outposts](https://aws.amazon.com/outposts/rack/). 

 Outra consideração para workloads sensíveis à latência é o balanceamento de carga entre zonas. Com o balanceamento de carga entre zonas, cada nó do balanceador de carga distribui o tráfego entre os destinos registrados em todas as Zonas de Disponibilidade habilitadas. 

 Use o Auto Scaling integrado ao balanceador de carga. Um dos principais aspectos de um sistema com performance eficiente está relacionado ao dimensionamento correto dos recursos de backend. Para fazer isso, é possível utilizar as integrações do balanceador de carga para os recursos de destino de backend. Ao usar a integração do balanceador de carga com os grupos do Auto Scaling, os destinos serão adicionados ou removidos do balanceador de carga conforme exigido em resposta ao tráfego recebido. Os balanceadores de carga também podem ser integrados ao [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) e ao [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html) para workloads em contêineres. 
+  [Amazon ECS: balanceamento de carga do serviço](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 
+  [Application Load Balancer no Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html) 
+  [Network Load Balancer no Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/network-load-balancing.html) 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Defina seus requisitos de balanceamento de carga, incluindo volume de tráfego, disponibilidade e escalabilidade de aplicações. 
+  Escolha o tipo certo de balanceador de carga para sua aplicação. 
  +  Use o Application Load Balancer para workloads HTTP/HTTPS. 
  +  Use o Network Load Balancer para workloads não HTTP executadas em TCP ou UDP. 
  +  Use uma combinação de ambos ([ALB como destino do NLB](https://aws.amazon.com/blogs/networking-and-content-delivery/application-load-balancer-type-target-group-for-network-load-balancer/)) se quiser aproveitar os recursos de ambos os produtos. Por exemplo, é possível fazer isso se você quiser usar os IPs estáticos do NLB junto com o roteamento baseado em cabeçalho HTTP do ALB, ou se quiser expor a workload HTTP em um [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html). 
  +  Para ver uma comparação completa dos balanceadores de carga, consulte a [comparação de produtos do ELB](https://aws.amazon.com/elasticloadbalancing/features/). 
+  Use o descarregamento de SSL/TLS, se possível. 
  +  Configure receptores HTTPS/TLS com o [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) e o [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html) integrados ao [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/). 
  +  Observe que algumas workloads podem exigir criptografia completa por motivos de conformidade. Nesse caso, é um requisito para permitir a criptografia nos destinos. 
  +  Para conhecer as práticas recomendadas de segurança, consulte [SEC09-BP02 Aplicar criptografia em trânsito](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_data_transit_encrypt.html). 
+  Escolha o algoritmo de roteamento certo (apenas ALB). 
  +  O algoritmo de roteamento pode fazer a diferença em como os destinos de backend são bem utilizados e, portanto, na forma como afetam a performance. Por exemplo, o ALB fornece [duas opções para algoritmos de roteamento](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#modify-routing-algorithm): 
  +  **Solicitações menos pendentes:** use para obter uma melhor distribuição de carga para seus destinos de backend em casos nos quais as solicitações para a aplicação variam em complexidade ou os destinos variam na capacidade de processamento. 
  +  **Round robin:** use quando as solicitações e os destinos forem semelhantes, ou se você precisar distribuir as solicitações igualmente entre os destinos. 
+  Considere isolamento por zona ou entre zonas. 
  +  Desative a opção entre zonas (isolamento por zona) para melhorias de latência e domínios com falha de zona. Ela é desativada por padrão no NLB e [é possível desativá-la por grupo-alvo no ALB](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/disable-cross-zone.html). 
  +  Ative a opção entre zonas para maior disponibilidade e flexibilidade. Ela é ativada por padrão no ALB e [é possível ativá-la por grupo-alvo no NLB](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-cross-zone.html). 
+  Ative as manutenções de funcionamento de HTTP para as workloads HTTP (apenas ALB). Com esse recurso, o balanceador de carga pode reutilizar as conexões de backend até expirar o tempo limite da manutenção de funcionamento, melhorando a solicitação HTTP e o tempo de resposta, além de reduzir a utilização de recursos nos destinos de backend. Para obter detalhes sobre como fazer isso para o Apache e o Nginx, consulte [Quais são as configurações ideais para usar o Apache ou o NGINX como servidor de backend para o ELB?](https://aws.amazon.com/premiumsupport/knowledge-center/apache-backend-elb/) 
+  Ative o monitoramento do balanceador de carga. 
  +  Ative os logs de acesso para seu [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html) e [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html). 
  +  Os principais campos a considerar para o ALB são `request_processing_time`, `request_processing_time` e `response_processing_time`. 
  +  Os principais campos a considerar para o NLB são `connection_time` e `tls_handshake_time`. 
  +  Esteja pronto para consultar os logs quando precisar deles. É possível usar o Amazon Athena para consultar tanto os [logs do ALB](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) quanto os [logs do NLB](https://docs.aws.amazon.com/athena/latest/ug/networkloadbalancer-classic-logs.html). 
  +  Crie alarmes para métricas relacionadas à performance, como [`TargetResponseTime` para ALB](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html). 

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

 **Documentos relacionados:** 
+  [Comparação de produtos de ELB](https://aws.amazon.com/elasticloadbalancing/features/) 
+  [Infraestrutura global da AWS](https://aws.amazon.com/about-aws/global-infrastructure/) 
+  [Melhorar a performance e reduzir os custos usando a afinidade de zona de disponibilidade](https://aws.amazon.com/blogs/architecture/improving-performance-and-reducing-cost-using-availability-zone-affinity/) 
+  [Passo a passo para a análise de logs com o Amazon Athena](https://github.com/aws/elastic-load-balancing-tools/tree/master/amazon-athena-for-elb) 
+  [Consultar logs do Application Load Balancer](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) 
+  [Monitorar seus Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-monitoring.html) 
+  [Monitorar os Network Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-monitoring.html) 
+  [Usar o Elastic Load Balancing para distribuir tráfego entre as instâncias no grupo do Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: O que rede pode fazer por sua aplicação?](https://www.youtube.com/watch?v=tUh26i8uY9Q) 
+  [AWS re:Inforce 20: Como usar o Elastic Load Balancing para melhorar seu procedimento de segurança em escala](https://www.youtube.com/watch?v=YhNc5VSzOGQ) 
+  [AWS re:Invent 2018: Mergulho profundo e práticas recomendadas do Elastic Load Balancing](https://www.youtube.com/watch?v=VIgAT7vjol8) 
+  [AWS re:Invent 2021: Como escolher o balanceador de carga certo para suas workloads da AWS](https://www.youtube.com/watch?v=p0YZBF03r5A) 
+  [AWS re:Invent 2019: Como aproveitar ao máximo o Elastic Load Balancing para diferentes workloads](https://www.youtube.com/watch?v=HKh54BkaOK0) 

 **Exemplos relacionados:** 
+  [Gateway Load Balancer](https://catalog.workshops.aws/gwlb-networking/en-US) 
+  [CDK e exemplos do CloudFormation para análise de logs com o Amazon Athena](https://github.com/aws/elastic-load-balancing-tools/tree/master/log-analysis-elb-cdk-cf-template) 

# PERF04-BP05 Escolher protocolos de rede para melhorar a performance
<a name="perf_networking_choose_network_protocols_improve_performance"></a>

 Tome decisões sobre protocolos de comunicação entre sistemas e redes com base no impacto na performance da workload. 

 Há uma relação entre latência e largura de banda para alcançar o throughput. Por exemplo, se a transferência de arquivos estiver usando TCP, latências mais altas provavelmente reduzirão o throughput geral. Existem abordagens para corrigir isso com ajuste de TCP e protocolos de transferência otimizados, mas uma solução é usar o protocolo UDP. 

 **Práticas comuns que devem ser evitadas:** 
+  Você usa TCP para todas as workloads, independentemente dos requisitos de performance. 

 **Benefícios de implementar esta prática recomendada:** verificar se um protocolo apropriado é usado para comunicação entre usuários e componentes da workload ajuda a melhorar a experiência geral do usuário para as aplicações. Por exemplo, o UDP sem conexão permite alta velocidade, mas não oferece retransmissão ou alta confiabilidade. O TCP é um protocolo completo, mas requer maior sobrecarga para processar os pacotes. 

 **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>

 Se você puder escolher protocolos diferentes para sua aplicação e tiver experiência nessa área, otimize sua aplicação e a experiência do usuário final usando um protocolo diferente. Observe que essa abordagem apresenta dificuldades significativas e só deve ser experimentada se você tiver otimizado sua aplicação de outras maneiras primeiro. 

 Uma consideração primária para melhorar a performance da workload é entender os requisitos de latência e throughput e escolher os protocolos de rede que otimizam essa performance. 

 **Quando considerar o uso do TCP** 

 O TCP oferece entrega de dados confiável e pode ser usado para comunicação entre componentes da workload em que a confiabilidade e a entrega garantida de dados é importante. Muitas aplicações baseadas na Web dependem de protocolos baseados em TCP, como HTTP e HTTPS, para abrir soquetes TCP para comunicação entre componentes da aplicação. As transferências de dados por e-mail e arquivo são aplicações comuns que também usam o TCP, pois é um mecanismo de transferência simples e confiável entre componentes de aplicações. Usar o TLS com TCP pode adicionar sobrecarga à comunicação, o que pode resultar em maior latência e redução de throughput, mas traz a vantagem da segurança. A sobrecarga vem principalmente da sobrecarga adicionada do processo de handshake, que pode exigir várias idas e voltas para ser concluído. Quando o handshake for concluído, a sobrecarga da criptografia e descriptografia de dados será relativamente pequena. 

 **Quando considerar o uso do UDP** 

 O UDP é um protocolo sem conexão e, portanto, é adequado para aplicações que precisam de uma transmissão rápida e eficiente, como log, monitoramento e dados de VoIP. Além disso, considere usar o UDP se você tiver componentes da workload que respondam a pequenas consultas de grandes números de clientes para garantir a performance ideal da workload. O Datagram Transport Layer Security (DTLS) é o equivalente UDP do Transport Layer Security (TLS). Ao usar DTLS com UDP, a sobrecarga vem da criptografia e descriptografia de dados, já que o processo de handshake é simplificado. O DTLS também adiciona uma pequena quantidade de sobrecarga aos pacotes de UDP, já que inclui campos adicionais para indicar os parâmetros de segurança e detectar violações. 

 **Quando considerar o uso do SRD** 

 O SRD (datagrama confiável escalável) é um protocolo de transporte de rede otimizado para workloads de alto throughput devido à sua capacidade de fazer o balanceamento de carga do tráfego em vários caminhos e de se recuperar rapidamente de quedas de pacote ou falhas no link. Assim, o SRD é melhor nos casos de workloads de computação de alta performance (HPC) que exigem comunicação de alto throughput e baixa latência entre os nós de computação. Isso pode incluir tarefas de processamento paralelas, como simulação, modelagem e análise de dados que envolvem grande quantidade de transferência de dados entre os nós. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Use os serviços [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) e [AWS Transfer Family](https://aws.amazon.com/aws-transfer-family/) para melhorar o throughput de suas aplicações de transferência de arquivos online. O serviço AWS Global Accelerator ajuda você a obter baixa latência entre os dispositivos cliente e a workload na AWS. Com o AWS Transfer Family, é possível usar protocolos baseados em TCP, como SFTP e FTPS, para escalar e gerenciar com segurança as transferências de arquivos para os serviços de armazenamento da AWS. 
+  Use a latência de rede para determinar se o TCP é adequado para comunicação entre os componentes da workload. Se a latência de rede entre a aplicação cliente e o servidor for alta, o handshake de três vias do TCP pode levar um tempo, afetando, assim, a capacidade de resposta da aplicação. Métricas como tempo até o primeiro byte (TTFB) e tempo de ida e volta (RTT) podem ser usadas para medir a latência da rede. Se sua workload serve conteúdo dinâmico para os usuários, considere usar o [Amazon CloudFront](https://aws.amazon.com/cloudfront/), que estabelece uma conexão persistente com cada origem de conteúdo dinâmico para remover o tempo de configuração da conexão que, de outra forma, diminuiria a velocidade de cada solicitação do cliente. 
+  Usar TLS com TCP ou UDP pode resultar em maior latência e menor throughput para a workload devido ao impacto da criptografia e descriptografia. Para workloads desse tipo, considere usar o descarregamento de SSL/TLS no [Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/) para melhorar a performance da workload, permitindo que o balanceador de carga lide com o processo de criptografia e descriptografia de SSL/TLS em vez de deixar que as instâncias de backend façam isso. Isso pode ajudar a reduzir a utilização da CPU nas instâncias de backend, o que pode melhorar a performance e aumentar a capacidade. 
+  Use o [Network Load Balancer (NLB)](https://aws.amazon.com/elasticloadbalancing/network-load-balancer/) para implantar serviços que dependem do protocolo UDP, como autenticação e autorização, registro em log, DNS, IoT e mídia de streaming, visando melhorar a performance e a confiabilidade da workload. O NLB distribui o tráfego de UDP de entrada em vários destinos, permitindo escalar a workload horizontalmente, aumentar a capacidade e reduzir a sobrecarga de um único destino. 
+  Para suas workloads de computação de alta performance (HPC), considere usar a funcionalidade de [Adaptador de Rede Elástica (ENA) Express](https://aws.amazon.com/about-aws/whats-new/2022/11/elastic-network-adapter-ena-express-amazon-ec2-instances/), que usa o protocolo SRD para melhorar a performance da rede, fornecendo uma maior largura de banda de fluxo único (25 Gbps) e menor latência final (99,9 percentil) para tráfego de rede entre instâncias do EC2. 
+  Use o [Application Load Balancer (ALB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) para rotear e balancear a carga do tráfego de gRPC (Chamadas de procedimento remoto) entre os componentes da workload ou entre os serviços e clientes com gRPC habilitadas. As gRPC usam o protocolo HTTP/2 baseado em TCP para transporte e oferece benefícios de performance, como pegada de rede mais leve, compactação, serialização binária eficiente, suporte para várias linguagens e streaming bidirecional. 

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

 **Documentos relacionados:** 
+  [Como rotear tráfego UDP para o Kubernetes](https://aws.amazon.com/blogs/containers/how-to-route-udp-traffic-into-kubernetes/) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Rede avançada do EC2 no Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Rede avançada do EC2 no Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Grupos de posicionamento do EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Como habilitar a rede avançada com o Adaptador de Rede Elástica (ENA) em instâncias Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Produtos de redes com a AWS](https://aws.amazon.com/products/networking/) 
+  [Passar para o encaminhamento por latência no Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Endpoints da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2022: Escalar a performance da rede em instâncias do Amazon Elastic Compute Cloud de última geração](https://www.youtube.com/watch?v=jNYpWa7gf1A) 
+  [AWS re:Invent 2022: Fundamentos de rede das aplicações](https://www.youtube.com/watch?v=WcZwWuq6FTk) 

 **Exemplos relacionados:** 
+  [AWS Transit Gateway e soluções de segurança escaláveis](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Workshops de redes da AWS](https://networking.workshop.aws/) 

# PERF04-BP06 Escolher o local da workload com base nos requisitos de rede
<a name="perf_networking_choose_workload_location_network_requirements"></a>

Avalie as opções para o posicionamento de recursos visando reduzir a latência da rede e melhorar o throughput, proporcionando uma ótima experiência do usuário ao reduzir os tempos de carregamento da página e de transferência de dados.

 **Práticas comuns que devem ser evitadas:** 
+  Consolidar todos os recursos da workload em uma única localização geográfica. 
+  Escolher a região mais próxima ao seu local, mas não ao usuário final da workload. 

 **Benefícios de implementar esta prática recomendada:** a experiência do usuário é muito afetada pela latência entre o usuário e sua aplicação. Ao usar Regiões da AWS adequadas e a rede global privada da AWS, é possível reduzir a latência e oferecer uma melhor experiência aos usuários remotos. 

 **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>

 Recursos, como instâncias do Amazon EC2, são colocados em zonas de disponibilidade em [Regiões da AWS](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [zonas locais da AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/), [AWS Outposts](https://aws.amazon.com/outposts/) ou zonas do [AWS Wavelength](https://aws.amazon.com/wavelength/). A escolha desse local influencia o throughput e a latência da rede de determinado local do usuário. Serviços de borda como o [Amazon CloudFront](https://aws.amazon.com/cloudfront/) e o [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) também podem ser usados para melhorar a performance da rede, seja armazenando o conteúdo em cache nos locais da borda ou oferecendo aos usuários um ótimo caminho para a workload por meio da rede global da AWS. 

 O Amazon EC2 oferece grupos de posicionamento para redes. Um grupo de posicionamento é um agrupamento lógico de instâncias para diminuir a latência. O uso de grupos de posicionamento com tipos de instância compatíveis e um Adaptador de Rede Elástica (ENA) permite que as workloads participem de uma rede de baixa latência e com jitter reduzido e de 25 Gbps. Recomenda-se o uso de grupos de posicionamento para workloads que se beneficiam de baixa latência de rede, alto throughput de rede ou ambos. 

 Serviços sensíveis à latência são fornecidos em locais de borda usando uma rede global da AWS, como o [Amazon CloudFront](https://aws.amazon.com/cloudfront/). Esses locais de borda costumam oferecer serviços, como rede de entrega de conteúdo (CDN) e sistema de nomes de domínio (DNS). Ao ter esses serviços na borda, as workloads podem responder com baixa latência a solicitações de conteúdo ou resolução de DNS. Esses serviços também fornecem serviços geográficos, como direcionamento geográfico de conteúdo (fornecendo conteúdo diferente conforme o local do usuário final) ou encaminhamento por latência para direcionar os usuários finais à região mais próxima (latência mínima). 

 Use serviços de borda para reduzir a latência e possibilitar o armazenamento do conteúdo em cache. Configure corretamente o controle de cache para DNS e HTTP/HTTPS a fim de aproveitar ao máximo essas abordagens. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Capture informações sobre o tráfego IP que entra e sai das interfaces de rede. 
  + [Como registrar tráfego IP em log com Logs de fluxo da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)
  + [Como o endereço IP do cliente é preservado no AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.headers.html)
+  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 o [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) e o [AWS CloudTrail](https://aws.amazon.com/cloudtrail/), para coletar dados sobre atividades de 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: 
  +  **Onde seus dados estão localizados:** 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. 
  +  **Onde seus usuários estão localizados**: para aplicações voltadas ao usuário, escolha uma ou mais regiões perto dos clientes da workload. 
  +  **Outras restrições:** considere 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 [zonas locais da AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) para executar workloads como renderização de vídeo. As zonas locais permitem que você se beneficie de ter recursos de computação e armazenamento mais próximos dos usuários finais. 
+  Use o [AWS Outposts](https://aws.amazon.com/outposts/) para workloads que precisam permanecer on-premises e onde você deseja que essa workload seja executada ininterruptamente com o restante de suas workloads na AWS. 
+  Aplicações como streaming de vídeo ao vivo em alta resolução, áudio de alta fidelidade ou realidade aumentada/realidade virtual (RA/RV) exigem latência ultrabaixa para dispositivos 5G. Para aplicações desse tipo, considere o [AWS Wavelength](https://aws.amazon.com/wavelength/). O AWS Wavelength incorpora serviços de armazenamento e computação da AWS em redes 5G, fornecendo a infraestrutura móvel de computação de borda para desenvolver, implantar e escalar aplicações de latência ultrabaixa. 
+  Use o armazenamento em cache local ou [soluções de armazenamento em cache da AWS](https://aws.amazon.com/caching/aws-caching/) para dados usados com frequência a fim de aumentar a performance, reduzir a movimentação de dados e diminuir o impacto ambiental.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_networking_choose_workload_location_network_requirements.html)
+  Use serviços que podem ajudar você a executar código mais perto dos usuários da workload, como a seguir:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_networking_choose_workload_location_network_requirements.html)
+  Algumas aplicações exigem pontos de entrada fixos ou maior performance ao reduzir o jitter e a latência de primeiro byte, além de aumentar o throughput. Essas aplicações podem se beneficiar de serviços de rede que fornecem endereços IP anycast estáticos e terminação TCP em locais da borda. O [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) pode melhorar a performance das suas aplicações em até 60% e fornecer failover rápido para arquiteturas multirregiões. O AWS Global Accelerator fornece endereços IP anycast estáticos que servem como um ponto de entrada fixo para suas aplicações hospedadas em uma ou mais Regiões da AWS. Esses endereços IP permitem que o tráfego entre na rede global da AWS o mais próximo possível dos usuários. O AWS Global Accelerator reduz o tempo de configuração da conexão inicial ao estabelecer uma conexão TCP entre o cliente e o local da borda da AWS mais próximo ao cliente. Analise o uso do AWS Global Accelerator para melhorar a performance das workloads de TCP/UDP e forneça failover rápido para arquiteturas de várias Regiões. 

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

 **Práticas recomendadas relacionadas:** 
+ [COST07-BP02 Implementar regiões com base nos custos](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_pricing_model_region_cost.html)
+ [COST08-BP03 Implementar serviços para reduzir custos de transferência de dados](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_data_transfer_implement_services.html)
+ [REL10-BP01 Implantar a workload em vários locais](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_fault_isolation_multiaz_region_system.html)
+ [REL10-BP02 Escolher os locais apropriados para sua implantação de vários locais](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_fault_isolation_select_location.html)
+ [SUS01-BP01 Escolher a região com base nos requisitos empresariais e nas metas de sustentabilidade](https://docs.aws.amazon.com/wellarchitected/latest/framework/sus_sus_region_a2.html)
+ [SUS02-BP04 Otimizar o posicionamento geográfico das workloads com base nos respectivos requisitos de rede](https://docs.aws.amazon.com/wellarchitected/latest/framework/sus_sus_user_a5.html)
+ [SUS04-BP07 Minimizar a movimentação de dados entre redes](https://docs.aws.amazon.com/wellarchitected/latest/framework/sus_sus_data_a8.html)

 **Documentos relacionados:** 
+ [Infraestrutura global da AWS](https://aws.amazon.com/about-aws/global-infrastructure/)
+ [Zonas locais da AWS e AWS Outposts: como escolher a tecnologia certa para sua workload de borda)](https://aws.amazon.com/blogs/compute/aws-local-zones-and-aws-outposts-choosing-the-right-technology-for-your-edge-workload/)
+ [Grupos de posicionamento](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
+ [Zonas locais da AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/)
+ [AWS Outposts](https://aws.amazon.com/outposts/)
+ [AWS Wavelength](https://aws.amazon.com/wavelength/)
+ [Amazon CloudFront](https://aws.amazon.com/cloudfront/)
+ [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/)
+ [AWS Direct Connect](https://aws.amazon.com/directconnect/)
+ [AWS Site-to-Site VPN](https://aws.amazon.com/vpn/site-to-site-vpn/)
+ [Amazon Route 53](https://aws.amazon.com/route53/)

 **Vídeos relacionados:** 
+ [Vídeo explicativo de zonas locais da AWS](https://www.youtube.com/watch?v=JHt-D4_zh7w)
+ [Visão geral do AWS Outposts e como ele funciona](https://www.youtube.com/watch?v=ppG2FFB0mMQ)
+ [AWS re:Invent 2023: Uma estratégia de migração para workloads periféricas e on-premises](https://www.youtube.com/watch?v=4wUXzYNLvTw)
+ [AWS re:Invent 2021: AWS Outposts: como trazer a experiência da AWS para ambientes on-premises](https://www.youtube.com/watch?v=FxVF6A22498)
+ [AWS re:Invent 2020: AWS Wavelength: executar aplicações com latência ultrabaixa na borda 5G](https://www.youtube.com/watch?v=AQ-GbAFDvpM)
+ [AWS re:Invent 2022: Zonas locais da AWS: como criar aplicações para uma borda distribuída](https://www.youtube.com/watch?v=bDnh_d-slhw)
+ [AWS re:Invent 2021: Criar sites de baixa latência com o Amazon CloudFront](https://www.youtube.com/watch?v=9npcOZ1PP_c)
+ [AWS re:Invent 2022: Aprimorar a performance e a disponibilidade com o AWS Global Accelerator](https://www.youtube.com/watch?v=s5sjsdDC0Lg)
+ [AWS re:Invent 2022: Criar sua rede de longa distância usando a AWS](https://www.youtube.com/watch?v=flBieylTwvI)
+ [AWS re:Invent 2020: Gerenciamento de tráfego global com o Amazon Route 53](https://www.youtube.com/watch?v=E33dA6n9O7I)

 **Exemplos relacionados:** 
+ [Workshop de roteamento personalizado no AWS Global Accelerator](https://catalog.us-east-1.prod.workshops.aws/workshops/ac213084-3f4a-4b01-9835-5052d6096b5b/en-US)
+ [Como lidar com reescritas e redirecionamentos usando funções da borda](https://catalog.us-east-1.prod.workshops.aws/workshops/814dcdac-c2ad-4386-98d5-27d37bb77766/en-US)

# PERF04-BP07 Otimizar a configuração da rede com base em métricas
<a name="perf_networking_optimize_network_configuration_based_on_metrics"></a>

 Use dados coletados e analisados para tomar decisões bem informadas sobre a otimização da configuração da rede. 

 **Práticas comuns que devem ser evitadas:** 
+  Pressupor que todos os problemas relacionados à performance são relacionados à aplicação. 
+  Testar a performance da rede a partir de um local próximo ao local em que a workload foi implantada. 
+  Usar configurações-padrão para todos os serviços de rede. 
+  Provisionar em excesso recursos de rede para fornecer capacidade suficiente. 

 **Benefícios de implementar esta prática recomendada:** coletar as métricas necessárias da rede da AWS e implementar ferramentas de monitoramento de rede permite entender a performance da rede e otimizar as respectivas configurações. 

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

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

 Monitorar o tráfego de entrada e saída das VPCs, sub-redes ou interfaces de rede é fundamental para entender como utilizar os recursos de rede da AWS e otimizar as configurações da rede. Ao usar as ferramentas de rede da AWS a seguir, é possível verificar mais informações sobre o uso do tráfego, o acesso à rede e os logs. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Identifique as principais métricas de performance, como latência ou perda de pacotes. A AWS fornece diversas ferramentas que podem ajudar você a coletar essas métricas. Ao usar as ferramentas a seguir, é possível verificar mais informações sobre o uso do tráfego, o acesso à rede e os logs:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_networking_optimize_network_configuration_based_on_metrics.html)
+  Identifique os principais interlocutores e os padrões de tráfego de aplicações usando VPC e logs de fluxo do AWS Transit Gateway. 
+  Avalie e otimize sua arquitetura de rede atual, incluindo VPCs, sub-redes e roteamento. Como exemplo, você pode avaliar como diferentes emparelhamentos de VPC ou AWS Transit Gateway podem ajudar a melhorar a rede em sua arquitetura. 
+  Avalie os caminhos de roteamento em sua rede para verificar se o caminho mais curto entre os destinos é sempre usado. O Analisador de Acesso à Rede pode ajudar a fazer isso. 

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

 **Documentos relacionados:** 
+  [Log de consultas ao DNS público](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) 
+  [O que é IPAM?](https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html) 
+  [O que é o Reachability Analyzer?](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html) 
+  [O que é o Analisador de Acesso à Rede?](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-network-access-analyzer.html) 
+  [Métricas do CloudWatch para suas VPCs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cloudwatch.html) 
+  [Otimizar a performance e reduzir os custos de análise de rede com os Logs de fluxo da VPC no formato Apache Parquet](https://aws.amazon.com/blogs/big-data/optimize-performance-and-reduce-costs-for-network-analytics-with-vpc-flow-logs-in-apache-parquet-format/) 
+  [Monitorar suas redes global e básica com métricas do Amazon CloudWatch](https://docs.aws.amazon.com/vpc/latest/tgwnm/monitoring-cloudwatch-metrics.html) 
+  [Monitorar continuamente o tráfego e os recursos da rede](https://docs.aws.amazon.com/whitepapers/latest/security-best-practices-for-manufacturing-ot/continuously-monitor-network-traffic-and-resources.html) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2023: Um guia do desenvolvedor para redes na nuvem](https://www.youtube.com/watch?v=i77D556lrgY) 
+  [AWS re:Invent 2023: Pronto para o que vem a seguir? Desenvolver redes para crescimento e flexibilidade](https://www.youtube.com/watch?v=FkWOhTZSfdA) 
+  [AWS re:Invent 2023: Designs e novos recursos de VPCs avançadas](https://www.youtube.com/watch?v=cRdDCkbE4es) 
+  [AWS re:Invent 2022: Mergulho profundo na infraestrutura de rede da AWS](https://www.youtube.com/watch?v=HJNR_dX8g8c) 
+  [AWS re:Invent 2020: Dicas e práticas recomendadas de rede com o AWS Well-Architected Framework](https://www.youtube.com/watch?v=wOMNpG49BeM) 
+  [AWS re:Invent 2020: Monitorar e solucionar problemas de tráfego de rede](https://www.youtube.com/watch?v=Ed09ReWRQXc) 

 **Exemplos relacionados:** 
+  [Workshops de redes da AWS](https://networking.workshop.aws/) 
+  [Monitoramento de rede da AWS](https://github.com/aws-samples/monitor-vpc-network-patterns) 
+  [Observar e diagnosticar sua rede na AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/cf2ecaa4-e4be-4f40-b93f-e9fe3b1c1f64/en-US) 
+  [Como encontrar e lidar com configurações de rede incorretas na AWS](https://validating-network-reachability.awssecworkshops.com/) 

# Processo e cultura
<a name="a-process-culture"></a>

**Topics**
+ [PERF 5. Como suas práticas e cultura organizacionais contribuem para a eficiência de performance em sua workload?](perf-05.md)

# PERF 5. Como suas práticas e cultura organizacionais contribuem para a eficiência de performance em sua workload?
<a name="perf-05"></a>

 Ao arquitetar workloads, há princípios e práticas que você pode adotar para ajudar na melhor execução de workloads na nuvem eficientes e de alta performance. Para adotar uma cultura que promova a eficiência de performance das workloads na nuvem, considere estes princípios e práticas fundamentais: 

**Topics**
+ [PERF05-BP01 Estabelecer indicadores-chave de performance (KPIs) para medir a integridade e a performance da workload](perf_process_culture_establish_key_performance_indicators.md)
+ [PERF05-BP02 Usar soluções de monitoramento para entender as áreas em que a performance é mais crítica](perf_process_culture_use_monitoring_solutions.md)
+ [PERF05-BP03 Definir um processo para melhorar a performance da workload](perf_process_culture_workload_performance.md)
+ [PERF05-BP04 Fazer o teste de carga da workload](perf_process_culture_load_test.md)
+ [PERF05-BP05 Usar automação para corrigir proativamente problemas relacionados a performance](perf_process_culture_automation_remediate_issues.md)
+ [PERF05-BP06 Manter a workload e os serviços atualizados](perf_process_culture_keep_workload_and_services_up_to_date.md)
+ [PERF05-BP07 Revisar as métricas regularmente](perf_process_culture_review_metrics.md)

# PERF05-BP01 Estabelecer indicadores-chave de performance (KPIs) para medir a integridade e a performance da workload
<a name="perf_process_culture_establish_key_performance_indicators"></a>

 Identifique os KPIs que medem a performance da workload de forma quantitativa e qualitativa. Os KPIs ajudam você a medir a integridade e a performance de uma workload relacionada a uma meta empresarial. 

 **Práticas comuns que devem ser evitadas:** 
+  Monitorar as métricas somente no nível do sistema para obter informações da workload e não compreende aos impactos dessas métricas nos negócios. 
+  Pressupor que os KPIs já estejam publicados e compartilhados como dados de métricas comuns. 
+  Não definir um KPI quantitativo e mensurável. 
+  Não alinhar os KPIs às metas ou estratégias empresariais. 

 **Benefícios de implementar esta prática recomendada:** identificar KPIs específicos que representam a integridade e a performance da workload ajuda a alinhar as equipes em suas prioridades e a definir resultados empresariais bem-sucedidos. O compartilhamento dessas métricas com todos os departamentos fornece visibilidade e alinhamento dos limites, das expectativas e do impacto nos negócios. 

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

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

 Os KPIs permitem que as empresas e as equipes de engenharia alinhem a medição das metas e estratégias de como esses fatores são combinados para produzir resultados comerciais. Por exemplo, a workload de um site pode usar o tempo de carregamento da página como uma indicação da performance geral. Essa métrica seria um dos vários pontos de dados que medem a experiência do usuário. Além de identificar os limites do tempo de carregamento da página, documente o resultado esperado ou o risco da empresa se a performance ideal não for atingida. Um longo tempo de carregamento da página afeta diretamente os usuários finais, diminui a classificação da experiência do usuário e pode resultar em perda de clientes. Ao definir os limites dos KPIs, combine os testes comparativos do setor e as expectativas dos usuários finais. Por exemplo, se o teste comparativo do setor aplicável for o carregamento de uma página da Web em dois segundos, mas os usuários finais esperarem que uma página da Web seja carregada em um segundo, você deverá pensar nos dois pontos de dados ao estabelecer o KPI. 

 Sua equipe deve avaliar os KPIs da workload usando dados detalhados em tempo real e dados históricos para referência e criar painéis que calculem as métricas nos dados de KPI para derivar informações operacionais e de utilização. Os KPIs devem ser documentados e incluir limites que apoiem as metas e estratégias empresariais, bem como mapeados de acordo com as métricas que estão sendo monitoradas. Os KPIs devem ser revisitados quando as metas e as estratégias da empresa ou os requisitos dos usuários finais mudam.   

## Etapas de implementação
<a name="implementation-steps"></a>
+ **Identifique as partes interessadas:** identifique e documente as principais partes interessadas da empresa, incluindo as equipes de desenvolvimento e operações. 
+ **Defina objetivos:** trabalhe com essas partes interessadas para definir e documentar os objetivos da workload. Considere os aspectos críticos de performance das workloads, como throughput, tempo de resposta e custo, bem como as metas de negócios, como a satisfação dos usuários. 
+ **Revise as práticas recomendadas do setor:** revise as práticas recomendadas do setor para identificar KPIs relevantes alinhados aos objetivos da workload. 
+  **Identifique métricas:** identifique métricas que estejam alinhadas aos objetivos da sua workload e possam ajudar a medir a performance e as metas de negócios. Estabeleça KPIs com base nessas métricas. Exemplos de métricas são tempo médio de resposta, número de usuários simultâneos, entre outras. 
+ **Defina e documente KPIs:** use as práticas recomendadas do setor e os objetivos da workload para definir metas de KPI da workload. Use essas informações para definir limites de KPI no nível de gravidade ou de alarme. Identifique e documente o risco e o impacto no caso de um KPI não ser atendido. 
+ **Implemente monitoramento:** use ferramentas de monitoramento como o [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) ou o [AWS Config](https://aws.amazon.com/config/) para coletar métricas e medir KPIs. 
+ **Divulgar os KPIs visualmente:** use ferramentas de painel como o [Amazon Quick](https://aws.amazon.com/pm/quicksight/) para visualizar e divulgar os KPIs para as partes interessadas. 
+ **Analise e otimize:** revise e analise regularmente as métricas para identificar áreas da workload que precisam ser aprimoradas. Trabalhe com as partes interessadas para implementar essas melhorias. 
+ **Revise e refine:** revise regularmente as métricas e os KPIs para avaliar sua eficácia, especialmente quando as metas de negócios ou a performance da workload mudam. 

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

 **Documentos relacionados:** 
+  [Documentação do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [AWS Partners de monitoramento, registro em log e performance](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+ [Ferramentas de observabilidade da AWS](https://docs.aws.amazon.com/wellarchitected/latest/management-and-governance-guide/aws-observability-tools.html)
+ [A importância dos indicadores-chave de performance (KPIs) para migrações para a nuvem em grande escala](https://aws.amazon.com/blogs/mt/the-importance-of-key-performance-indicators-kpis-for-large-scale-cloud-migrations/)
+ [Como rastrear KPIs de otimização de custos com o painel de KPI](https://aws.amazon.com/blogs/aws-cloud-financial-management/how-to-track-your-cost-optimization-kpis-with-the-kpi-dashboard/)
+  [Documentação do X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Usar painéis do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html?ref=wellarchitected) 
+  [KPIs do Quick](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: Otimizar custos e performance e rastrear o progresso rumo à mitigação](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2023: Gerenciar eventos do ciclo de vida dos recursos em grande escala com o AWS Health](https://www.youtube.com/watch?v=VoLLNL5j9NA)
+ [AWS re:Invent 2023: Performance e eficiência no Pinterest: otimizando as instâncias mais recentes](https://www.youtube.com/watch?v=QSudpowE_Hs)
+ [AWS re:Invent 2022: Otimização da AWS: etapas acionáveis para resultados imediatos ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)
+ [AWS re:Invent 2023: Criar uma estratégia efetiva de observabilidade ](https://www.youtube.com/watch?v=7PQv9eYCJW8)
+ [AWS Summit SF 2022: Observabilidade full-stack e monitoramento de aplicações com a AWS](https://www.youtube.com/watch?v=or7uFFyHIX0)
+ [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 2022: Como a Amazon usa métricas melhores para aprimorar a performance de sites ](https://www.youtube.com/watch?v=_uaaCiyJCFA)
+ [Criar uma estratégia de métricas eficaz para sua empresa \$1 Eventos da AWS](https://www.youtube.com/watch?v=zBO-K4RvbtM)

 **Exemplos relacionados:** 
+  [Criar um painel com o Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 

# PERF05-BP02 Usar soluções de monitoramento para entender as áreas em que a performance é mais crítica
<a name="perf_process_culture_use_monitoring_solutions"></a>

 Entenda e identifique áreas em que aumentar a performance de sua workload causará um impacto positivo sobre a eficiência ou a experiência do cliente. Por exemplo, um site que tenha muita interação com o cliente se beneficiaria do uso de serviços de borda para aproximar a entrega de conteúdo dos clientes. 

 **Práticas comuns que devem ser evitadas:** 
+  Você pressupõe que as métricas de computação padrão, como utilização de CPU ou pressão de memória, são suficientes para detectar problemas de performance. 
+  Você só usa as métricas comuns registradas pelo software de monitoramento selecionado. 
+  Você só revisa as métricas quando há um problema. 

 **Benefícios de implementar esta prática recomendada:** compreender áreas críticas de performance ajuda os proprietários de workloads a monitorar KPIs e priorizar melhorias de alto impacto. 

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

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

 Configure um rastreamento completo para identificar padrões de tráfego, latência e áreas de performance críticas. Monitore os padrões de acesso aos dados para consultas lentas ou dados particionados e fragmentados incorretamente. Identifique as áreas de restrição da workload usando o teste ou monitoramento de carga. 

 Aumente a eficiência de performance entendendo sua arquitetura, os padrões de tráfego e os padrões de acesso aos dados, além de identificar os tempos de latência e processamento. Identifique possíveis gargalos que possam afetar a experiência do cliente com o crescimento da workload. Depois de investigar essas áreas, veja qual solução você pode implantar para eliminar esses problemas de performance. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Configure um monitoramento completo para capturar todos os componentes e as métricas da workload. Aqui estão alguns exemplos de soluções de monitoramento na AWS.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/framework/perf_process_culture_use_monitoring_solutions.html)
+  Realize testes para gerar métricas, identificar padrões de tráfego, gargalos e áreas de performance críticas. Aqui estão alguns exemplos de como realizar testes: 
  +  Configure os [CloudWatch Synthetic Canaries](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) para imitar programaticamente as atividades do usuário baseadas no navegador usando trabalhos cron do Linux ou expressões rate para gerar métricas consistentes ao longo do tempo. 
  +  Use a solução [AWS Distributed Load Testing](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para gerar tráfego de pico ou testar a workload na taxa de crescimento esperada. 
+  Avalie as métricas e a telemetria para identificar as áreas de performance críticas. Avalie essas áreas com sua equipe para discutir sobre o monitoramento e as soluções visando evitar gargalos. 
+  Experimente com melhorias de performance e meça essas alterações com dados. Como exemplo, você pode usar o [CloudWatch Evidently](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently.html) para testar novas melhorias e impactos de performance em sua workload. 

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

 **Documentos relacionados:** 
+ [Novidades no AWS Observability na re:Invent 2023](https://aws.amazon.com/blogs/mt/whats-new-in-aws-observability-at-reinvent-2023/)
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Documentação do X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: [LANÇAMENTO] Monitoramento de aplicações para workloads modernas ](https://www.youtube.com/watch?v=T2TovTLje8w)
+ [AWS re:Invent 2023: Como implementar a observabilidade de aplicações ](https://www.youtube.com/watch?v=IcTcwUSwIs4)
+ [AWS re:Invent 2023: Criar uma estratégia efetiva de observabilidade ](https://www.youtube.com/watch?v=7PQv9eYCJW8)
+ [AWS Summit SF 2022: Observabilidade full-stack e monitoramento de aplicações com a AWS](https://www.youtube.com/watch?v=or7uFFyHIX0)
+ [AWS re:Invent 2022: Otimização da AWS: etapas acionáveis para resultados imediatos ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)
+  [AWS re:Invent 2022: Amazon Builders' Library: 25 anos de excelência operacional da Amazon](https://www.youtube.com/watch?v=DSRhgBd_gtw) 
+ [AWS re:Invent 2022: Como a Amazon usa métricas melhores para aprimorar a performance de sites ](https://www.youtube.com/watch?v=_uaaCiyJCFA)
+  [Monitoramento visual de aplicações com o Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=_PCs-ucZz7E) 

 **Exemplos relacionados:** 
+  [Medir o tempo de carregamento da com o Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Cliente Web do Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 
+  [X-Ray SDK para Python](https://github.com/aws/aws-xray-sdk-python) 
+  [Teste de carga distribuída na AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF05-BP03 Definir um processo para melhorar a performance da workload
<a name="perf_process_culture_workload_performance"></a>

 Defina um processo para avaliar novos serviços, padrões de design, tipos de recursos e configurações à medida que eles se tornam disponíveis. Por exemplo, execute testes de performance existentes em novas ofertas de instância para determinar o potencial delas de aprimorar sua workload. 

 **Práticas comuns que devem ser evitadas:** 
+  Você pressupõe que sua arquitetura atual é estática e não será atualizada ao longo do tempo. 
+  Você apresenta alterações de arquitetura ao longo do tempo sem justificativa de métrica. 

 **Benefícios de implementar esta prática recomendada:** ao definir seu processo para fazer alterações de arquitetura, é possível usar os dados coletados para influenciar o projeto da workload ao longo do tempo. 

 **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 performance da sua workload tem algumas restrições importantes. Guarde essas restrições para saber que tipos de inovação podem aumentar a performance da sua workload. Use essas informações enquanto estiver aprendendo sobre novos serviços ou tecnologias à medida que surgem e identificar maneiras de reduzir restrições ou gargalos. 

 Identifique as principais restrições de performance da workload. Documente suas restrições de performance da workload para que você saiba quais tipos de inovação podem aprimorar a performance da workload. 

### Etapas de implementação
<a name="implementation-steps"></a>
+ **Identifique os KPIs:** identifique os KPIs de performance da workload conforme descrito em [PERF05-BP01 Estabelecer indicadores-chave de performance (KPIs) para medir a integridade e a performance da workload](perf_process_culture_establish_key_performance_indicators.md) para definir sua workload. 
+ **Implemente monitoramento:** use [ferramentas de observabilidade da AWS](https://docs.aws.amazon.com/wellarchitected/latest/management-and-governance-guide/aws-observability-tools.html) para coletar métricas de performance e medir KPIs. 
+ **Analise:** faça uma análise aprofundada para identificar as áreas (como configuração e código da aplicação) na workload que apresentam baixa performance, conforme descrito em [PERF05-BP02 Usar soluções de monitoramento para entender as áreas em que a performance é mais crítica](perf_process_culture_use_monitoring_solutions.md). Use suas ferramentas de análise e performance para identificar as estratégias de melhoria de performance. 
+ **Valide as melhorias:** use ambientes de sandbox ou de pré-produção para validar a eficácia das estratégias de aperfeiçoamento. 
+ **Implemente mudanças:** implemente as mudanças na produção e monitore constantemente a performance da workload. Documente as melhorias e comunique as mudanças às partes interessadas. 
+ **Revise e refine:** revise regularmente seu processo de melhoria de performance para identificar áreas a serem aprimoradas. 

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

 **Documentos relacionados:** 
+  [AWS Blog da](https://aws.amazon.com/blogs/) 
+  [Novidades da AWS](https://aws.amazon.com/new/?ref=wellarchitected) 
+  [AWS Skill Builder](https://explore.skillbuilder.aws/learn) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2022: Como entregar arquiteturas sustentáveis e de alta performance](https://www.youtube.com/watch?v=FBc9hXQfat0)
+ [AWS re:Invent 2023: Otimizar custos e performance e rastrear o progresso rumo à mitigação](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2022: Otimização da AWS: etapas acionáveis para resultados imediatos ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)
+ [AWS re:Invent 2022: Otimize suas workloads da AWS com a orientação de práticas recomendadas ](https://www.youtube.com/watch?v=t8yl1TrnuIk)

 **Exemplos relacionados:** 
+  [GitHub da AWS](https://github.com/aws) 

# PERF05-BP04 Fazer o teste de carga da workload
<a name="perf_process_culture_load_test"></a>

 Teste sua workload para verificar se ela pode lidar com a carga de produção e identificar qualquer gargalo de performance. 

 **Práticas comuns que devem ser evitadas:** 
+  Você faz um teste de carga de partes individuais da workload, mas não de toda ela. 
+  Você faz um teste de carga em uma infraestrutura que não é igual ao seu ambiente de produção. 
+  Você só faz testes de carga para a carga esperada, mas para nada além dela, para ajudar a prever onde pode haver problemas futuros. 
+  Você faz testes de carga sem consultar a [política de testes do Amazon EC2](https://aws.amazon.com/ec2/testing/) e enviar um formulário de envio de eventos simulados. Isso faz com que o teste não seja executado, pois parece um evento de negação de serviço. 

 **Benefícios de implementar esta prática recomendada:** medir sua performance em um teste de carga mostrará onde você será afetado à medida que a carga aumentar. Com isso você terá a capacidade de antecipar as alterações necessárias antes que elas afetem sua workload. 

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

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

 O teste de carga na nuvem é um processo para medir a performance da workload na nuvem em condições realistas com a carga esperada do usuário. Esse processo envolve o provisionamento de um ambiente de nuvem semelhante ao de produção, o uso de ferramentas de teste de carga para gerar carga e a análise de métricas para avaliar a capacidade da workload de lidar com cargas realistas. Execute os testes de carga usando versões sintéticas ou limpas dos dados de produção (remova informações confidenciais ou de identificação). Realize testes de carga automaticamente como parte de seu pipeline de entrega e compare os resultados a KPIs e limites predefinidos. Esse processo ajuda você a continuar alcançando a performance necessária. 

### Etapas de implementação
<a name="implementation-steps"></a>
+ **Defina seus objetivos de teste:** identifique os aspectos de performance da workload que você deseja avaliar, como throughput e tempo de resposta. 
+ **Selecione uma ferramenta de teste:** escolha e configure a ferramenta de teste de carga adequada à workload. 
+ **Configure seu ambiente:** configure o ambiente de teste com base no ambiente de produção. É possível usar os serviços da AWS para executar ambientes em escala de produção para testar a arquitetura. 
+ **Implemente o monitoramento:** use ferramentas de monitoramento como o [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) para coletar métricas dos recursos em sua arquitetura. Você também pode coletar e publicar métricas personalizadas. 
+ **Defina cenários:** defina os cenários e parâmetros do teste de carga (como duração do teste e número de usuários). 
+ **Faça testes de carga:** realize cenários de teste em grande escala. Aproveite a Nuvem AWS para testar a workload e descobrir se há uma falha na escala ou se ela está com a escala reduzida horizontalmente de maneira não linear. Por exemplo, use instâncias spot para gerar cargas a um baixo custo e descobrir gargalos antes que eles ocorram em produção. 
+ **Analise os resultados do teste:** analise os resultados para identificar gargalos de performance e áreas para melhorias. 
+ **Documente e compartilhe descobertas:** documente e relate as descobertas e recomendações. Compartilhe essas informações com as partes interessadas para ajudá-las a tomar decisões embasadas sobre estratégias de otimização da performance. 
+ Faça **iterações contínuas:** o teste de carga deve ser realizado regularmente, especialmente após uma alteração ou atualização do sistema. 

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

 **Documentos relacionados:** 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Teste de carga distribuída na AWS](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Vídeos relacionados:** 
+ [AWS Summit ANZ 2023: Acelere com confiança com o teste de carga distribuída da AWS](https://www.youtube.com/watch?v=4J6lVqa6Yh8)
+ [AWS re:Invent 2022: Escalar na AWS para seus primeiros 10 milhões de usuários ](https://www.youtube.com/watch?v=yrP3M4_13QM)
+  [Resolver com soluções da AWS: teste de carga distribuída](https://www.youtube.com/watch?v=Y-2rk0sSyOM) 
+ [AWS re:Invent 2021: Otimize aplicações com base em insights do usuário final com o Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+  [Demonstração do Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemplos relacionados:** 
+  [Teste de carga distribuída na AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF05-BP05 Usar automação para corrigir proativamente problemas relacionados a performance
<a name="perf_process_culture_automation_remediate_issues"></a>

 Use indicadores-chave de performance (KPIs), aliados a sistemas de monitoramento e alerta, para abordar proativamente problemas relacionados à performance. 

 **Práticas comuns que devem ser evitadas:** 
+  Você só permite que a equipe de operações faça alterações operacionais na workload. 
+  Você permite todos os filtros de alarmes para a equipe de operações, sem correção proativa. 

 **Benefícios de implementar esta prática recomendada:** a correção proativa de ações de alarme permite que a equipe de suporte se concentre nos itens que não são acionáveis automaticamente. Isso ajuda a equipe de operações a lidar com todos os alarmes sem ficar sobrecarregada e, em vez disso, se concentrar apenas nos alarmes críticos. 

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

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

 Sempre que possível, use alarmes para desencadear ações automatizadas visando corrigir problemas. Se a resposta automatizada não for possível, encaminhe o alarme para aqueles capazes de responder. Por exemplo, você pode ter um sistema capaz de prever os valores de indicadores-chave de performance (KPI) esperados e emitir um alarme quando eles ultrapassarem determinados limites, ou uma ferramenta capaz de interromper ou reverter automaticamente as implantações caso os KPIs estejam fora dos valores esperados. 

 Implemente processos que deem visibilidade à performance à medida que a workload estiver sendo executada. Para determinar se a performance da workload é ideal, crie painéis de monitoramento e estabeleça normas de linha de base para as expectativas de performance. 

### Etapas de implementação
<a name="implementation-steps"></a>
+ **Identifique o fluxo de trabalho de correção:** identifique e compreenda o problema de performance que pode ser corrigido automaticamente. Use soluções de monitoramento da AWS como o [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ou o AWS X-Ray para obter ajuda para entender melhor a causa-raiz do problema. 
+ **Defina o processo de automação:** crie um plano e um processo de correção detalhados que possam ser usados para corrigir automaticamente o problema. 
+ **Configure o evento de iniciação:** configure o evento para iniciar automaticamente o processo de correção. Por exemplo, você pode definir um acionador para reiniciar automaticamente uma instância quando ela atinge determinado limite de utilização da CPU. 
+ **Automatize a correção:** use serviços e tecnologias da AWS para automatizar o processo de correção. Por exemplo, o [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) fornece uma maneira segura e escalável de automatizar o processo de correção. Use a lógica de autocorreção para reverter as alterações se elas não conseguirem resolver o problema. 
+ **Teste o fluxo de trabalho:** teste o processo de correção automatizado em um ambiente de pré-produção. 
+ **Implemente o fluxo de trabalho:** implemente a correção automatizada no ambiente de produção. 
+ **Desenvolva um playbook:** desenvolva e documente um playbook que descreva as etapas do plano de correção, incluindo os eventos de iniciação, a lógica de correção e as ações tomadas. Treine as partes interessadas para ajudá-las a responder com eficácia aos eventos de correção automatizada. 
+ **Revise e refine:** avalie regularmente a eficácia do fluxo de trabalho automatizado de correção. Ajuste os eventos de iniciação e a lógica de correção, se necessário. 

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

 **Documentos relacionados:** 
+  [Documentação do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Parceiros de monitoramento, log e performance da AWS Partner Network](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentação do X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Usar alarmes e ações de alarme no CloudWatch](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-using-alarm-actions.html) 
+ [ Criar uma prática de automação de nuvem para excelência operacional: práticas recomendadas do AWS Managed Services](https://aws.amazon.com/blogs/mt/build-a-cloud-automation-practice-for-operational-excellence-best-practices-from-aws-managed-services/)
+ [Automatizar o ajuste de performance do Amazon Redshift com a otimização automática de tabelas](https://aws.amazon.com/blogs/big-data/automate-your-amazon-redshift-performance-tuning-with-automatic-table-optimization/)

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: Estratégias para escalação automatizada, correção e autocorreção inteligente](https://www.youtube.com/watch?v=nlGyIa3UQYU)
+ [AWS re:Invent 2023: [LANÇAMENTO] Monitoramento de aplicações para workloads modernas ](https://www.youtube.com/watch?v=T2TovTLje8w)
+ [AWS re:Invent 2023: Como implementar a observabilidade de aplicações ](https://www.youtube.com/watch?v=IcTcwUSwIs4)
+  [AWS re:Invent 2021: Automatizar de forma inteligente as operações na nuvem](https://www.youtube.com/watch?v=m0S8eAF0l54) 
+  [AWS re:Invent 2022: Configurar controles em escala em seu ambiente da AWS](https://www.youtube.com/watch?v=NkE9_okfPG8) 
+  [AWS re:Invent 2022: Automatizar o gerenciamento e a conformidade de patches usando a AWS](https://www.youtube.com/watch?v=gL3baXQJvc0) 
+  [AWS re:Invent 2022: Como a Amazon usa métricas melhores para aprimorar a performance de sites](https://www.youtube.com/watch?v=_uaaCiyJCFA&ab_channel=AWSEvents) 
+ [AWS re:Invent 2023: Relaxe: diagnostique e resolva problemas de performance com o Amazon RDS](https://www.youtube.com/watch?v=Ulj88e5Aqzg)
+ [AWS re:Invent 2021: \$1Novo lançamento\$1 Detecte e resolva problemas automaticamente com o Amazon DevOps Guru ](https://www.youtube.com/watch?v=iwQNQHwoXfk)
+ [AWS re:Invent 2023: Centralize suas operações](https://www.youtube.com/watch?v=9-RBjmhDdaM)

 **Exemplos relacionados:** 
+  [O CloudWatch Logs personaliza alarmes](https://github.com/awslabs/cloudwatch-logs-customize-alarms) 

# PERF05-BP06 Manter a workload e os serviços atualizados
<a name="perf_process_culture_keep_workload_and_services_up_to_date"></a>

 Fique em dia com os novos serviços e atributos de nuvem para adotar recursos eficientes, remover problemas e melhorar a eficiência geral da performance da workload. 

 **Práticas comuns que devem ser evitadas:** 
+  Você pressupõe que sua arquitetura atual é estática e não será atualizada ao longo do tempo. 
+  Você não tem nenhum sistema ou ritmo regular para avaliar se software ou pacotes atualizados são compatíveis com sua workload. 

 **Benefícios de implementar esta prática recomendada:** ao estabelecer um processo para se atualizar sobre novos serviços e ofertas, você pode adotar novos atributos e recursos, resolver problemas e melhorar a performance da workload. 

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

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

 Avalie maneiras de melhorar a performance à medida que novos serviços, padrões de design e atributos de produtos são disponibilizados. Determine quais deles poderiam aprimorar a performance ou aumentar a eficiência da workload por meio de avaliações, discussões internas ou análises externas. Defina um processo para avaliar atualizações, novos recursos e serviços relevantes para sua workload. Por exemplo, crie uma prova de conceito que use novas tecnologias ou consulte um grupo interno. Ao testar novas ideias ou serviços, faça testes de performance para medir o impacto causado por eles na performance da workload. 

## Etapas de implementação
<a name="implementation-steps"></a>
+ **Faça o inventário da workload:** faça o inventário de software e arquitetura da workload e identifique os componentes que precisam ser atualizados. 
+ **Identifique fontes de atualizações:** identifique novidades e atualize fontes relacionadas aos componentes da workload. Como exemplo, você pode assinar [Novidades no blog da AWS](https://aws.amazon.com/new/) para ver os produtos que correspondem ao componente da sua workload. Você pode assinar o feed RSS ou gerenciar suas [assinaturas de e-mail](https://pages.awscloud.com/communication-preferences.html). 
+ **Defina um cronograma de atualizações:** defina um cronograma para avaliar novos serviços e atributos para a workload. 
  +  É possível usar o [AWS Systems Manager Inventory](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-inventory.html) para coletar metadados de sistema operacional (SO), aplicação e instância das instâncias do Amazon EC2 e entender rapidamente quais instâncias executam o software e as configurações exigidas pela política de software e quais instâncias precisam ser atualizadas. 
+ **Avalie a nova atualização:** entenda como atualizar os componentes da sua workload. Aproveite a agilidade da nuvem para testar rapidamente como novos recursos podem melhorar a workload com o intuito de obter eficiência de performance. 
+ **Use automação:** use automação no processo de atualização para reduzir o nível de esforço para implantar novos recursos e limitar erros causados por processos manuais. 
  +  É possível usar [CI/CD](https://aws.amazon.com/blogs/devops/complete-ci-cd-with-aws-codecommit-aws-codebuild-aws-codedeploy-and-aws-codepipeline/) para atualizar automaticamente AMIs, imagens de contêiner e outros artefatos relacionados à aplicação de nuvem. 
  +  Você pode usar ferramentas como o [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) para automatizar o processo de atualizações do sistema e agendar a atividade usando as [Janelas de Manutenção do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). 
+ **Documente o processo:** documente seu processo para avaliar atualizações e novos serviços. Forneça aos proprietários o tempo e o espaço necessários para pesquisar, testar, experimentar e validar atualizações e novos serviços. Consulte novamente os KPIs e requisitos de negócios documentados para ajudar a priorizar qual atualização trará um impacto positivo à empresa. 

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

 **Documentos relacionados:** 
+  [Blog da AWS](https://aws.amazon.com/blogs/) 
+  [Novidades da AWS](https://aws.amazon.com/new/?ref=wellarchitected) 
+ [ Implementar imagens atualizadas com pipelines automatizados do EC2 Image Builder ](https://aws.amazon.com/blogs/compute/implementing-up-to-date-images-with-automated-ec2-image-builder-pipelines/)

 **Vídeos relacionados:** 
+ [AWS re:Inforce 2022: Automatizar o gerenciamento e a conformidade de patches usando a AWS](https://www.youtube.com/watch?v=gL3baXQJvc0)
+ [ All Things Patch: AWS Systems Manager \$1 Eventos da AWS](https://www.youtube.com/watch?v=PhIiVsCEBu8)

 **Exemplos relacionados:** 
+ [ Gerenciamento de inventário e patches ](https://mng.workshop.aws/ssm/use-case-labs/inventory_patch_management.html)
+ [Workshop One Observability](https://catalog.workshops.aws/observability/en-US)

# PERF05-BP07 Revisar as métricas regularmente
<a name="perf_process_culture_review_metrics"></a>

 Como parte da manutenção de rotina, ou em resposta a eventos ou incidentes, revise quais métricas são coletadas. Use essas análises para identificar quais métricas foram essenciais para resolver problemas e quais métricas adicionais poderiam ajudar a identificar, resolver ou prevenir problemas se estivessem sendo acompanhadas. 

 **Práticas comuns que devem ser evitadas:** 
+  Você permite que as métricas permaneçam em um estado de alarme por um período prolongado. 
+  Você cria alarmes que não são acionáveis por um sistema de automação. 

 **Benefícios de implementar esta prática recomendada:** analise continuamente as métricas que estão sendo coletadas para garantir que identifiquem, resolvam ou evitem problemas corretamente. As métricas também podem se tornar obsoletas se você permitir que elas permaneçam em um estado de alarme por um período prolongado. 

 **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>

 Melhore constantemente a coleta e o monitoramento de métricas. Como parte da resposta a incidentes ou eventos, avalie as métricas que foram úteis para resolver o problema e quais poderiam ter ajudado, mas não estão sendo acompanhadas no momento. Use este método para aprimorar a qualidade das métricas coletadas para prevenir ou resolver incidentes futuros mais rapidamente. 

 Como parte da resposta a incidentes ou eventos, avalie as métricas que foram úteis para resolver o problema e quais poderiam ter ajudado, mas não estão sendo acompanhadas no momento. Use esses dados para aprimorar a qualidade das métricas coletadas para prevenir ou resolver incidentes futuros mais rapidamente. 

### Etapas de implementação
<a name="implementation-steps"></a>
+ **Defina métricas:** defina métricas críticas de performance para monitorar que estejam alinhadas aos objetivos da sua workload, incluindo métricas como tempo de resposta e utilização de recursos.
+ **Estabeleça linhas de base**: defina uma linha de base e um valor desejável para cada métrica. A linha de base deve fornecer pontos de referência para a identificação de desvios ou anomalias.
+ **Defina uma frequência:** defina uma frequência (como semanal ou mensal) para revisar as métricas essenciais. 
+ **Identifique problemas de performance:** durante cada revisão, avalie as tendências e o desvio dos valores base. Procure gargalos ou anomalias de performance. Para os problemas identificados, realize uma análise aprofundada da causa-raiz para entender o principal motivo do problema.
+ **Identifique ações corretivas:** use sua análise para identificar ações corretivas. Isso pode incluir ajuste de parâmetros, correção de bugs e ajustes na escala dos recursos.
+ **Documente as descobertas:** documente suas descobertas, incluindo problemas identificados, causas-raiz e ações corretivas.
+ **Itere e aprimore:** avalie e melhore constantemente o processo de revisão de métricas. Use a lição aprendida com a análise anterior para aprimorar o processo ao longo do tempo.

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

 **Documentos relacionados:** 
+  [Documentação do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Coletar métricas e logs de instâncias do Amazon EC2 e servidores on-premises com o CloudWatch Agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+ [Consultar métricas com o CloudWatch Metrics Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/query_with_cloudwatch-metrics-insights.html)
+  [Parceiros de monitoramento, log e performance da AWS Partner Network](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentação do X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2022: Configurar controles em escala em seu ambiente da AWS](https://www.youtube.com/watch?v=NkE9_okfPG8) 
+  [AWS re:Invent 2022: Como a Amazon usa métricas melhores para aprimorar a performance de sites](https://www.youtube.com/watch?v=_uaaCiyJCFA&ab_channel=AWSEvents) 
+ [AWS re:Invent 2023: Criar uma estratégia efetiva de observabilidade ](https://www.youtube.com/watch?v=7PQv9eYCJW8)
+ [AWS Summit SF 2022: Observabilidade full-stack e monitoramento de aplicações com a AWS](https://www.youtube.com/watch?v=or7uFFyHIX0)
+ [AWS re:Invent 2023: Relaxe: diagnostique e resolva problemas de performance com o Amazon RDS](https://www.youtube.com/watch?v=Ulj88e5Aqzg)

 **Exemplos relacionados:** 
+  [Criar um painel com o Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 
+ [ Painéis do CloudWatch ](https://catalog.us-east-1.prod.workshops.aws/workshops/a8e9c6a6-0ba9-48a7-a90d-378a440ab8ba/en-US/300-cloudwatch/340-cloudwatch-dashboards)