

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

O pilar Eficiência de performance inclui a capacidade de usar recursos de computação com eficiência para atender aos requisitos do sistema e manter essa eficiência à medida que a demanda muda e as tecnologias evoluem. Você pode encontrar orientações prescritivas sobre implementação no [Whitepaper sobre pilar de 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**
+ [PERFORMANCE 1. Como você seleciona os recursos e a arquitetura de nuvem apropriados para sua workload?](perf-01.md)

# PERFORMANCE 1. Como você seleciona 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 varia e, muitas vezes, as soluções combinam várias abordagens. Workloads do Well-Architected usam várias soluções e permitem diferentes recursos para aprimorar a performance. 

**Topics**
+ [PERF01-BP01 Conheça e compreenda os serviços e recursos de nuvem disponíveis](perf_architecture_understand_cloud_services_and_features.md)
+ [PERF01-BP02 Use a orientação de seu 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 Avalie como certas trocas (trade-offs) afetam os clientes e a eficiência da arquitetura](perf_architecture_evaluate_trade_offs.md)
+ [PERF01-BP05 Use políticas e arquiteturas de referência](perf_architecture_use_policies_and_reference_architectures.md)
+ [PERF01-BP06 Use testes comparativos para orientar decisões de arquitetura](perf_architecture_use_benchmarking.md)
+ [PERF01-BP07 Use uma abordagem baseada em dados para escolhas de arquitetura](perf_architecture_use_data_driven_approach.md)

# PERF01-BP01 Conheça e compreenda 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 da performance de suas workloads com base na arquietura. 

 **Antipadrões comuns:** 
+  Você usa a nuvem como um datacenter colocalizado. 
+  Você não moderniza sua aplicação após a migração para a nuvem. 
+  Você só usa um tipo de armazenamento para tudo que precisa ser mantido. 
+  Você usa tipos de instância mais próximos aos padrões atuais, no entanto, maiores, quando necessário. 
+  Você implanta e gerencia tecnologias disponíveis como serviços gerenciados. 

 **Benefícios de estabelecer 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 com 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 da 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. 
  +  [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 ambientes sandbox (sem produção) para aprender e experimentar novos serviços sem incorrer em custos adicionais. 

## 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/) 
+  [Central de Conhecimento da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Crie aplicações modernas na AWS](https://aws.amazon.com/modern-apps/) 

 **Vídeos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

# PERF01-BP02 Use a orientação de seu 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. 

 **Antipadrões comuns:** 
+  Você usa a AWS como um provedor de nuvem comum. 
+  Você usa as ofertas da AWS de uma maneira para a qual elas não foram projetadas. 
+  Você segue todas as orientações sem considerar seu contexto de negócios. 

 **Benefícios de estabelecer 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 ter 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 melhores resultados na Nuvem AWS. 

### Etapas da 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 Conferências Globais da AWS, AWS re:Invent, grupos de usuários e workshops) para ouvir dos próprios especialistas da AWS quais são as práticas recomendadas no uso dos serviços da empresa. 
  +  [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. Os arquitetos de soluções da AWS e o [AWS Professional Services](https://aws.amazon.com/professional-services/) fornecem orientação para a implementação da solução. [parceiros da AWS](https://aws.amazon.com/partners/) oferecem toda a experiência na AWS para ajudar você a adquirir agilidade e inovação para os negócios. 
+  Use [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:** 
+  [Centro de Arquitetura da AWS](https://aws.amazon.com/architecture/) 
+  [Biblioteca de Soluções da AWS](https://aws.amazon.com/solutions/) 
+  [Central de Conhecimento da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [AWS Enterprise Support](https://aws.amazon.com/premiumsupport/plans/enterprise/) 

 **Vídeos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

# 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 de suas workloads na nuvem, é mais provável que utilize recursos eficientes e reduza práticas ineficazes. 

 **Antipadrões comuns:** 
+  Você só usa uma família de instâncias. 
+  Você não avalia soluções licenciadas em relação a soluções de código aberto. 
+  Você não define políticas de ciclo de vida de armazenamento. 
+  Você não analisa os novos serviços e recursos da Nuvem AWS. 
+  Você só usa o armazenamento em bloco. 

 **Benefícios de estabelecer 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 da 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. Você pode 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. 
+  Use [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 componentes principais 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 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) ou [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/) para receber recomendações de otimização de custos. 
  +  Use [Detecção de Anomalias de Custos da AWS](https://aws.amazon.com/aws-cost-management/aws-cost-anomaly-detection/) para obter detecção automática de anomalias de custo e análise da causa raiz. 

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

 **Documentos relacionados:** 
+  [A Detailed Overview of the 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/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Biblioteca de Soluções da AWS](https://aws.amazon.com/solutions/) 
+  [Central de Conhecimento da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Vídeos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimize performance and cost for your AWS compute](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **Exemplos relacionados:** 
+  [Amostras da AWS](https://github.com/aws-samples) 
+  [Exemplos de SDKs da AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer Demo code](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF01-BP04 Avalie 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 ao desempenho, determine quais escolhas afetam os clientes e a eficiência das workloads. Por exemplo, se o uso de um datastore de chave-valor aumentar o desempenho do sistema, é importante avaliar como a mudança afetará os clientes após tornar-se consistente. 

 **Antipadrões comuns:** 
+  Você pressupõe que todos os ganhos de desempenho 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 estabelecer 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, pode ser 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 desempenho e impacto para o cliente. Determine como você pode promover aprimoramentos, quais concessões esses aprimoramentos exigem e como elas 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 da implementação
<a name="implementation-steps"></a>
+  Entenda SLAs e requisitos de suas workloads. 
+  Defina claramente os fatores de avaliação. Os fatores podem estar relacionados a custo, confiabilidade, segurança e desempenho de suas 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 bom desempenho e seguras consomem mais recursos da nuvem e, ao mesmo tempo, proporcionam uma melhor experiência ao cliente. 

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

 **Documentos relacionados:** 
+  [Amazon Builders’ Library](https://aws.amazon.com/builders-library) 
+  [Quick KPIs](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) 
+ [ Understand resiliency patterns and trade-offs to architect efficiently in the cloud ](https://aws.amazon.com/blogs/architecture/understand-resiliency-patterns-and-trade-offs-to-architect-efficiently-in-the-cloud/)

 **Vídeos relacionados:** 
+  [Build a monitoring plan](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo of Amazon CloudWatch Synthetics (Demonstração do Amazon CloudWatch Synthetics)](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemplos relacionados:** 
+  [Measure page load time with Amazon CloudWatch Synthetics (Medição do tempo de carga da página com o Amazon CloudWatch Synthetics)](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web Client (Cliente da web do Amazon CloudWatch RUM)](https://github.com/aws-observability/aws-rum-web) 

# PERF01-BP05 Use 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. 

 **Antipadrões comuns:** 
+  Você permite uma ampla variedade de tecnologias que podem afetar os custos de gerenciamento da empresa. 

 **Benefícios de estabelecer 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>

 Ter 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 desempenho para verificar se você pode continuar a atender aos seus requisitos de desempenho. 

### Etapas da implementação
<a name="implementation-steps"></a>
+  Entenda claramente os requisitos de sua workload na nuvem. 
+  Analise 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/) 
+  [Central de Conhecimento da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Vídeos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

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

 Compare o desempenho de uma workload existente para entender seu desempenho na nuvem e orientar decisões de arquitetura com base nesses dados. 

 **Antipadrões comuns:** 
+  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 estabelecer esta prática recomendada:** Os testes comparativos da implementação atual permitem medir a melhoria da 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. 

 É possível criar os próprios testes comparativos personalizados ou usar um teste padrão do setor, como o [TPC-DS](http://www.tpc.org/tpcds/), para comparar as 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, um benchmark 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 em produção. 

### Etapas da implementação
<a name="implementation-steps"></a>
+  Defina as métricas (como utilização da CPU, latência ou throughput) para avaliar o desempenho da workload. 
+  Identifique e configure 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 compatível com a workload. 
+  Execute testes comparativos e monitore as métricas durante o teste. 
+  Analise e documente os resultados do teste comparativo para identificar gargalos e problemas. 
+  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. 
+  Teste novamente a workload após o ajuste. 

## 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/) 
+  [Central de Conhecimento 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) 

 **Vídeos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo of Amazon CloudWatch Synthetics (Demonstração do Amazon CloudWatch Synthetics)](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemplos relacionados:** 
+  [Amostras da AWS](https://github.com/aws-samples) 
+  [Exemplos de SDKs da AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Distributed Load Tests](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [Measure page load time with Amazon CloudWatch Synthetics (Medição do tempo de carga da página com o Amazon CloudWatch Synthetics)](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web Client (Cliente da web do Amazon CloudWatch RUM)](https://github.com/aws-observability/aws-rum-web) 

# PERF01-BP07 Use 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. 

 **Antipadrões comuns:** 
+  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 estabelecer esta prática recomendada:** Ao ter 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 empresas 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 com base em dados e justificativas adequadas. Isso verifica se a arquitetura permanece preparada para o futuro e não fica estagnada. 

### Etapas da implementação
<a name="implementation-steps"></a>
+  Interaja com as principais partes interessadas para definir os requisitos das workloads, incluindo considerações de desempenho, 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 Conheça e compreenda 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 Use a orientação de seu 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, [Centro de Arquitetura da AWS](https://aws.amazon.com/architecture/)e [AWS Partner Network](https://aws.amazon.com/partners/), para ajudar você a escolher a arquitetura certa para sua workload. 
+  Defina métricas de desempenho, como produtividade e tempo de resposta, que podem ajudar você a avaliar o desempenho das workloads. 
+  Experimente e use métricas definidas para validar o desempenho da arquitetura selecionada. 
+  Monitore e faça ajustes contínuos conforme necessário para manter o desempenho 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/) 
+  [Central de Conhecimento da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Vídeos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

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

# PERFORMANCE 2. Como você seleciona e usa 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 Selecione as melhores opções de computação para as workloads](perf_compute_hardware_select_best_compute_options.md)
+ [PERF02-BP02 Entenda a configuração e os recursos de computação disponíveis](perf_compute_hardware_understand_compute_configuration_features.md)
+ [PERF02-BP03 Colete métricas relacionadas à computação](perf_compute_hardware_collect_compute_related_metrics.md)
+ [PERF02-BP04 Configure e dimensione corretamente os recursos de computação](perf_compute_hardware_configure_and_right_size_compute_resources.md)
+ [PERF02-BP05 Dimensione recursos de computação dinamicamente](perf_compute_hardware_scale_compute_resources_dynamically.md)
+ [PERF02-BP06 Use optimized hardware-based compute accelerators](perf_compute_hardware_compute_accelerators.md)

# PERF02-BP01 Selecione 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 que você melhore o desempenho, reduza os custos desnecessários de infraestrutura e reduza os esforços operacionais necessários para mantê-las. 

 **Antipadrões comuns:** 
+  É usada a mesma opção de computação utilizada on-premises. 
+  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. 
+  É provisionada em excesso uma opção de computação existente 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 estabelecer 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 desempenho, é importante selecionar as opções de computação mais apropriadas para seu caso de uso e requisitos de desempenho. 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 nem gerenciar servidores, o [Amazon ECS](https://aws.amazon.com/ecs/) ou [Amazon EKS](https://aws.amazon.com/eks/) para executar e gerenciar contêineres ou [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 desempenho. 

## Etapas da implementação
<a name="implementation-steps"></a>

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

1.  Saiba mais sobre as diferentes opções de computação disponíveis para a workload na AWS (conforme descrito em [PERF01-BP01 Conheça e compreenda 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/2023-10-03/framework/perf_compute_hardware_select_best_compute_options.html)

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

1.  Faça experimentos e análises comparativas em um ambiente que não seja de produção para identificar qual opção de computação pode melhor atender às necessidades da workload. 

1.  Depois de experimentar e identificar sua nova solução de computação, planeje a migração e valide as métricas de desempenho. 

1.  Use ferramentas de monitoramento da AWS, como [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) e serviços de otimização, como [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) para otimizar continuamente os recursos de computação com base em padrões de uso do mundo real. 

 

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

 **Documentos relacionados:** 
+  [Cloud Compute with AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Amazon EC2 Instance Types ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Amazon EKS Containers: Amazon EKS Worker Nodes ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Amazon ECS Containers: Amazon ECS Container Instances ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Funções: configuração de função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 
+ [Prescriptive Guidance for Containers](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) 
+  [Prescriptive Guidance for Serverless](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:** 
+  [How to choose compute option for startups (Como escolher uma opção de computação para startups)](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) 
+  [Optimize performance and cost for your AWS compute ](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [Deploy ML models for inference at high performance and low cost](https://www.youtube.com/watch?v=4FqHt5bmS2o) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2](https://www.youtube.com/watch?v=_dvh4P2FVbw&ref=wellarchitected) 

 **Exemplos relacionados:** 
+  [Migrating the Web application to containers](https://application-migration-with-aws.workshop.aws/en/container-migration.html) 
+  [Run a Serverless Hello World](https://aws.amazon.com/getting-started/hands-on/run-serverless-code/) 

# PERF02-BP02 Entenda 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 do desempenho. 

 **Antipadrões comuns:** 
+  Você não avalia as opções de computação ou as famílias de instâncias disponíveis em relação às características da workload. 
+  Você provisiona recursos de computação em excesso para atender aos requisitos de pico de demanda. 

** Benefícios de estabelecer 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 suportar 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 a opção de computação atual é adequada para as workloads do ponto de vista da CPU e da memória. 

## Etapas da implementação
<a name="implementation-steps"></a>

1.  Entenda os requisitos da workload (como necessidade de CPU, memória e latência). 

1.  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/2023-10-03/framework/perf_compute_hardware_understand_compute_configuration_features.html)

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

 **Documentos relacionados:** 
+  [Cloud Compute with AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Amazon EC2 Instance Types ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Processor State Control for Your Amazon EC2 Instance ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [Amazon EKS Containers: Amazon EKS Worker Nodes ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Amazon ECS Containers: Amazon ECS Container Instances ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Funções: configuração de função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 

 **Vídeos relacionados:** 
+  [Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [Optimize performance and cost for your AWS compute](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **Exemplos relacionados:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer Demo code](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF02-BP03 Colete 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 o desempenho de seus recursos e melhorar seu desempenho e utilização. 

 **Antipadrões comuns:** 
+  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 estabelecer 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 o desempenho 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 informações valiosas. 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 desempenho. Use essas métricas como parte de uma abordagem impulsionada por dados para ajustar e otimizar ativamente os recursos de sua carga de trabalho.  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 da implementação
<a name="implementation-steps"></a>

1.  Identifique quais métricas relacionadas ao desempenho 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). 

   1.  [Métricas padrão do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) 

   1.  [Métricas padrão do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html) 

   1.  [Métricas padrão do Amazon EKS](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/kubernetes-eks-metrics.html) 

   1.  [Métricas padrão do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-access-metrics.html) 

   1.  [Métricas de memória e disco do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 

1.  Escolha e configure a solução certa de registro e monitoramento para a workload. 

   1.  [Observabilidade nativa da AWS](https://catalog.workshops.aws/observability/en-US/aws-native) 

   1.  [AWS Distro para OpenTelemetry](https://aws.amazon.com/otel/) 

   1.  [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/grafana/latest/userguide/prometheus-data-source.html) 

1.  Defina o filtro e a agregação necessários para as métricas com base nos requisitos da workload. 

   1.  [Quantify custom application metrics with Amazon CloudWatch Logs and metric filters](https://aws.amazon.com/blogs/mt/quantify-custom-application-metrics-with-amazon-cloudwatch-logs-and-metric-filters/) 

   1.  [Collect custom metrics with Amazon CloudWatch strategic tagging](https://aws.amazon.com/blogs/infrastructure-and-automation/collect-custom-metrics-with-amazon-cloudwatch-strategic-tagging/) 

1.  Configure políticas de retenção de dados para que as métricas correspondam às metas operacionais e de segurança. 

   1.  [Retenção de dados padrão para métricas do CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [Retenção de dados padrão para o CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

1.  Se necessário, crie alarmes e notificações para as métricas a fim de ajudar a reagir proativamente a problemas relacionados à performance. 

   1.  [Create alarms for custom metrics using Amazon CloudWatch anomaly detection](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection.html) 

   1.  [Create metrics and alarms for specific web pages with Amazon CloudWatch RUM](https://aws.amazon.com/blogs/mt/create-metrics-and-alarms-for-specific-web-pages-amazon-cloudwatch-rum/) 

1.  Use a automação para implantar os agentes de agregação de métricas e logs. 

   1.  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html?ref=wellarchitected) 

   1.  [OpenTelemetry Collector](https://aws-otel.github.io/docs/getting-started/collector) 

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

 **Documentos relacionados:** 
+  [Documentação do Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html?ref=wellarchitected) 
+  [Collect metrics and logs from Amazon EC2 instances and on-premises servers with the CloudWatch Agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+  [Acessar o Amazon CloudWatch Logs para o AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html?ref=wellarchitected) 
+  [Using CloudWatch Logs with container instances](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: Centralized Logging](https://aws.amazon.com/answers/logging/centralized-logging/?ref=wellarchitected) 
+  [AWS Services That Publish CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html?ref=wellarchitected) 
+  [Monitoring Amazon EKS on AWS Fargate](https://aws.amazon.com/blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) 

 **Vídeos relacionados:** 
+  [Application Performance Management on AWS](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 

 **Exemplos relacionados:** 
+  [Level 100: Monitoring with CloudWatch Dashboards](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Level 100: Monitoring Windows EC2 instance with CloudWatch Dashboards](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_windows_ec2_cloudwatch/) 
+  [Level 100: Monitoring an Amazon Linux EC2 instance with CloudWatch Dashboards](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_linux_ec2_cloudwatch/) 

# PERF02-BP04 Configure e dimensione 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 desempenho das workloads e evitar que recursos sejam subutilizados ou usados em excesso. 

 **Antipadrões comuns:** 
+  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 de AWS Cost Explorer ou 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 estabelecer 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 desempenho 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 em que atendem às suas necessidades comerciais. O provisionamento excessivo de recursos de nuvem pode gerar custos extras, enquanto o subprovisionamento pode ocasionar performance ruim e uma experiência negativa para o cliente. A AWS oferece ferramentas, como o [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) e o [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/) , que usam dados históricos com o objetivo de fornecer recomendações para dimensionar corretamente os recursos computacionais. 

### Etapas da 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 frota do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) 
  +  [Create an Auto Scaling group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) 
  +  [Optimizing your Kubernetes compute costs with Karpenter consolidation (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 de sua carga de trabalho 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 desempenho 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 [métricas do Amazon CloudWatch para instâncias](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. 
    +  [Laboratório do Well-Architected: Recomendações de dimensionamento correto ](https://wellarchitectedlabs.com/cost/100_labs/100_aws_resource_optimization/) 
    +  [Laboratório do Well-Architected: Dimensionamento correto com o Compute Optimizer ](https://wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/) 
+  Teste as alterações na configuração em um ambiente que não seja de produção antes de implementá-las em um ambiente ativo. 
+  Reavalie constantemente novas ofertas de computação e as compare com as necessidades da workload. 

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

 **Documentos relacionados:** 
+  [Cloud Compute with AWS](https://aws.amazon.com/products/compute/) 
+  [Amazon EC2 Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Amazon ECS Containers: Amazon ECS Container Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Amazon EKS Containers: Amazon EKS Worker Nodes](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funções: configuração de função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Processor State Control for Your Amazon EC2 Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **Vídeos relacionados:** 
+  [Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Deploy ML models for inference at high performance and low cost](https://www.youtube.com/watch?v=4FqHt5bmS2o) 
+  [Optimize performance and cost for your AWS compute](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) 
+  [Como simplificar o processamento de dados para aprimorar a inovação com ferramentas de tecnologia sem servidor](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) 

 **Exemplos relacionados:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer Demo code](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF02-BP05 Dimensione 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. 

 **Antipadrões comuns:** 
+  Você reage a alarmes aumentando a capacidade manualmente. 
+  Você usa as mesmas diretrizes de dimensionamento (geralmente infraestrutura estática) do ambiente on-premises. 
+  Você deixa a capacidade aumentada após um evento de escalabilidade, em vez de reduzir novamente. 

 **Benefícios de estabelecer 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**: reduza a escala horizontalmente em antecipação às tendências diárias e semanais. 
+  **Abordagem baseada em cronograma**: defina seu próprio cronograma de escalabilidade de acordo com as mudanças de carga previsíveis. 
+  **Escalabilidade 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 carga de trabalho possam lidar com eventos de expansão e redução da escala. 

### Etapas da 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/2023-10-03/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 pensar também na 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. Em vez disso, 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 a política de escalabilidade, se necessário. Para escolher as métricas certas, considere a seguinte orientação para o Amazon EC2: 
  +  A métrica deve ser uma métrica de utilização válida e descrever o quanto uma instância está ocupada. 
  +  O valor da métrica deve aumentar ou diminuir proporcionalmente com o número de instâncias no grupo do Auto Scaling. 
+  Use [a escalabilidade dinâmica](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) em vez de [escalabilidade manual](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) para seu grupo do Auto Scaling. Também recomendamos que você use [políticas de escalabilidade de monitoramento do objetivo](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) em sua escalabilidade dinâmica. 
+  Verifique se as implantações da workload podem lidar com os dois eventos de ajuste de escala (aumento e redução). Por 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 escalabilidade para um grupo do Auto Scaling. 
+  Avalie sua workload com relação a padrões previsíveis e, ao antecipar alterações previstas e planejadas na demanda, escale proativamente. Com a escalabilidade preditiva, é possível eliminar a necessidade de superprovisionar a capacidade. Para obter mais detalhes, consulte [Ajuste de escala 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:** 
+  [Cloud Compute with AWS](https://aws.amazon.com/products/compute/) 
+  [Amazon EC2 Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Amazon ECS Containers: Amazon ECS Container Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Amazon EKS Containers: Amazon EKS Worker Nodes](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funções: configuração de função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Processor State Control for Your Amazon EC2 Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 
+  [Deep Dive on Amazon ECS Cluster Auto Scaling](https://aws.amazon.com/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/) 
+  [Introducing Karpenter – An Open-Source High-Performance Kubernetes Cluster Autoscaler (Apresentação do Karpenter: um dimensionador automático de clusters do Kubernetes de código aberto e alto desempenho)](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 

 **Vídeos relacionados:** 
+  [Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Optimize performance and cost for your AWS compute](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) 
+  [Criar um ambiente de computação eficiente em termos de custo, energia e recursos](https://www.youtube.com/watch?v=8zsC5e1eLCg) 

 **Exemplos relacionados:** 
+  [Amazon EC2 Auto Scaling Group Examples](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Implement Autoscaling with Karpenter](https://www.eksworkshop.com/beginner/085_scaling_karpenter/) 

# PERF02-BP06 Use optimized hardware-based compute accelerators
<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. 

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

**Benefícios de estabelecer 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-as com automação quando não precisar mais delas para melhorar a eficiência geral do desempenho. 

### Etapas da 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 aos seus requisitos. 
+  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 o [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/). Instâncias do AWS Inferentia, como instâncias Inf2, [oferecem até 50% melhor performance/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` para suas GPUs, conforme mostrado em [Colete métricas da 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 de GPU no Deep Learning AMI](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) 
  +  [Otimização de E/S para ajuste de desempenho de 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 alto desempenho 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:** 
+  [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) 
+  [Let’s Architect\$1 Arquitetura 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/) 
+  [Escolha o melhor acelerador de IA e compilação de modelo 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:** 
+  [How to select Amazon EC2 GPU instances for deep learning (Como selecionar instâncias de GPU do Amazon EC2 para aprendizado profundo)](https://www.youtube.com/watch?v=4bVrIbgGWEA&ab_channel=AWSEvents) 
+  [Deploying Cost-Effective Deep Learning Inference (Implantação de inferência de aprendizado profundo econômico)](https://www.youtube.com/watch?v=WiCougIDRsw&ab_channel=AWSOnlineTechTalks) 

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

# PERFORMANCE 3. Como você armazena, gerencia e acessa 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 o desempenho. 

**Topics**
+ [PERF03-BP01 Use um armazenamento de dados específico que melhor atenda aos seus requisitos de acesso e armazenamento de dados](perf_data_use_purpose_built_data_store.md)
+ [PERF03-BP02 Avalie as opções de configuração disponíveis para o datastore](perf_data_evaluate_configuration_options_data_store.md)
+ [PERF03-BP03 Colete e registre métricas de desempenho do datastore](perf_data_collect_record_data_store_performance_metrics.md)
+ [PERF03-BP04 Implemente estratégias para melhorar o desempenho da consulta no datastore](perf_data_implement_strategies_to_improve_query_performance.md)
+ [PERF03-BP05 Implementar padrões de acesso a dados que utilizem cache](perf_data_access_patterns_caching.md)

# PERF03-BP01 Use um armazenamento de dados específico que melhor atenda aos seus 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. 

 **Antipadrões comuns:** 
+  Fixar-se em 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 estabelecer 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 da 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 
  +  Taxa de transferência 
  +  IOPS (operações de entrada/saída por segundo) 
  +  Período de retenção de dados 
+  Conheça os diferentes datastores disponíveis para a workload na AWS que podem atender às características dos dados (conforme descrito em [PERF01-BP01 Conheça e compreenda 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/2023-10-03/framework/perf_data_use_purpose_built_data_store.html)
+  Se você estiver criando uma plataforma de dados, utilize uma [arquitetura de dados moderna](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/) na AWS para integrar data lake, data warehouse e armazenamentos de dados com propósito específico. 
+  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/2023-10-03/framework/perf_data_use_purpose_built_data_store.html)
+  Faça experimentos e testes comparativos em um ambiente que não seja de 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 for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Performance do Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Documentação do Amazon Glacier: Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerações sobre performance e taxa de solicitação](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 em nuvem com a AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Armazenamento em 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) 
+  [10 melhores dicas de desempenho do 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) 
+  [Melhores práticas do Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 
+  [Choose between Amazon EC2 and Amazon RDS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/comparison.html) 
+ [ Melhores práticas para a implementação do Amazon ElastiCache ](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/BestPractices.html)

 **Vídeos relacionados:** 
+  [Deep dive on Amazon EBS](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3](https://www.youtube.com/watch?v=54AhwfME6wI) 
+ [Modernize apps with purpose-built databases](https://www.youtube.com/watch?v=V-DiplATdi0)
+ [ Amazon Aurora storage demystified: How it all works ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+ [ Amazon DynamoDB deep dive: Advanced design patterns ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Exemplos relacionados:** 
+  [Driver CSI do Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Driver CSI do Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilitários do Amazon EFS](https://github.com/aws/efs-utils) 
+  [Escalabilidade automática do Amazon EBS](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Exemplos do Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+  [Optimize Data Pattern using Amazon Redshift Data Sharing](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 - AWS Database Migration Service (AWS DMS) Replication Demo](https://github.com/aws-samples/aws-dms-sql-server) 
+  [Database Modernization Hands On Workshop (Workshop prático de modernização de bancos de dados)](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Amostras da Amazon Neptune](https://github.com/aws-samples/amazon-neptune-samples) 

# PERF03-BP02 Avalie 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 o desempenho da workload. 

 **Antipadrões comuns:** 
+  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 tem ciência das 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 estabelecer 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 e o custo do desempenho, você deve 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 do desempenho. 

### Etapas da 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 da AWS e as práticas recomendadas para saber mais sobre as opções de configuração indicadas que podem ajudar a melhorar o desempenho do datastore. As principais opções de datastore a serem consideradas são as seguintes:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-10-03/framework/perf_data_evaluate_configuration_options_data_store.html)
+  Realize experimentos e testes comparativos em um ambiente que não seja de 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 desempenho. 
+  Use ferramentas de monitoramento da AWS (como o [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)) e otimização (como a [Lente de Armazenamento do Amazon S3](https://aws.amazon.com/s3/storage-lens/)) para otimizar continuamente o armazenamento de dados usando o padrão de uso do mundo 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 for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Performance do Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Documentação do Amazon Glacier: Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerações sobre performance e taxa de solicitação](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/) 
+  [Armazenamento na nuvem com a AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Características de E/S do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Bancos de dados em nuvem com a AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Armazenamento em 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) 
+  [10 melhores dicas de desempenho do 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) 
+  [Melhores práticas do Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 

 **Vídeos relacionados:** 
+  [Deep dive on Amazon EBS](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3](https://www.youtube.com/watch?v=54AhwfME6wI) 
+ [Modernize apps with purpose-built databases](https://www.youtube.com/watch?v=V-DiplATdi0)
+ [ Amazon Aurora storage demystified: How it all works ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+ [ Amazon DynamoDB deep dive: Advanced design patterns ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Exemplos relacionados:** 
+  [Driver CSI do Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Driver CSI do Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilitários do Amazon EFS](https://github.com/aws/efs-utils) 
+  [Escalabilidade automática do Amazon EBS](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Exemplos do Amazon S3](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) 
+  [AWS Database migration samples](https://github.com/aws-samples/aws-database-migration-samples) 
+  [Database Modernization Workshop (Workshop de modernização de bancos de dados)](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Working with parameters on your Amazon RDS for Postgress DB](https://github.com/awsdocs/amazon-rds-user-guide/blob/main/doc_source/Appendix.PostgreSQL.CommonDBATasks.Parameters.md) 

# PERF03-BP03 Colete e registre métricas de desempenho do datastore
<a name="perf_data_collect_record_data_store_performance_metrics"></a>

 Acompanhe e registre métricas de desempenho relevantes para o datastore a fim de entender o desempenho de 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 do desempenho da workload. 

 **Antipadrões comuns:** 
+  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 estabelecer 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, você precisa registrar várias métricas de desempenho ao longo de um período. Isso permite detectar anomalias e avaliar o desempenho 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 como está 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 da implementação
<a name="implementation-steps"></a>

1.  Identifique as principais métricas de desempenho que o datastore deve monitorar. 

   1.  [Métricas e dimensões do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metrics-dimensions.html) 

   1.  [Métricas de monitoramento para em uma instância do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html) 

   1.  [Monitorar a carga do banco de dados com o Performance Insights no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 

   1.  [Visão geral do monitoramento aprimorado](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 

   1.  [Métricas e dimensões do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) 

   1.  [Monitoramento do DynamoDB Accelerator](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.Monitoring.html) 

   1.  [Monitoramento do Amazon MemoryDB com o Amazon CloudWatch](https://docs.aws.amazon.com/memorydb/latest/devguide/monitoring-cloudwatch.html) 

   1.  [Quais métricas devo monitorar?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 

   1.  [Monitoramento da performance do cluster do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/metrics.html) 

   1.  [Métricas e dimensões do Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/metrics-dimensions.html) 

   1.  [Métricas do Amazon CloudWatch para Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMonitoring.Metrics.html) 

   1.  [Registro em log e monitoramento no Amazon Keyspaces (for Apache Cassandra)](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 

   1.  [Monitoramento dos recursos do Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/monitoring.html) 

1.  Use uma solução aprovada de registro em log e monitoramento para coletar essas métricas. [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) pode coletar métricas nos recursos na 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 indiquem quando os limites são violados. 

1.  Confira se o monitoramento do datastore pode se beneficiar de uma solução de machine learning que detecta anomalias de performance. 

   1.  [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. 

1.  Configure a retenção de dados em sua solução de monitoramento e registro para corresponder às suas metas operacionais e de segurança. 

   1.  [Retenção de dados padrão para métricas do CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [Retenção de dados padrão para o CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

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

 **Documentos relacionados:** 
+  [Armazenamento em cache de banco de dados da AWS](https://aws.amazon.com/caching/database-caching/) 
+  [10 melhores dicas de desempenho do 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/) 
+  [Melhores práticas 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 em 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 purpose-built databases](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Amazon DynamoDB deep dive: Advanced design patterns](https://www.youtube.com/watch?v=6yqfmXiZTlM) 
+  [Best Practices for Monitoring Redis Workloads on Amazon ElastiCache](https://www.youtube.com/watch?v=c-hTMLN35BY&ab_channel=AWSOnlineTechTalks) 

 **Exemplos relacionados:** 
+  [Level 100: Monitoring with CloudWatch Dashboards](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [AWS Dataset Ingestion Metrics Collection Framework](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Amazon RDS Monitoring Workshop](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 

# PERF03-BP04 Implemente estratégias para melhorar o desempenho 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 desempenho eficiente para a workload. 

 **Antipadrões comuns:** 
+  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 estabelecer 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 do desempenho em um datastore, pois afetam não só o desempenho como 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 o desempenho da consulta em um datastore. As principais estratégias incluem particionamento, compactação e desnormalização de dados, que ajudam a otimizá-los para armazenamento e acesso.

### Etapas da implementação
<a name="implementation-steps"></a>
+  Entenda e analise as consultas críticas de dados 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. 
  +  [Analyzing the query plan in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c-analyzing-the-query-plan.html) 
  +  [Using EXPLAIN and EXPLAIN ANALYZE in Athena](https://docs.aws.amazon.com/athena/latest/ug/athena-explain-statement.html) 
+  Implemente estratégias para melhorar o desempenho 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 a operação de E/S.
  +  Particionar os dados para dividi-los em partes menores e reduzir o tempo de verificação dos dados. 
    + [ Partitioning data in 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. 
  +  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 execução de estatísticas. 
+  Experimente e teste estratégias em um ambiente que não seja de 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) 
+  [10 melhores dicas de desempenho do Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Armazenamento em cache de banco de dados da AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Melhores práticas para a implementação do Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 
+  [Partitioning data in Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html) 

 **Vídeos relacionados:** 
+  [Optimize Data Pattern using Amazon Redshift Data Sharing](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [Optimize Amazon Athena Queries with New Query Analysis Tools ](https://www.youtube.com/watch?v=7JUyTqglmNU&ab_channel=AmazonWebServices) 

 **Exemplos relacionados:** 
+  [Driver CSI do Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 

# PERF03-BP05 Implementar padrões de acesso a dados que utilizem 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. 

 **Antipadrões comuns:** 
+  Você armazena em cache dados que mudam com frequência. 
+  Você depende dos dados em cache como se estivessem armazenados de forma durável e sempre disponíveis. 
+  Você não leva em conta a consistência dos seus dados em cache. 
+  Você não monitora a eficiência da sua implementação de cache. 

 **Benefícios de estabelecer esta prática recomendada:** armazenar dados em um cache pode melhorar a latência de leitura, 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 armazenamento de dados. 

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

 **Armazenamento em cache do lado do cliente** 

 Com o armazenamento em cache do lado do cliente, cada cliente (uma aplicação ou serviço que consulta o datastore de back-end) 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 verificando 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 back-end 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 back-end. 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 da implementação
<a name="implementation-steps"></a>

1.  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/) 
   +  [Ativação do armazenamento em cache da API para melhorar a capacidade de resposta](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) 

1.  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/) 

1.  Siga [Práticas recomendadas de armazenamento em cache](https://aws.amazon.com/caching/best-practices/) para seu armazenamento de dados. 

1.  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 back-end. 

1.  Ative recursos como novas tentativas automáticas de conexão, recuo exponencial, tempos limite do lado do cliente e pool de conexões no cliente, se disponíveis, pois eles podem melhorar o desempenho 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/) 

1.  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. 
   +  [Quais 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) 
   +  [Monitoramento das práticas recomendadas com 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/) 

1.  Implemente [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 o desempenho e a disponibilidade da leitura de dados. 

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

 **Documentos relacionados:** 
+  [Uso do Amazon ElastiCache Well-Architected Lens](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WellArchitechtedLens.html) 
+  [Monitoramento das práticas recomendadas com 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/) 
+  [Quais métricas devo monitorar?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 
+  [Whitepaper: Performance at Scale with Amazon ElastiCache (Desempenho em escala com 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:** 
+  [Amazon ElastiCache Learning Path (Roteiro de aprendizado do Amazon ElastiCache)](https://pages.awscloud.com/GLB-WBNR-AWS-OTT-2021_LP_0003-DAT_AmazonElastiCache.html) 
+  [Design for success with Amazon ElastiCache best practices (Projete para o sucesso com as práticas recomendadas do Amazon ElastiCache)](https://youtu.be/_4SkEy6r-C4) 

 **Exemplos relacionados:** 
+  [Como aumentar o desempenho do banco de dados MySQL com 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>

# PERFORMANCE 4. Como você seleciona e configura os recursos de rede em sua workload?
<a name="perf-04"></a>

 A solução de banco de dados mais eficaz para um sistema varia conforme os requisitos de disponibilidade, consistência, tolerância da partição, latência, durabilidade, escalabilidade e capacidade de consulta. Muitos sistemas usam soluções de banco de dados diferentes para vários subsistemas e acionam diferentes recursos para melhorar a performance. A seleção da solução e dos recursos de banco de dados incorretos para um sistema pode levar a uma menor performance do sistema. 

**Topics**
+ [PERF04-BP01 Compreender como as redes afetam a performance](perf_networking_understand_how_networking_impacts_performance.md)
+ [PERF04-BP02 Avaliar os recursos de redes 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 os protocolos de rede para melhorar o desempenho](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 desempenho eficiente e melhor experiência do usuário. 

 **Antipadrões comuns:** 
+  Todo o tráfego flui por meio dos datacenters 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 estabelecer 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 pela latência da rede, a largura de banda, os protocolos, a localização, a congestão da rede, a variação de latência (jitter), o throughput e as 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 redes 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 da implementação:
<a name="implementation-steps"></a>

1.  Defina e documente os requisitos de desempenho 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. 

1.  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), [O 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/r53/). 

1.  Capture as seguintes características principais de rede:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-10-03/framework/perf_networking_understand_how_networking_impacts_performance.html)

1.  Realize o teste comparativo e de performance da rede: 

   1.  [Realize o teste comparativo](https://aws.amazon.com/premiumsupport/knowledge-center/network-throughput-benchmark-linux-ec2/) do throughput da rede, pois alguns fatores podem afetar o desempenho 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 do Amazon EC2 Linux na mesma VPC. 

   1.  Execute [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 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/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Fazer a transição 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) 
+  [Logs de fluxo da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Vídeos relacionados:** 
+  [Connectivity to AWS and hybrid AWS network architectures (Conectividade com a AWS e arquiteturas de rede híbrida da AWS)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (Otimização da performance da rede para instâncias do Amazon EC2)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [Improve Global Network Performance for Applications (Melhorar a performance da rede global para aplicações)](https://youtu.be/vNIALfLTW9M) 
+  [EC2 Instances and Performance Optimization Best Practices (Práticas recomendadas para instâncias do EC2 e otimização da performance)](https://youtu.be/W0PKclqP3U0) 
+  [Optimizing Network Performance for Amazon EC2 Instances (Otimização da performance da rede para instâncias do Amazon EC2)](https://youtu.be/DWiwuYtIgu0) 
+  [Networking best practices and tips with the Well-Architected Framework (Práticas recomendadas e dicas de redes com o Well-Architected Framework)](https://youtu.be/wOMNpG49BeM) 
+  [AWS networking best practices in large-scale migrations (Práticas recomendadas da 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/) 

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

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

 **Antipadrões comuns:** 
+ Você permanece em uma Região, pois é onde sua sede 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 estabelecer 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 a espinha dorsal da AWS para garantir a experiência ideal de redes 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 [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) e o [Amazon CloudFront](https://aws.amazon.com/cloudfront/) que podem ajudar a melhorar o desempenho da rede, enquanto a maioria dos serviços da AWS tem recursos de produto (como a [Aceleração de Transferências do Amazon S3)](https://aws.amazon.com/s3/transfer-acceleration/) para otimizar o tráfego de rede. 

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

### Etapas da implementação
<a name="implementation-steps"></a>
+  Crie uma lista de componentes da workload. 
  +  Considere o uso de [Nuvem AWS WAN](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 [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 Regiões da AWS e Zonas de Disponibilidade, bem como dentro de cada Zona de Disponibilidade, usando [AWS Network Manager](https://aws.amazon.com/transit-gateway/network-manager/) para obter informações sobre como o desempenho da sua aplicação se relaciona com o desempenho da rede da AWS subjacente. 
  +  Use uma ferramenta de banco de dados de gerenciamento de configurações (CMDB) existente ou uma ferramenta como o [AWS Config](https://aws.amazon.com/config/) para criar um inventário de sua workload e como ela é configurada. 
+  Se for uma workload existente, identifique e documente a referência para suas métricas de performance, focando nos gargalos e nas áreas de melhoria. As métricas de rede associadas a performance vã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, instabilidade da rede e retransmissões. 
+  Se a workload for nova, 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, analise as opções de configuração para suas soluções a fim de identificar oportunidades de melhoria da performance. Confira as seguintes principais opções e recursos de rede:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-10-03/framework/perf_networking_evaluate_networking_features.html)

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

 **Documentos relacionados:** 
+ [Instâncias otimizadas para Amazon EBS ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)
+ [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/)
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)
+ [Fazer a transição para o roteamento baseado em latência no Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html)
+ [VPC Endpoints](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:** 
+ [Connectivity to AWS and hybrid AWS network architectures (Conectividade com a AWS e arquiteturas de rede híbrida da AWS)](https://www.youtube.com/watch?v=eqW6CPb58gs)
+ [Optimizing Network Performance for Amazon EC2 Instances (Otimização da 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)

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

 **Antipadrões comuns:** 
+  Você só avalia as soluções de VPN para seus requisitos de criptografia de rede. 
+  Você não avalia as opções de backup ou de conectividade redundante. 
+  Você não identifica todos os requisitos da workload (necessidades de criptografia, protocolo, largura de banda e tráfego). 

 **Benefícios de estabelecer 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 time-to-value. 

 **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 que você conecte sua rede on-premises de forma privada com a AWS. Isso lhe dará segurança quando você precisar de largura de banda alta e baixa latência com uma performance consistente. Uma conexão VPN estabelece uma conexão segura pela 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 não recomendamos o balanceamento de carga entre o Direct Connect e a VPN devido às diferenças de latência e largura de banda. 

### Etapas da implementação
<a name="implementation-steps"></a>

1.  Calcule os requisitos de largura de banda e latência de suas aplicações existentes. 

   1.  Para workloads existentes que estão sendo migradas para a AWS, utilize os dados de seus sistemas de monitoramento de rede internos. 

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

1.  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 a [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. 

   1.  [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 escalabilidade 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). 

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

1.  Siga a documentação da AWS para escolher uma opção de conectividade apropriada: 

   1.  Se você decidir usar o Direct Connect, selecione a largura de banda apropriada para sua conectividade. 

   1.  Se você usar uma AWS Site-to-Site VPN em vários locais para se conectar a uma Região da AWS, use uma [conexão de Site-to-Site VPN acelerada](https://docs.aws.amazon.com/vpn/latest/s2svpn/accelerated-vpn.html) para melhorar a performance da rede. 

   1.  Se o design da sua rede consistir em uma conexão VPN IPSec no [AWS Direct Connect](https://aws.amazon.com/directconnect/), considere o uso de VPN de IP privado para melhorar a segurança e conseguir segmentação. [A AWS Site-to-Site Private IP VPN](https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-site-to-site-vpn-private-ip-vpns/) é implantada sobre a interface virtual de trânsito (VIF). 

   1.  [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 datacenters em todo o mundo, enviando dados pelo caminho mais rápido entre [os locais do AWS Direct Connect](https://aws.amazon.com/directconnect/locations/), contornando Regiões da AWS. 

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

1.  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 desempenho determinístico nas suas redes ou não.\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-10-03/framework/images/deterministic-networking-flowchart.png)


 

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

 **Documentos relacionados:** 
+ [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/)
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)
+ [ Fazer a transição 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)
+  [Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) 
+  [Building a Scalable and Secure Multi-VPC AWS Network Infrastructure (Criação de uma infraestrutura de rede da AWS de várias VPCs escaláveis e seguras)](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) 
+  [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) 
+  [Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html) 

 **Vídeos relacionados:** 
+ [ Connectivity to AWS and hybrid AWS network architectures (Conectividade com a AWS e arquiteturas de rede híbrida da AWS) ](https://www.youtube.com/watch?v=eqW6CPb58gs)
+ [ Optimizing Network Performance for Amazon EC2 Instances (Otimização da 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=lAOhr-5Urfk) 
+  [Direct Connect](https://www.youtube.com/watch?v=DXFooR95BYc&t=6s) 
+  [AWS Transit Gateway Connect](https://www.youtube.com/watch?v=_MPY_LHSKtM&t=491s) 
+  [Soluções de VPN](https://www.youtube.com/watch?v=qmKkbuS9gRs) 
+  [Segurança com as soluções de VPN](https://www.youtube.com/watch?v=FrhVV9nG4UM) 

 **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-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 que a nuvem oferece. 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. 

 **Antipadrões comuns:** 
+  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 do desempenho. 
+  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 estabelecer 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 de sua 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, a partir do qual distribuem o tráfego para seus destinos de back-end, 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) é o mais adequado para balanceamento de carga de tráfego HTTP e HTTPS, e oferece roteamento avançado de solicitação direcionado para a entrega de arquiteturas de aplicações modernas, inclusive microsserviços e contêineres. 

 [O Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) é o 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 balanceador de carga e descarregar de sua workload as interações com uso intenso de CPU. 

 Depois de escolher o balanceador de carga certo, você pode começar a utilizar seus recursos para reduzir a quantidade de esforço que seu back-end precisa fazer para atender o tráfego. 

 Por exemplo, ao usar tanto o Application Load Balancer (ALB) como 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 back-ends, liberando os recursos de back-end e melhorando o tempo de resposta para os clientes. 

 O Application Load Balancer também pode fornecer tráfego HTTP/2 sem precisar comportá-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 o [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 desempenho eficiente está relacionado ao dimensionamento correto dos recursos de back-end. Para fazer isso, é possível utilizar as integrações do balanceador de carga para os recursos de destino de back-end. 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 se integrar com o [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) e o [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) 
+  [Balanceamento de carga da aplicação no Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html) 
+  [Balanceamento de carga da rede no Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/network-load-balancing.html) 

### Etapas da implementação
<a name="implementation-steps"></a>
+  Defina seus requisitos de balanceamento de carga, incluindo excelente volume, 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 que não são HTTP que executam TCP ou UDP. 
  +  Use uma combinação de ambos ([ALB como alvo do NLB](https://aws.amazon.com/blogs/networking-and-content-delivery/application-load-balancer-type-target-group-for-network-load-balancer/)) se você 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 uma comparação completa dos balanceadores de carga, consulte [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 com o [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 práticas recomendadas de segurança, consulte [SEC09-BP02 Aplicar a 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 back-end são bem-utilizados e, portanto, na forma como afetam o desempenho. Por exemplo, a 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 urgentes:** use para obter uma melhor distribuição de carga para seus destinos de back-end 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. Ele está desativado por padrão no NLB e no [ALB. Você pode desativá-lo por grupo-alvo](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/disable-cross-zone.html). 
  +  Ative a opção entre zonas para maior disponibilidade e flexibilidade. Por padrão, a opção entre zonas está ativada para o ALB. No [NLB, você pode ativá-la por grupo-alvo.](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 back-end 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 back-end. Para obter detalhes sobre como fazer isso para Apache e Nginx, consulte [Quais são as configurações ideais para usar o Apache ou o NGINX como servidor de back-end 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 o [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html) e o [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`, o `request_processing_time`e o `response_processing_time`. 
  +  Os principais campos a considerar para o NLB são `connection_time` e o `tls_handshake_time`. 
  +  Esteja pronto para consultar os logs quando precisar deles. Você pode usar o Amazon Athena para consultar tanto [os logs do ALB](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) e [os logs do NLB](https://docs.aws.amazon.com/athena/latest/ug/networkloadbalancer-classic-logs.html). 
  +  Crie alarmes para métricas relacionadas ao desempenho, como [`TargetResponseTime` para o 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 do ELB ](https://aws.amazon.com/elasticloadbalancing/features/) 
+  [AWS Global Infrastructure (Infraestrutura global da AWS) ](https://aws.amazon.com/about-aws/global-infrastructure/) 
+  [Improving Performance and Reducing Cost Using Availability Zone Affinity (Melhorar o desempenho 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/) 
+  [Step by step for Log Analysis with Amazon Athena (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) 
+  [Querying Application Load Balancer logs (Consulta de logs do Application Load Balancer)](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) 
+  [Monitor your Application Load Balancers (Monitore o Application Load Balancers)](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-monitoring.html) 
+  [Monitor your Network Load Balancer (Monitore o Network Load Balancer)](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-monitoring.html) 
+  [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group (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 2018: Elastic Load Balancing: Deep Dive and Best Practices (AWS re:Invent 2018: Elastic Load Balancing: aprofundamento e práticas recomendadas)](https://www.youtube.com/watch?v=VIgAT7vjol8) 
+  [AWS re:Invent 2021 - How to choose the right load balancer for your AWS workloads (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:Inforce 2022 - How to use Elastic Load Balancing to enhance your security posture at scale (AWS re:Inforce 2022: 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 2019: Get the most from Elastic Load Balancing for different workloads (AWS re:Invent 2019: aproveite ao máximo o Elastic Load Balancing para diferentes workloads)](https://www.youtube.com/watch?v=HKh54BkaOK0) 

 **Exemplos relacionados:** 
+  [CDK and CloudFormation samples for Log Analysis with Amazon Athena (Exemplos de CDK e CloudFormation para análise de log com o Amazon Athena) ](https://github.com/aws/elastic-load-balancing-tools/tree/master/log-analysis-elb-cdk-cf-template) 

# PERF04-BP05 Escolher os protocolos de rede para melhorar o desempenho
<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 (Protocolo de Controle de Transmissão), 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 User Datagram Protocol (UDP, protocolo de datagrama de usuário). 

 **Antipadrões comuns:** 
+  Você usa TCP para todas as workloads, independentemente dos requisitos de performance. 

 **Benefícios de estabelecer 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. 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 o desempenho da workload é entender os requisitos de latência e throughput e escolher os protocolos de rede que otimizam o desempenho. 

 **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. A transferência 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 os componentes da aplicação. 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 levar 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 um desempenho 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 uma grande quantidade de transferência de dados entre os nós. 

### Etapas da implementação
<a name="implementation-steps"></a>

1.  Use o [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) e o [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 (Protocolo de transferência de arquivos de Secure Shell) e FTPS (Protocolo de transferência de arquivos por SSL), para escalar e gerenciar com segurança as transferências de arquivos para os serviços de armazenamento da AWS. 

1.  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 fornece conteúdo dinâmico aos 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. 

1.  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 essas workloads, considere o descarregamento de SSL/TLS no [Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/) para melhorar o desempenho 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 back-end façam isso. Isso pode ajudar a reduzir a utilização da CPU nas instâncias de back-end, o que pode melhorar o desempenho e aumentar a capacidade. 

1.  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 o desempenho 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. 

1.  Para suas workloads de computação de alta performance (HPC), considere usar a funcionalidade do [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 o desempenho da rede fornecendo uma maior largura de banda de fluxo único (25 Gbps) e menor latência final (99,9 percentil) para o tráfego de rede entre instâncias do EC2. 

1.  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 desempenho, 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:** 
+  [Instâncias otimizadas para Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [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/) 
+  [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Fazer a transição para o roteamento baseado em latência no Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [VPC Endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Logs de fluxo da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Vídeos relacionados:** 
+  [Connectivity to AWS and hybrid AWS network architectures (Conectividade com a AWS e arquiteturas de rede híbrida da AWS)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (Otimização da performance da rede para instâncias do Amazon EC2)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

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

 **Antipadrões comuns:** 
+  Você consolida todos os recursos da workload em uma única localização geográfica. 
+  Você escolhe a Região mais próxima ao seu local, mas não ao usuário final da workload. 

 **Benefícios de estabelecer 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, você pode 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 [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 [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 o desempenho 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, com oscilação reduzida 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 da implementação
<a name="implementation-steps"></a>
+  Capture informações sobre o tráfego IP que entra e sai das interfaces de rede. 
  + [ Registro em log do tráfego IP usando logs de fluxo de 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 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) e o [AWS CloudTrail](https://aws.amazon.com/cloudtrail/), para coletar dados sobre as atividades da rede. 
  +  Analise os dados para identificar o padrão de acesso à rede. 
+  Selecione as Regiões para implantação da workload com base nos seguintes elementos fundamentais: 
  +  **A localização dos seus dados:** para aplicações com uso intenso de dados (como big data e machine learning), o código da aplicação deve ser executado o mais perto possível dos dados. 
  +  **A localização dos seus usuários**: para aplicações voltadas ao usuário, escolha uma Região (ou Regiões) próxima dos clientes de sua workload. 
  +  **Outras restrições**: leve em conta restrições, como custo e conformidade, conforme explicado em [O que considerar ao selecionar uma região para suas workloads.](https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/)
+  Use [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 [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 tais aplicações, 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 armazenamento em cache local ou [soluções de armazenamento em cache da AWS](https://aws.amazon.com/caching/aws-caching/) para ativos usados com frequência a fim de aumentar a performance, reduzir a movimentação de dados e reduzir o impacto ambiental.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-10-03/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/2023-10-03/framework/perf_networking_choose_workload_location_network_requirements.html)
+  Algumas aplicações exigem pontos de entrada fixos ou maior desempenho ao reduzir a tremulação 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. [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) pode melhorar o desempenho de suas aplicações em até 60% e fornecer failover rápido para arquiteturas multirregionais. 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 o desempenho 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:** 
+ [AWS Global Infrastructure (Infraestrutura global da AWS) ](https://aws.amazon.com/about-aws/global-infrastructure/)
+ [AWS Local Zones and AWS Outposts, choosing the right technology for your edge workload (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:** 
+ [AWS Local Zones Explainer Video (Vídeo de explicação de zonas locais da AWS) ](https://www.youtube.com/watch?v=JHt-D4_zh7w)
+ [AWS Outposts: Overview and How it Works (AWS Outposts: visão geral e como funciona ](https://www.youtube.com/watch?v=ppG2FFB0mMQ)
+ [AWS re:Invent 2021 - AWS Outposts: Bringing the AWS experience on premises (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: Run apps with ultra-low latency at 5G edge (AWS re:Invent 2020: AWS Wavelength: execute aplicativos com latência ultrabaixa na borda 5G) ](https://www.youtube.com/watch?v=AQ-GbAFDvpM)
+ [AWS re:Invent 2022 - AWS Local Zones: Building applications for a distributed edge (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 - Building low-latency websites with Amazon CloudFront (AWS re:Invent 2021: criação de sites de baixa latência com o Amazon CloudFront) ](https://www.youtube.com/watch?v=9npcOZ1PP_c)
+ [AWS re:Invent 2022 - Improve performance and availability with AWS Global Accelerator (AWS re:Invent 2022: melhore a performance e a disponibilidade com o AWS Global Accelerator) ](https://www.youtube.com/watch?v=s5sjsdDC0Lg)
+ [AWS re:Invent 2022 - Build your global wide area network using AWS (AWS re:Invent 2022: crie sua rede de longa distância usando a AWS) ](https://www.youtube.com/watch?v=flBieylTwvI)
+ [AWS re:Invent 2020: Global traffic management with Amazon Route 53 (AWS re:Invent 2020: gerenciamento de tráfego global com o Amazon Route 53) ](https://www.youtube.com/watch?v=E33dA6n9O7I)

 **Exemplos relacionados:** 
+ [ Workshop do AWS Global Accelerator](https://catalog.us-east-1.prod.workshops.aws/workshops/effb1517-b193-4c59-8da5-ce2abdb0b656/en-US)
+ [ Handling Rewrites and Redirects using Edge Functions (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. 

 **Antipadrões comuns:** 
+  Você pressupõe que todos os problemas relacionados à performance são relacionados à aplicação. 
+  Você só testa a performance da rede a partir de um local próximo ao local em que implantou a carga de trabalho. 
+  Você usa configurações-padrão para todos os serviços de rede. 
+  Você provisiona em excesso recursos de rede para fornecer capacidade suficiente. 

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

 **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 da implementação
<a name="implementation-steps"></a>
+  Identifique as principais métricas de desempenho, 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/2023-10-03/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 Network Access Analyzer pode ajudar nessa tarefa. 

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

 **Documentos relacionados:** 
+  [Logs de fluxo da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Registro em log de consulta ao DNS público](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) 
+  [O que é o 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 Network Access Analyzer?](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) 
+  [Otimize o desempenho e reduza os custos de análise da 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/) 
+  [Monitoramento de suas redes globais e principais com métricas do Amazon CloudWatch](https://docs.aws.amazon.com/vpc/latest/tgwnm/monitoring-cloudwatch-metrics.html) 
+  [Monitore 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:** 
+  [Networking best practices and tips with the AWS Well-Architected Framework (Práticas recomendadas e dicas de redes com o AWS Well-Architected Framework) ](https://www.youtube.com/watch?v=wOMNpG49BeM) 
+  [Monitoring and troubleshooting network traffic (Monitoramento e resolução de 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) 

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

# PERFORMANCE 5. Como suas práticas e cultura organizacionais contribuem para a eficiência do desempenho 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 de nuvem eficientes e de alto desempenho. Para adotar uma cultura que promova a eficiência do desempenho das workloads na nuvem, considere estes princípios e práticas fundamentais: 

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

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

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

 **Antipadrões comuns:** 
+  Você só monitora as métricas no nível do sistema para obter informações da workload e não compreende aos impactos dessas métricas nos negócios. 
+  Você pressupõe que os KPIs já estejam publicados e compartilhados como dados de métricas comuns. 
+  Você não define um KPI quantitativo e mensurável. 
+  Você não alinha os KPIs às metas ou estratégias empresariais. 

 **Benefícios de estabelecer esta prática recomendada:** Identificar KPIs específicos que representam a integridade e o desempenho 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 empresariais. Por exemplo, a workload de um site pode usar o tempo de carregamento da página como uma indicação de desempenho 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 o desempenho ideal não for atingido. 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 atual 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 mudam as metas e as estratégias da empresa ou os requisitos dos usuários finais.   

## Etapas da implementação
<a name="implementation-steps"></a>

1.  Identifique e documente as principais partes interessadas da empresa. 

1.  Trabalhe com essas partes interessadas para definir e documentar os objetivos da workload. 

1.  Analise as práticas recomendadas do setor para identificar KPIs relevantes alinhados aos objetivos da workload. 

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

1.  Identifique e documente o risco e o impacto no caso de um KPI não ser atendido. 

1.  Identifique e documente métricas que podem ajudar a estabelecer os KPIs. 

1.  Use ferramentas de monitoramento, como [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) ou [AWS Config](https://aws.amazon.com/config/) para coletar métricas e medir KPIs. 

1.  Use painéis para visualizar e comunicar os KPIs com as partes interessadas. 

1.  Revise e analise regularmente as métricas para identificar áreas da workload que precisam ser aprimoradas. 

1.  Revise os KPIs quando as metas empresariais ou a performance da workload mudarem. 

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

 **Documentos relacionados:** 
+  [Documentação da 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) 
+  [Documentação do X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Using Amazon CloudWatch dashboards](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html?ref=wellarchitected) 
+  [Quick KPIs](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 

 **Vídeos relacionados:** 
+  [AWS re:Invent 2019: Scaling up to your first 10 million users](https://www.youtube.com/watch?v=kKjm4ehYiMs&ref=wellarchitected) 
+  [Cut through the chaos: Gain operational visibility and insight](https://www.youtube.com/watch?v=nLYGbotqHd0&ref=wellarchitected) 
+  [Build a monitoring plan](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 **Exemplos relacionados:** 
+  [Creating a dashboard with Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 

# PERF05-BP02 Use soluções de monitoramento para entender as áreas em que o desempenho é mais crítico
<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. 

 **Antipadrões comuns:** 
+  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 estabelecer esta prática recomendada:** Compreender áreas críticas de desempenho ajuda os proprietários de workloads a monitorar KPIs e priorizar melhorias de alto impacto. 

 **Nível de risco exposto se essa 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 desempenho 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. 

 aumentar a eficiência do desempenho 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. Identificar 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 desempenho. 

### Etapas da implementação
<a name="implementation-steps"></a>

1.  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/2023-10-03/framework/perf_process_culture_use_monitoring_solutions.html)

1.  Realize testes para gerar métricas, identificar padrões de tráfego, gargalos e áreas de desempenho críticas. Aqui estão alguns exemplos de como realizar testes: 
   +  Configure o [Canários sintéticos do CloudWatch](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 de taxa para gerar métricas consistentes ao longo do tempo. 
   +  Use o [Testes de carga distribuída da AWS](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. 

1.  Avalie as métricas e a telemetria para identificar as áreas de desempenho críticas. Avalie essas áreas com sua equipe para discutir sobre o monitoramento e as soluções visando evitar gargalos. 

1.  Experimente melhorias de desempenho e meça essas alterações com dados. Por exemplo, você pode usar o [CloudWatch Evidently](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently.html) para testar novas melhorias e impactos na performance da workload. 

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

 **Documentos relacionados:** 
+  [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:** 
+  [The Amazon Builders’ Library: 25 years of Amazon operational excellence](https://www.youtube.com/watch?v=DSRhgBd_gtw) 
+  [Visual Monitoring of Applications with Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=_PCs-ucZz7E) 

 **Exemplos relacionados:** 
+  [Measure page load time with Amazon CloudWatch Synthetics (Medição do tempo de carga da página com o Amazon CloudWatch Synthetics)](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web Client (Cliente da web do Amazon CloudWatch RUM)](https://github.com/aws-observability/aws-rum-web) 
+  [X-Ray SDK para Node.js](https://github.com/aws/aws-xray-sdk-node) 
+  [X-Ray SDK para Python](https://github.com/aws/aws-xray-sdk-python) 
+  [X-Ray SDK para Java](https://github.com/aws/aws-xray-sdk-java) 
+  [X-Ray SDK para .Net](https://github.com/aws/aws-xray-sdk-dotnet) 
+  [X-Ray SDK para Ruby](https://github.com/aws/aws-xray-sdk-ruby) 
+  [Daemon do X-Ray](https://github.com/aws/aws-xray-daemon) 
+  [Testes de carga distribuída na AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF05-BP03 Defina 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 conforme ficarem disponíveis. Por exemplo, execute testes de performance existentes em novas ofertas de instância para determinar o potencial delas de aprimorar sua carga de trabalho. 

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

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

### Etapas da implementação
<a name="implementation-steps"></a>
+  Identifique seus KPIs de performance da workload conforme descrito em [PERF05-BP01 Estabeleça indicadores-chave de desempenho (KPIs) para medir a integridade e o desempenho da workload](perf_process_culture_establish_key_performance_indicators.md) para basear sua workload. 
+  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. 
+  Faça uma análise aprofundada para identificar as áreas (como configuração e código da aplicação) na workload que estão com baixa performance, conforme descrito em [PERF05-BP02 Use soluções de monitoramento para entender as áreas em que o desempenho é mais crítico](perf_process_culture_use_monitoring_solutions.md). 
+  Use suas ferramentas de análise e desempenho para identificar a estratégia de otimização de desempenho. 
+  Use ambientes de sandbox ou de pré-produção para validar a eficácia da estratégia. 
+  Implemente as mudanças na produção e monitore constantemente o desempenho da workload. 
+  Documente as melhorias e comunique isso às partes interessadas. 

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

 **Vídeos relacionados:** 
+  [Canal AWS Events no YouTube](https://www.youtube.com/channel/UCdoadna9HFHsxXWhafhNvKw) 
+  [Canal Online Tech Talks da AWS no YouTube](https://www.youtube.com/user/AWSwebinars) 
+  [Canal da Amazon Web Services no YouTube](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 

 **Exemplos relacionados:** 
+  [AWS Github](https://github.com/aws) 
+  [AWS Skill Builder](https://explore.skillbuilder.aws/learn) 

# PERF05-BP04 Faça 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 desempenho. 

 **Antipadrões comuns:** 
+  Você realiza um teste de carga de peças individuais da workload, mas não toda a workload. 
+  Você realiza um teste de carga em uma infraestrutura que não é igual ao seu ambiente de produção. 
+  Você só realiza testes de carga para a carga esperada e não para além dela, para ajudar a prever onde você pode ter problemas futuros. 
+  Você realiza 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 estabelecer 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 carga de trabalho. 

 **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 o desempenho 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 Key Performance Indicators (KPI – Indicadores-chave de performance) e limites predefinidos. Esse processo ajuda você a continuar alcançando o desempenho necessário. 

### Etapas da implementação
<a name="implementation-steps"></a>
+  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. 
+  Escolha e configure a ferramenta de teste de carga adequada à workload. 
+  Defina os cenários e parâmetros do teste de carga (como duração do teste e número de usuários). 
+  Execute 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. 
+  Monitore e registre métricas de desempenho (como throughput e tempo de resposta). O Amazon CloudWatch pode coletar métricas entre os recursos em sua arquitetura. Você também pode coletar e publicar métricas personalizadas para descobrir métricas de negócio ou derivadas. 
+  Analise os resultados para identificar gargalos de desempenho e áreas para melhorias. 
+  Documente e relate o processo e os resultados do teste de carga. 

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

 **Documentos relacionados:** 
+  [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [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) 
+  [Testes de carga distribuída na AWS](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Vídeos relacionados:** 
+  [Solving with AWS Solutions: Distributed Load Testing](https://www.youtube.com/watch?v=Y-2rk0sSyOM) 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo of Amazon CloudWatch Synthetics (Demonstração do Amazon CloudWatch Synthetics)](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

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

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

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

 **Antipadrões comuns:** 
+  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 estabelecer 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 desempenho (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 conforme sua carga de trabalho estiver sendo executada. Para determinar se a performance da carga de trabalho é ideal, crie painéis de monitoramento e estabeleça normas de linha de base para as expectativas de performance. 

### Etapas da implementação
<a name="implementation-steps"></a>
+  Identifique e compreenda o problema de desempenho 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 ajudar você a entender melhor a causa raiz do problema. 
+  Crie um plano e um processo de correção detalhados que possam ser usados para corrigir automaticamente o problema. 
+  Configure o gatilho 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. 
+  Use serviços e tecnologias da AWS para automatizar o processo de correção. Por exemplo: [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. 
+  Teste o processo de correção automatizado em um ambiente de pré-produção. 
+  Após o teste, implemente o processo de correção no ambiente de produção e monitore constantemente para identificar áreas de melhoria. 

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

 **Documentos relacionados:** 
+  [Documentação do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Parceiros da AWS Partner Network de monitoramento, registro em log e performance](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) 
+  [Using Alarms and Alarm Actions in CloudWatch](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-using-alarm-actions.html) 

 **Vídeos relacionados:** 
+  [Intelligently automating cloud operations (Automatizar de forma inteligente as operações na nuvem)](https://www.youtube.com/watch?v=m0S8eAF0l54) 
+  [Setting up controls at scale in your AWS environment](https://www.youtube.com/watch?v=NkE9_okfPG8) 
+  [Automating patch management and compliance using AWS](https://www.youtube.com/watch?v=gL3baXQJvc0) 
+  [How Amazon uses better metrics for improved website performance (Como a Amazon usa métricas melhores para aprimorar o desempenho do site)](https://www.youtube.com/watch?v=_uaaCiyJCFA&ab_channel=AWSEvents) 

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

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

 Atualize-se com relação aos novos serviços e atributos de nuvem para adotar recursos eficientes, remover problemas e melhorar a eficiência geral do desempenho da workload. 

 **Antipadrões comuns:** 
+  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 estabelecer 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 o desempenho conforme são disponibilizados novos serviços, padrões de design e atributos de produtos. Determine quais deles poderiam aprimorar o desempenho 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, execute testes de desempenho para medir o impacto que eles têm sobre o desempenho da workload. 

## Etapas da implementação
<a name="implementation-steps"></a>
+  Fazer o inventário de software e arquitetura da workload e identificar os componentes que precisam ser atualizados. 
+  Identifique novidades e atualize fontes relacionadas aos componentes da workload. Por exemplo, você pode se inscrever no [What’s New at AWS](https://aws.amazon.com/new/) para os produtos que correspondem ao componente da workload. Você pode assinar o feed RSS ou gerenciar suas [assinaturas de e-mail](https://pages.awscloud.com/communication-preferences.html). 
+  Defina um cronograma para avaliar novos serviços e atributos para a workload. 
  +  Você pode usar o [inventário do AWS Systems Manager](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. 
+  Entenda como atualizar os componentes de sua workload. Aproveite a agilidade da nuvem para testar rapidamente como novos atributos podem melhorar a workload com o intuito de obter eficiências de performance. 
+  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. 
  +  Você pode usar o [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 [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 programar a atividade usando [Janelas de Manutenção do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). 
+  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 empresariais 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) 

 **Vídeos relacionados:** 
+  [Canal AWS Events no YouTube](https://www.youtube.com/channel/UCdoadna9HFHsxXWhafhNvKw) 
+  [Canal Online Tech Talks da AWS no YouTube](https://www.youtube.com/user/AWSwebinars) 
+  [Canal da Amazon Web Services no YouTube](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 

 **Exemplos relacionados:** 
+  [Laboratórios do Well-Architected: Gerenciamento de inventário e patches](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_inventory_patch_management/) 
+  [Laboratório: AWS Systems Manager](https://mng.workshop.aws/ssm.html) 

# PERF05-BP07 Analise 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, analise as métricas que 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. 

 **Antipadrões comuns:** 
+  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 estabelecer 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, de modo que você possa 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, de modo que você possa prevenir ou resolver incidentes futuros mais rapidamente. 

### Etapas da implementação
<a name="implementation-steps"></a>

1. Defina métricas essenciais de desempenho a serem monitoradas que estejam alinhadas ao seu objetivo de workload. 

1. Defina uma linha de base e um valor desejável para cada métrica. 

1. Defina uma frequência (como semanal ou mensal) para revisar as métricas essenciais. 

1. Durante cada revisão, avalie as tendências e o desvio dos valores base. Procure gargalos ou anomalias de desempenho. 

1. Para os problemas identificados, realize uma análise aprofundada da causa raiz para entender o principal motivo do problema. 

1. Documente as descobertas e use estratégias para lidar com os problemas e gargalos identificados. 

1. Avalie e melhore constantemente o processo de revisão de métricas.

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

 **Documentos relacionados:** 
+  [Documentação do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Collect metrics and logs from Amazon EC2 Instances and on-premises servers with the CloudWatch Agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+  [Parceiros da AWS Partner Network de monitoramento, registro em log e performance](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:** 
+  [Setting up controls at scale in your AWS environment](https://www.youtube.com/watch?v=NkE9_okfPG8) 
+  [How Amazon uses better metrics for improved website performance (Como a Amazon usa métricas melhores para aprimorar o desempenho do site)](https://www.youtube.com/watch?v=_uaaCiyJCFA&ab_channel=AWSEvents) 

 **Exemplos relacionados:** 
+  [Creating a dashboard with Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 
+  [Level 100: Monitoring with CloudWatch Dashboards](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 