

# Seleção
Seleção

**Topics**
+ [

# PERF 1  Como você seleciona a arquitetura de melhor performance?
](w2aac19c11b5b5.md)
+ [

# PERF 2  Como você seleciona sua solução de computação?
](w2aac19c11b5b7.md)
+ [

# PERF 3  Como você seleciona sua solução de armazenamento?
](w2aac19c11b5b9.md)
+ [

# PERF 4  Como você seleciona sua solução de banco de dados?
](w2aac19c11b5c11.md)
+ [

# PERF 5  Como você configura sua solução de rede?
](w2aac19c11b5c13.md)

# PERF 1  Como você seleciona a arquitetura de melhor performance?


 Muitas vezes, é necessário empregar várias abordagens para obter a performance ideal em uma carga de trabalho. Os sistemas com boa arquitetura usam várias soluções e recursos para aprimorar a performance. 

**Topics**
+ [

# PERF01-BP01 Compreender os serviços e os recursos disponíveis
](perf_performing_architecture_evaluate_resources.md)
+ [

# PERF01-BP02 Definir um processo para as opções de arquitetura
](perf_performing_architecture_process.md)
+ [

# PERF01-BP03 Fatorar os requisitos de custo ao tomar decisões
](perf_performing_architecture_cost.md)
+ [

# PERF01-BP04 Usar políticas ou arquiteturas de referência
](perf_performing_architecture_use_policies.md)
+ [

# PERF01-BP05 Usar as orientações do seu provedor de nuvem ou de um parceiro apropriado
](perf_performing_architecture_external_guidance.md)
+ [

# PERF01-BP06 Realizar testes comparativos das workloads
](perf_performing_architecture_benchmark.md)
+ [

# PERF01-BP07 Teste de carga da workload
](perf_performing_architecture_load_test.md)

# PERF01-BP01 Compreender os serviços e os recursos disponíveis
PERF01-BP01 Compreender os serviços e os recursos disponíveis

 Conheça e compreenda a ampla gama de serviços e recursos disponíveis na nuvem. Identifique os serviços e opções de configuração relevantes para sua carga de trabalho e entenda como alcançar a performance ideal. 

 Caso esteja avaliando uma carga de trabalho existente, é necessário gerar um inventário dos vários recursos de serviços que ela consome. Seu inventário ajuda a avaliar quais componentes podem ser substituídos por serviços gerenciados e tecnologias mais recentes. 

 **Antipadrões comuns:** 
+  Você usa a nuvem como um datacenter colocalizado. 
+  Você usa o armazenamento compartilhado para todas as coisas que precisam de armazenamento persistente. 
+  Você não usa a escalabilidade automática. 
+  Você usa tipos de instância mais próximos aos padrões atuais, mas maiores, quando necessário. 
+  Você implanta e gerencia tecnologias disponíveis como serviços gerenciados. 

 **Benefícios do estabelecimento desta prática recomendada:** Ao considerar os serviços com os quais você não está familiarizado, você pode reduzir significativamente o custo da infraestrutura e o esforço necessário para manter seus serviços. Você pode acelerar seu tempo de entrada no mercado implantando novos serviços e recursos. 

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

## Orientações para a implementação
Orientações para a implementação

 Fazer o inventário do software da workload e da arquitetura dos serviços relacionados: colete um inventário da sua workload e decida sobre qual categoria de produtos saber mais. Identifique os componentes da workload que podem ser substituídos por serviços gerenciados para melhorar a performance e reduzir a complexidade operacional. 

## Recursos
Recursos

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

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

# PERF01-BP02 Definir um processo para as opções de arquitetura
PERF01-BP02 Definir um processo para as opções de arquitetura

 Use a experiência e o conhecimento internos da nuvem ou os recursos externos, como casos de uso publicados, documentação relevante ou whitepapers para definir um processo para escolher recursos e serviços. Você deve definir um processo que incentive a experimentação e o benchmarking com os serviços que poderiam ser usados em sua carga de trabalho. 

 Ao escrever histórias críticas de usuários para sua arquitetura, inclua os requisitos de performance, como especificar a rapidez em que cada história crítica deve ser executada. Para essas histórias essenciais, implemente jornadas de usuário em roteiros adicionais a fim de garantir a visibilidade da performance delas em relação aos seus requisitos. 

 **Antipadrões comuns:** 
+  Você pressupõe que sua arquitetura atual se tornará estática e não será atualizada ao longo do tempo. 
+  Você apresenta alterações de arquitetura ao longo do tempo sem justificativa. 

 **Benefícios do estabelecimento desta prática recomendada:** Ao ter um processo definido para fazer alterações de arquitetura, você habilita o uso dos dados coletados para influenciar o design da carga de trabalho ao longo do tempo. 

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

## Orientações para a implementação
Orientações para a implementação

 Selecionar uma abordagem da arquitetura: identifique o tipo de arquitetura que atende aos seus requisitos de performance. Identifique restrições como o meio de entrega (desktop, web, dispositivo móvel, IoT), requisitos legados e integrações. Identifique oportunidades para reutilização, incluindo refatoração. Consulte outras equipes, diagramas de arquitetura e recursos, como os arquitetos de solução da AWS, as arquiteturas de referência da AWS e os parceiros da AWS, para ajudá-lo a escolher uma arquitetura. 

 Definir métricas de performance: use a experiência do cliente para identificar as métricas mais importantes. Para cada métrica, identifique o alvo, a abordagem de medição e a prioridade. Defina a experiência do cliente. Documente a experiência de performance exigida pelos clientes, incluindo como os clientes julgarão a performance da carga de trabalho. Priorize questões de experiência para histórias de usuário importantes. Inclua requisitos de performance e implemente jornadas de usuários com script para garantir que você saiba como as histórias se comportam de acordo com seus requisitos. 

## Recursos
Recursos

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

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [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 Fatorar os requisitos de custo ao tomar decisões
PERF01-BP03 Fatorar os requisitos de custo ao tomar decisões

 Muitas vezes, as cargas de trabalho têm requisitos de custo para operação. Use controles internos de custo para selecionar tipos e tamanhos de recursos com base na necessidade prevista dos respectivos recursos. 

 Determine quais componentes da workload podem ser substituídos por serviços totalmente gerenciados, como bancos de dados gerenciados, caches na memória e outros serviços de ETL. A redução de sua carga de trabalho operacional permite que você concentre os recursos em resultados empresariais. 

 Para conhecer as melhores práticas de requisitos de custo, consulte a seção *Recursos econômicos* do [whitepaper sobre o pilar de otimização de custos](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html). 

 **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ê só usa o armazenamento em bloco. 
+  Implante software comum em instâncias do EC2 e volumes do Amazon EBS ou efêmeros disponíveis como um serviço gerenciado. 

 **Benefícios do estabelecimento desta prática recomendada:** Considerar o custo ao fazer suas escolhas permitirá que você habilite outros investimentos. 

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

## Orientações para a implementação
Orientações para a implementação

 Otimizar os componentes da workload para reduzir custos: dimensione os componentes da workload e habilite a elasticidade para reduzir custos e maximizar a eficiência dos componentes. Determine quais componentes da carga de trabalho podem ser substituídos por serviços gerenciados quando apropriado, como bancos de dados gerenciados, caches na memória e proxies reversos. 

## Recursos
Recursos

 **Documentos relacionados:** 
+  [Centro de Arquitetura da AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Biblioteca de soluções da AWS](https://aws.amazon.com/solutions/) 
+  [Centro de Conhecimentos da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1) (Otimizar a performance e os custos de sua computação da AWS (CMP323-R1)) ](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 (Dimensionamento correto com o AWS Compute Optimizer e utilização da memória ativada)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Código para demonstração do AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF01-BP04 Usar políticas ou arquiteturas de referência
PERF01-BP04 Usar políticas ou arquiteturas de referência

 Maximize a performance e a eficiência avaliando políticas internas e arquiteturas de referência existentes, usando sua análise a fim de selecionar serviços e configurações para sua carga de trabalho. 

 **Antipadrões comuns:** 
+  Você permite um amplo uso da escolha de tecnologia, que pode afetar a sobrecarga de gerenciamento da sua empresa. 

 **Benefícios do estabelecimento desta prática recomendada:** Estabelecer uma política para opções de arquitetura, tecnologia e fornecedor permitirá que as decisões sejam tomadas rapidamente. 

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

## Orientações para a implementação
Orientações para a implementação

 Implantar a workload usando políticas existentes ou arquiteturas de referência: integre os serviços à sua implantação de nuvem e use os testes de performance para garantir que seja possível continuar a atender aos requisitos de performance. 

## Recursos
Recursos

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

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [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-BP05 Usar as orientações do seu provedor de nuvem ou de um parceiro apropriado
PERF01-BP05 Usar as orientações do seu provedor de nuvem ou de um parceiro apropriado

 Use recursos da empresa de nuvem, como arquitetos de soluções, serviços profissionais ou um parceiro apropriado para orientar suas decisões. Esses recursos podem ajudar a analisar e melhorar sua arquitetura para alcançar uma performance ideal. 

 Entre em contato com a AWS para obter assistência quando precisar de orientações ou informações adicionais 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. [Os 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 seus negócios. 

 **Antipadrões comuns:** 
+  Você usa a AWS como um provedor de datacenter comum. 
+  Você usa os serviços da AWS de uma maneira para a qual eles não foram projetados. 

 **Benefícios do estabelecimento desta prática recomendada:** Consultar o seu provedor ou um parceiro trará confiança para sua tomada de decisões. 

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

## Orientações para a implementação
Orientações para a implementação

 Entrar em contato com os recursos da AWS para obter assistência: os arquitetos de soluções e o AWS Professional Services fornecem orientações para a implementação de soluções. Os parceiros da APN fornecem a experiência na AWS para ajudar você a adquirir agilidade e inovação para a sua empresa. 

## Recursos
Recursos

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

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

# PERF01-BP06 Realizar testes comparativos das workloads
PERF01-BP06 Realizar testes comparativos das workloads

 Faça um teste comparativo de uma carga de trabalho para entender a performance dela na nuvem. Use os dados coletados em benchmarks para direcionar as decisões de arquitetura. 

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

 Você pode criar seus próprios testes comparativos personalizados, ou usar um teste padrão do setor, como o [TPC-DS](http://www.tpc.org/tpcds/) para fazer testes comparativos das suas cargas de trabalho de data warehouse. 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 a fim de garantir resultados válidos. Execute o mesmo benchmark várias vezes para assegurar 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 benchmarking em conjunto com testes de carga é importante porque o teste de carga informa como será a performance de sua carga de trabalho em produção. 

 **Antipadrões comuns:** 
+  Você depende de testes comparativos comuns que não são indicativos das características da carga de trabalho. 
+  Você conta com o feedback e as percepções de clientes como seu único teste comparativo. 

 **Benefícios do estabelecimento desta prática recomendada:** O benchmarking da sua implementação atual permite medir a melhoria da performance. 

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

## Orientações para a implementação
Orientações para a implementação

 Monitorar a performance durante o desenvolvimento: implemente processos que deem visibilidade da performance à medida que a workload evolui. 

 Integrar-se com o pipeline de entrega: execute testes de carga automáticos em seu pipeline de entrega. Compare os resultados do teste com indicadores-chave de performance (KPIs) e limites predefinidos para garantir que você continue atendendo aos requisitos de performance. 

 Testar a jornada dos usuários: use versões sintéticas ou limpas de dados de produção (remova informações confidenciais ou de identificação) para o teste de carga. Exercite toda sua arquitetura usando jornadas do usuário reproduzidas ou pré-programadas por meio de seu aplicativo em escala. 

 Monitoramento de usuários reais: use o CloudWatch RUM para ajudar a coletar e visualizar dados do lado do cliente sobre a performance da sua aplicação. Use esses dados para ajudar a estabelecer testes comparativos de performance de usuários reais. 

## Recursos
Recursos

 **Documentos relacionados:** 
+  [Centro de Arquitetura da AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Biblioteca de soluções da AWS](https://aws.amazon.com/solutions/) 
+  [Centro de Conhecimentos da AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [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:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimize applications through Amazon CloudWatch RUM (Otimizar as aplicações por meio do 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) 
+  [Testes de carga distribuída](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [Medição do tempo de carga da página com o Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Cliente da web do Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 

# PERF01-BP07 Teste de carga da workload
PERF01-BP07 Teste de carga da workload

 Implante sua arquitetura de carga de trabalho mais recente na nuvem usando recursos de diferentes tipos e tamanhos. Monitore a implantação a fim de capturar métricas de performance que identificam gargalos ou excessos de capacidade. Use essas informações de performance para projetar ou aprimorar a seleção de sua arquitetura e dos respectivos recursos. 

 Testes de carga usam sua carga de trabalho *real* para que você possa verificar a performance da solução em um ambiente de produção. 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). Empregue reproduções ou pré-programações de jornadas de usuário em escala em sua carga de trabalho para exercitar toda a sua arquitetura. 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. Isso garante que você continue a alcançar a performance necessária. 

 **Antipadrões comuns:** 
+  Você realiza um teste de carga de peças individuais da carga de trabalho, mas não toda a carga de trabalho. 
+  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. 
+  Executar testes de carga sem informar o AWS Support e ter o teste anulado por parecer um evento de negação de serviço. 

 **Benefícios do estabelecimento desta 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 exposição a riscos quando esta prática recomendada não é estabelecida:** Baixo 

## Orientações para a implementação
Orientações para a implementação

 Validar sua abordagem com testes de carga: o teste de carga é uma comprovação de conceito para descobrir se você atende aos requisitos de performance. É possível usar os serviços da AWS para executar ambientes em escala de produção para testar a arquitetura. Como você paga apenas pelo ambiente de teste quando precisa usá-lo, é possível realizar um teste em escala total a um custo bem menor do que usando um ambiente no local. 

 Monitorar métricas: o Amazon CloudWatch pode coletar métricas entre os recursos da 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. 

 Testar em escala: os testes de carga usam a workload real para que você possa verificar a performance da solução em um ambiente de produção. É possível usar os serviços da AWS para executar ambientes em escala de produção para testar a arquitetura. Como você apenas paga pelo ambiente de teste quando ele é necessário, pode realizar um teste em escala total a um custo menor do que usando um ambiente no local. Aproveite o Nuvem AWS para testar a workload para 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. 

## Recursos
Recursos

 **Documentos relacionados:** 
+  [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [Building AWS CloudFormation Templates using CloudFormer (Criação de modelos do AWS CloudFormation usando o CloudFormer)](https://aws.amazon.com/blogs/devops/building-aws-cloudformation-templates-using-cloudformer/) 
+  [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:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Optimize applications through Amazon CloudWatch RUM (Otimizar as aplicações por meio do 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/) 

# PERF 2  Como você seleciona sua solução de computação?


A solução de computação ideal para uma carga de trabalho varia conforme o design do aplicativo, os padrões de uso e as definições de configuração. As arquiteturas podem usar diferentes soluções de computação para vários componentes e podem habilitar diferentes recursos para melhorar a performance. Selecionar a solução de computação incorreta para uma arquitetura pode levar a uma menor eficiência de performance.

**Topics**
+ [

# PERF02-BP01 Avaliar as opções de computação disponíveis
](perf_select_compute_evaluate_options.md)
+ [

# PERF02-BP02 Compreender as opções de configuração de computação disponíveis
](perf_select_compute_config_options.md)
+ [

# PERF02-BP03 Coletar métricas relacionadas à computação
](perf_select_compute_collect_metrics.md)
+ [

# PERF02-BP04 Determinar a configuração necessária com o dimensionamento correto
](perf_select_compute_right_sizing.md)
+ [

# PERF02-BP05 Usar a elasticidade dos recursos disponíveis
](perf_select_compute_elasticity.md)
+ [

# PERF02-BP06 Reavaliar as necessidades de computação com base em métricas
](perf_select_compute_use_metrics.md)

# PERF02-BP01 Avaliar as opções de computação disponíveis
PERF02-BP01 Avaliar as opções de computação disponíveis

 Compreenda como a workload pode se beneficiar do uso de diferentes opções de computação, como instâncias, contêineres e funções. 

 **Resultado desejado:** Ao compreender todas as opções de computação disponíveis, você conhecerá oportunidades para aumentar a performance, reduzir custos desnecessários de infraestrutura e diminuir o esforço necessário para manter a workload. Você também pode acelerar seu tempo de entrada no mercado ao implantar novos serviços e recursos. 

 **Antipadrões comuns:** 
+  Em uma workload de pós-migração, usar a mesma solução de computação que foi usada on-premises. 
+  Falta de conhecimento das soluções de computação de nuvem e como essas soluções podem melhorar a performance da computação. 
+  Superdimensionar uma solução de computação existente para atender aos requisitos de escalabilidade ou de performance, quando uma solução de computação alternativa se alinharia com as características da sua workload de forma mais exata. 

 **Benefícios do estabelecimento desta prática recomendada:** Ao identificar os requisitos de computação e avaliar as soluções de computação disponíveis, as partes interessadas e as equipes de engenharia da empresa compreenderão os benefícios e as limitações de usar a solução de computação selecionada. A solução de computação selecionada deve se ajustar aos critérios de performance da workload. Os principais critérios incluem as necessidades de processamento, os padrões do tráfego, os padrões de acesso aos dados e as necessidades de escalabilidade e de latência. 

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

## Orientações para a implementação
Orientações para a implementação

 Compreenda as soluções de virtualização, conteinerização e gerenciamento que podem beneficiar sua workload e atender aos requisitos de performance. Uma workload pode conter vários tipos de soluções de computação. Cada solução de computação tem características diferentes. Com base na escala da sua workload e nos requisitos de computação, uma solução de computação pode ser selecionada e configurada para atender às suas necessidades. O arquiteto de nuvem deve aprender as vantagens e as desvantagens de instâncias, contêineres e funções. As seguintes etapas ajudarão você a selecionar a solução de computação que corresponda às características de sua workload e requisitos de performance. 


|  **Tipo**  |  **Servidor**  |  **Contêineres**  |  **Função**  | 
| --- | --- | --- | --- | 
|  Serviço da AWS  |  Amazon Elastic Compute Cloud (Amazon EC2)  |  Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS)  |  AWS Lambda  | 
|  Características principais  |  Tem opção dedicada para requisitos de licenças de hardware, opções de posicionamento e uma grande seleção de diferentes famílias de instâncias com base em métricas de computação  |  Implantação fácil, ambientes consistentes, execuções em instâncias do EC2, escalável  |  Tempo limite curto (15 minutos ou menos), memória e CPU máximas não são tão altas quanto para outros serviços, camada de hardware gerenciada, escala para milhões de solicitação simultâneas  | 
|  Casos de uso comuns  |  Migrações do tipo mover sem alterações (lift-and-shift), aplicações monolíticas, ambientes híbridos, aplicações empresariais  |  Microsserviços, ambientes híbridos,  |  Microsserviços, aplicações orientadas por eventos  | 

 

 **Etapas da implementação:** 

1.  Para selecionar o local em que a solução de computação deve residir, avalie a [PERF05-BP06 Escolher o local da sua workload com base nos requisitos de rede](perf_select_network_location.md). O local limitará os tipos de solução de computação disponíveis para você. 

1.  Identifique o tipo de solução de computação que funciona com os requisitos de local e das aplicações  

   1.  [https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/) instâncias de servidor virtual são fornecidas em uma grande variedade de famílias e de tamanhos diferentes. Elas oferecem uma grande variedade de capacidades, como unidades de estado sólido (SSDs) e unidades de processamento gráfico (GPUs). As instâncias do EC2 oferecem a maior flexibilidade de opções de instâncias. Ao iniciar uma instância do EC2, o tipo de instância especificado determina o hardware da instância. Cada tipo de instância oferece diferentes capacidades de computação, memória e armazenamento. Os tipos de instância são agrupados em famílias de instância conforme essas capacidades. Os casos de uso típicos incluem: execução de aplicações empresariais, computação de alta performance (HPC), treinamento e implantação de aplicações de machine learning e execução de aplicações nativas de nuvem. 

   1.  [https://aws.amazon.com/ecs/](https://aws.amazon.com/ecs/) é um serviço totalmente gerenciado de orquestração de contêineres que permite executar e gerenciar automaticamente contêineres em um cluster de instâncias do EC2 ou instâncias de tecnologia sem servidor usando o AWS Fargate. É possível usar o Amazon ECS com outros serviços, como o Amazon Route 53, o Secrets Manager, o AWS Identity and Access Management (IAM), e o Amazon CloudWatch. O Amazon ECS é recomendado quando sua aplicação é conteinerizada e a equipe de engenharia prefere contêineres do Docker. 

   1.  [https://aws.amazon.com/eks/](https://aws.amazon.com/eks/) é um serviço gerenciado do Kubernetes. É possível optar por executar os clusters do EKS usando o AWS Fargate, eliminando a necessidade de provisionar e de gerenciar servidores. O gerenciamento do Amazon EKS é simplificado devido às integrações com os serviços da AWS, como o Amazon CloudWatch, os grupos do Auto Scaling, o AWS Identity and Access Management (IAM) e a Amazon Virtual Private Cloud (VPC). Ao usar contêineres, use métricas de computação para selecionar o tipo ideal para a sua workload, de forma semelhante a como você usa métricas de computação para selecionar seus tipos de instância do EC2 ou do AWS Fargate. O Amazon EKS é recomendado quando sua aplicação é conteinerizada e a equipe de engenharia prefere contêineres do Kubernetes em vez dos contêineres do Docker. 

   1.  Você pode usar o [https://aws.amazon.com/lambda/](https://aws.amazon.com/lambda/) para executar código compatível com as opções permitidas de tempo de execução, memória e CPU. Basta fazer upload do seu código, e o AWS Lambda gerenciará tudo o que for necessário para executar e ajustar a escala desse código. É possível configurar o código para ser acionado automaticamente em outros serviços da AWS ou chamado diretamente. O Lambda é recomendado para execuções curtas, arquiteturas de microsserviço desenvolvidas para a nuvem.  

1.  Depois de experimentar a nova solução de computação, planeje a migração e valide as métricas de performance. Esse é um processo contínuo, consulte a [PERF02-BP04 Determinar a configuração necessária com o dimensionamento correto](perf_select_compute_right_sizing.md). 

 **Nível de esforço para o plano de implementação:** Se uma workload estiver sendo movida de uma solução de computação para outra, poderá haver um nível *moderado* de esforço envolvido na refatoração da aplicação.   

## Recursos
Recursos

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

 **Vídeos relacionados:** 
+  [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 (CMP323-R1) (Otimizar a performance e os custos de sua computação da AWS (CMP323-R1))](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Amazon EC2 foundations (CMP211-R2) ](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) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1) (Entregar inferência de ML de alta performance com o AWS Inferentia (CMP324-R1)) ](https://www.youtube.com/watch?v=17r1EapAxpk&ref=wellarchitected) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1) (Computação melhor, mais rápida e com custo mais baixo: otimização de custos com o EC2 (CMP202-R1)) ](https://www.youtube.com/watch?v=_dvh4P2FVbw&ref=wellarchitected) 

 **Exemplos relacionados:** 
+  [Migração de aplicações da web para contêineres](https://application-migration-with-aws.workshop.aws/en/container-migration.html) 
+  [Executar uma aplicação Hello World de tecnologia sem servidor](https://aws.amazon.com/getting-started/hands-on/run-serverless-code/) 

# PERF02-BP02 Compreender as opções de configuração de computação disponíveis
PERF02-BP02 Compreender as opções de configuração de computação disponíveis

 Cada solução de computação tem opções e configurações disponíveis para oferecer suporte às características da sua workload. Saiba como várias opções complementam a workload, e quais opções de configuração são melhores para a 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. 

 **Resultado desejado:** As características da workload, incluindo CPU, memória, throughput da rede, GPU, IOPs, padrões de tráfego e padrões de acesso aos dados, são documentadas e usadas para configurar a solução de computação que corresponda a essas características. Cada uma dessas métricas, além das métricas personalizadas específicas da sua workload, são registradas, monitoradas e usadas para otimizar a configuração da computação que melhor atenda às suas necessidades. 

 **Antipadrões comuns:** 
+  Usar a mesma solução de computação que foi usada on-premises. 
+  Não analisar as opções de computação ou as famílias de instâncias que atendam às características da workload. 
+  Superdimensionar a computação para garantir a capacidade de expansão. 
+  Você usa várias plataformas de gerenciamento de computação para a mesma carga de trabalho. 

** Benefícios do estabelecimento desta prática recomendada:** Familiarize-se com as ofertas de computação da AWS para determinar a solução correta para cada uma das suas workloads. Depois de selecionar as ofertas de computação para a workload, é possível experimentá-las rapidamente para determinar se elas atendem às necessidades da sua workload. Uma solução de computação otimizada para atender às características da sua workload melhorará a sua performance, reduzirá os seus custos e aumentará a sua confiabilidade.

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

## Orientações para a implementação
Orientações para a implementação

 Se a sua 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 obter uma recomendação com base nas características de sua computação. Se o AWS Compute Optimizer não for uma opção por causa da falta de métricas, [de um tipo de instância não compatível](https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html#requirements-ec2-instances) ou de uma alteração previsível em suas características, preveja suas métricas com base nos testes e experimentação de carga.  

 **Etapas da implementação:** 

1.  Você está executando em instâncias ou contêineres do EC2 com o tipo de execução do EC2? 

   1.  Sua workload pode usar CPUs para melhorar a performance? 

      1.  [Instâncias de computação acelerada](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Accelerated_Computing) são instâncias baseadas em GPU que fornecem a mais alta performance para treinamento de machine learning, inferência e computação de alta performance. 

   1.  Sua workload executa aplicações de inferência de machine learning? 

      1.  [AWS Inferentia (Inf1)](https://aws.amazon.com/ec2/instance-types/inf1/) as instâncias do Inf1 são criadas para serem compatíveis com aplicações de inferência de machine learning. Ao usar instâncias do Inf1, os clientes podem executar aplicações de inferência de machine learning em grande escala, como reconhecimento de imagens, reconhecimento de fala, processamento de linguagem natural, personalização e detecção de fraude. É possível criar um modelo em umas das principais frameworks de machine learning, como o TensorFlow, o PyTorch ou o MXNet, e usar instâncias de GPU para treinar o seu modelo. Depois que o modelo de machine learning for treinado para atender aos seus requisitos, você poderá implantá-lo em instâncias Inf1 usando o [AWS Neuron,](https://aws.amazon.com/machine-learning/neuron/)um kit de desenvolvimento de software (SDK) especializado que consiste em um compilador, um tempo de execução e de ferramentas de criação de perfil que otimizam a performance de inferência de machine learning de chips do Inferentia. 

   1.  A sua workload se integra com hardware de baixo nível para melhorar a performance?  

      1.  [Matrizes de porta programável no campo (FPGAs)](https://aws.amazon.com/ec2/instance-types/f1/) Usando FPGAs, é possível otimizar as workloads com a execução acelerada por hardware personalizada para as workloads mais exigentes. É possível definir seus algoritmos usando linguagens gerais de programação compatíveis como C ou Go, ou linguagens orientadas por hardware, como Verilog ou VHDL. 

   1.  Você tem pelo menos quatro semanas de métricas e pode prever se o padrão e as métricas do tráfego permanecerão iguais no futuro? 

      1.  Uso [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) para obter uma recomendação de machine learning sobre a configuração de computação que corresponde melhor às características de sua computação. 

   1.  A performance da sua workload é limitada pelas métricas de CPU?  

      1.  [As instâncias otimizadas por computação](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Compute_Optimized) são ideais para as workloads que exigem processadores de alta performance.  

   1.  A performance de sua workload é limitada pelas métricas de memória?  

      1.  [As instâncias otimizadas por memória](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Memory_Optimized) entregam grandes quantidades de memória para oferecer suporte às workloads com consumo intenso de memória. 

   1.  A performance de sua workload é limitada por IOPS? 

      1.  [As instâncias otimizadas por armazenamento](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Storage_Optimized) são projetadas para workloads que exigem alta leitura sequencial e acesso de gravação (IOPS) no armazenamento local. 

   1.  As características da sua workload representam uma necessidade balanceada entre todas as métricas? 

      1.  A CPU da sua workload precisa de expansão para tratar picos no tráfego? 

         1.  [As instâncias de performance expansível](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Instance_Features) são semelhantes às instâncias otimizadas para computação, com a exceção de que oferecem a capacidade de expandir além da linha de base fixa da CPU identificada em uma instância otimizada para computação. 

      1.  [As instâncias de uso geral](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#General_Purpose) fornecem um equilíbrio de todas as características para compatibilidade com uma variedade de workloads. 

   1.  Sua instância de computação é executada no Linux e é restringida pelo throughput da rede na placa de interface da rede? 

      1.  Análise [Pergunta sobre performance 5, Prática recomendada 2: avaliar os recursos de rede disponíveis](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/network-architecture-selection.html) para encontrar o tipo e a família de instâncias certos para atender às suas necessidades de performance. 

   1.  Sua workload precisa de instâncias consistentes e previsíveis em uma zona de disponibilidade específica que pode ser confirmada por um ano?  

      1.  [Instâncias reservadas](https://aws.amazon.com/ec2/pricing/reserved-instances/) confirmam as reservas de capacidade em uma zona de disponibilidade específica. As instâncias reservadas são ideais para a capacidade de computação exigida em uma zona de disponibilidade específica.  

   1.  Sua workload tem licenças que exigem hardware dedicado? 

      1.  [Hosts dedicados](https://aws.amazon.com/ec2/dedicated-hosts/) são compatíveis com licenças de software e ajudam você a atender aos requisitos de conformidade. 

   1.  Sua solução de computação se expande e exige processamento síncrono? 

      1.  [Instâncias sob demanda](https://aws.amazon.com/ec2/pricing/on-demand/) permitem usar a capacidade de computação pela hora ou segundo sem uma confirmação de longo prazo. Essas instâncias são ideais para expansões acima das necessidades de performance da linha de base. 

   1.  Sua solução de computação é sem estado, tolerante à falhas e assíncrona?  

      1.  [Instâncias spot](https://aws.amazon.com/ec2/spot/) permitem aproveitar a capacidade de instâncias não utilizadas para workloads sem estado e tolerantes à falhas.  

1.  Você executa contêineres no [Fargate](https://aws.amazon.com/fargate/)? 

   1.  A performance de suas tarefas é restringida pela memória ou pela CPU? 

      1.  Use a ferramenta de recomendações do [Tamanho da tarefa](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-tasksize.html) para ajustar a memória ou a CPU. 

   1.  Sua performance está sendo afetada por expansões do seu padrão de tráfego? 

      1.  Use a ferramenta de recomendações do [Auto Scaling](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-autoscaling.html) configuração para corresponder seus padrões de tráfego. 

1.  Sua solução de computação é no [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-features.html)? 

   1.  Você tem pelo menos quatro semanas de métricas e pode prever se o padrão e as métricas do tráfego permanecerão iguais no futuro? 

      1.  Uso [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) para obter uma recomendação de machine learning sobre a configuração de computação que corresponde melhor às características de sua computação. 

   1.  Você não têm métricas suficientes para usar o AWS Compute Optimizer? 

      1.  Se você não tiver métricas disponíveis para usar o Compute Optimizer, use o [Ajuste da potência do AWS Lambda](https://docs.aws.amazon.com/lambda/latest/operatorguide/profile-functions.html) para ajudar a selecionar a melhor configuração. 

   1.  A performance da função é restringida pela memória ou pela CPU? 

      1.  Configure a [memória do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) para atender às suas métricas de necessidades de performance. 

   1.  O tempo limite de sua função está se esgotando ao executar? 

      1.  Altere as [configurações de tempo limite](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html) 

   1.  A performance de sua função é restringida pelas expansões de atividades e pela simultaneidade?  

      1.  Defina as [configurações de simultaneidade](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) para atender aos seus requisitos de performance. 

   1.  Sua função é executada assincronamente e falha em novas tentativas? 

      1.  Configure a idade máxima do evento e o limite máximo de novas tentativas nas [definições da configuração](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) assíncrona. 

## Nível de esforço do plano de implementação: 
Nível de esforço do plano de implementação: 

Ao estabelecer esta prática recomendada, lembre-se das características e das métricas atuais da computação. A coleta dessas métricas, o estabelecimento de uma linha de base e o uso dessas métricas para identificar a opção ideal de computação é um nível de esforço *baixo* to *moderado* . Isso é melhor validade com testes de carga e experimentação. 

## Recursos
Recursos

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

 **Vídeos relacionados:** 
+  [Amazon EC2 foundations (CMP211-R2) ](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 (CMP323-R1) (Otimizar a performance e os custos de sua computação da AWS (CMP323-R1)) ](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **Exemplos relacionados:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled (Dimensionamento correto com o AWS Compute Optimizer e utilização da memória ativada)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Código para demonstração do AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF02-BP03 Coletar métricas relacionadas à computação
PERF02-BP03 Coletar métricas relacionadas à computação

Para entender a performance dos recursos de computação, registre e acompanhe a utilização de vários sistemas. Esses dados podem ser usados para fazer determinações mais precisas sobre os requisitos de recursos.  

 As workloads podem gerar grandes volumes de dados, como métricas, logs e eventos. Determine se o serviço de armazenamento, monitoramento e observação existente é capaz de gerenciar os dados gerados. Identifique quais métricas refletem a utilização de recursos e podem ser coletadas, agregadas e correlacionadas em uma única plataforma. Essas métricas devem representar todos os recursos de workload, aplicações e serviços, para que você possa visualizar facilmente todo o sistema e identificar oportunidades e problemas na melhoria de performance.

 **Resultado desejado:** todas as métricas referentes aos recursos relacionados à computação são identificadas, coletadas, agregadas e correlacionadas em uma única plataforma com retenção implementada para oferecer suporte a metas operacionais e de custo. 

 **Antipadrões comuns:** 
+  Você só usa a pesquisa manual de arquivos de log para métricas.  
+  Você só publica métricas em ferramentas internas. 
+  Você só usa as métricas padrão registradas pelo software de monitoramento selecionado. 
+  Você só revisa as métricas quando há um problema. 

 

 **Benefícios do estabelecimento dessa prática recomendada:** para monitorar a performance das workloads, você precisa registrar várias métricas de performance ao longo de um período. Essas métricas permitem detectar anomalias na performance. Elas também ajudarão a avaliar a performance em relação às métricas de negócios para garantir que as necessidades da workload sejam atendidas. 

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

## Orientações para a implementação
Orientações para a implementação

 Identifique, colete, agregue e correlacione métricas relacionadas à computação. Usar um serviço como o Amazon CloudWatch pode tornar a implementação mais rápida e fácil de manter. Além das métricas padrão registradas, identifique e acompanhe métricas adicionais em nível de sistema na workload. Registre dados como níveis de uso da CPU, memória, E/S de disco e métricas de entrada e saída de rede para obter uma percepção sobre os níveis de utilização ou os gargalos. Esses dados são cruciais para entender a performance da workload e como a solução de computação é utilizada. Use essas métricas como parte de uma abordagem impulsionada por dados para ajustar e otimizar ativamente os recursos de sua carga de trabalho.  

 **Etapas da implementação:** 

1.  Quais métricas de solução de computação são importantes de acompanhar? 

   1.  [Métricas padrão do 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 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 de disco do EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 

1.  Tenho, atualmente, uma solução de registro em log e monitoramento aprovada? 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 

   1.  [AWS Distro for 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.  Identifiquei e configurei minhas políticas de retenção de dados para corresponder às minhas 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.  Como você implanta agentes de agregação de métrica e log? 

   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) 

 **Nível de esforço para o plano de implementação: **Há um nível de esforço *médio* para identificar, rastrear, coletar, agregar e correlacionar métricas de todos os recursos de computação. 

## Recursos
Recursos

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

 

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

 

 **Exemplos relacionados:** 
+  [Nível 100: monitoramento com os painéis do CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Nível 100: monitoramento das instâncias do Windows do EC2 com os painéis do CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_windows_ec2_cloudwatch/) 
+  [Nível 100: monitoramento de uma instância do Amazon Linux EC2 com os painéis do CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_linux_ec2_cloudwatch/) 

# PERF02-BP04 Determinar a configuração necessária com o dimensionamento correto
PERF02-BP04 Determinar a configuração necessária com o dimensionamento correto

 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 mais adequados ao perfil da sua carga de trabalho. Por exemplo, a melhor maneira de atender a uma carga de trabalho com uso intenso de memória, como um banco de dados, pode ser usando a família r de instâncias. No entanto, uma carga de trabalho com intermitência pode se beneficiar mais de um sistema de contêiner elástico. 

 **Antipadrões comuns:** 
+  Você escolhe a maior instância disponível para todas as cargas de trabalho. 
+  Você padroniza todos os tipos de instâncias para um tipo a fim de facilitar o gerenciamento. 

 **Benefícios do estabelecimento desta prática recomendada:** A familiarização com as ofertas de computação da AWS permite determinar a solução correta para suas várias workloads. Depois de selecionar as várias ofertas de computação para a workload, você terá agilidade para experimentar rapidamente essas ofertas de computação e determinar quais atendem às necessidades da sua workload. 

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

## Orientações para a implementação
Orientações para a implementação

 Modificar a configuração da sua workload por meio de dimensionamento correto: para otimizar a performance e a eficiência geral, determine de quais recursos sua workload precisa. Escolha instâncias com otimização de memória para sistemas que exigem mais memória que a CPU ou instâncias com otimização de computação para componentes que realizam processamento de dados que não consome muita memória. O dimensionamento correto habilita sua carga de trabalho a operar da melhor maneira possível enquanto consome apenas os recursos necessários 

## Recursos
Recursos

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

 **Vídeos relacionados:** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1) (Computação melhor, mais rápida e com custo mais baixo: Otimização de custos com o EC2 (CMP202-R1))](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1) (Entregar inferência de ML de alta performance com o AWS Inferentia (CMP324-R1))](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1) (Otimizar a performance e os custos de sua computação da AWS (CMP323-R1))](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) 
+  [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 (CMP323-R1) (Otimizar a performance e os custos de sua computação da AWS (CMP323-R1))](https://www.youtube.com/watch?v=zt6jYJLK8sg) 

 **Exemplos relacionados:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled (Dimensionamento correto com o AWS Compute Optimizer e utilização da memória ativada)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Código para demonstração do AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF02-BP05 Usar a elasticidade dos recursos disponíveis
PERF02-BP05 Usar a elasticidade dos recursos disponíveis

 A nuvem fornece a flexibilidade de expandir ou reduzir seus recursos dinamicamente por meio de diversos mecanismos para atender a mudanças na demanda. Combinada com as métricas relacionadas à computação, uma workload pode responder automaticamente a mudanças e utilizar um conjunto ideal de recursos para atingir sua meta. 

 A combinação ideal entre oferta e demanda leva ao menor custo para uma carga de trabalho, mas você também precisa se planejar para que exista oferta suficiente a fim de permitir tempo de provisionamento e falhas de recursos individuais. A demanda pode ser fixa ou variável, exigindo métricas e automação para garantir que o gerenciamento não se torne um custo pesado e desproporcionalmente grande. 

 Na AWS, é possível usar várias abordagens diferentes para corresponder o suprimento com a demanda. O whitepaper Pilar Otimização de custos descreve como usar as seguintes abordagens de custo: 
+  Abordagem baseada em demanda 
+  Abordagem baseada em buffer 
+  Abordagem baseada em tempo 

 É necessário garantir que as implantações de carga de trabalho possam lidar com eventos de expansão e redução da escala. Crie cenários de teste para eventos de redução da escala a fim de garantir que a carga de trabalho se comporte conforme o esperado. 

 **Antipadrões comuns:** 
+  Reaja a alarmes aumentando a capacidade manualmente. 
+  Você deixa a capacidade aumentada após um evento de escalabilidade, em vez de reduzir novamente. 

 **Benefícios do estabelecimento desta prática recomendada:** A configuração e os testes da elasticidade da workload ajudam a fazer economia, manter as referências da performance e melhorar a confiabilidade à medida que o tráfego muda. A maior parte das instâncias que não são de produção deve ser interrompida quando não estiver em uso. Embora seja possível desligar manualmente instâncias não utilizadas, isso é impraticável em escalas maiores. Você também pode aproveitar a elasticidade baseada em volume, o que permite otimizar a performance e o custo, aumentando automaticamente o número de instâncias de computação durante picos de demanda e diminuindo a capacidade quando a demanda é reduzida. 

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

## Orientações para a implementação
Orientações para a implementação

 Aproveitar a elasticidade: a elasticidade corresponde ao suprimento de recursos que você tem em relação à demanda por esses recursos. Instâncias, contêineres e funções oferecem mecanismos para elasticidade, seja em combinação com a escalabilidade automática ou como um recurso do serviço. Use a elasticidade em sua arquitetura para garantir que haja capacidade suficiente para atender aos requisitos de performance em todas as escalas de uso. Certifique-se de que as métricas para aumentar ou reduzir recursos elásticos sejam validadas em relação ao tipo de carga de trabalho 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. Como alternativa, você pode medir em relação ao comprimento da fila de trabalhos de transcodificação aguardando para escalar seus tipos de instância. É necessário garantir que as implantações de carga de trabalho possam lidar com eventos de expansão e redução da escala. Reduzir os componentes da carga de trabalho com segurança é tão essencial quanto aumentar a escala de recursos quando a demanda exige. Crie cenários de teste para eventos de redução da escala a fim de garantir que a carga de trabalho se comporte conforme o esperado. 

## Recursos
Recursos

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

 **Vídeos relacionados:** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1) (Computação melhor, mais rápida e com custo mais baixo: Otimização de custos com o EC2 (CMP202-R1))](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1) (Entregar inferência de ML de alta performance com o AWS Inferentia (CMP324-R1))](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1) (Otimizar a performance e os custos de sua computação da AWS (CMP323-R1))](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) 

 **Exemplos relacionados:** 
+  [Exemplos de grupos do Amazon EC2 Auto Scaling](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Tutoriais do Amazon EFS](https://github.com/aws-samples/amazon-efs-tutorial) 

# PERF02-BP06 Reavaliar as necessidades de computação com base em métricas
PERF02-BP06 Reavaliar as necessidades de computação com base em métricas

 Use as métricas no nível do sistema para identificar o comportamento e os requisitos de sua carga de trabalho ao longo do tempo. Avalie as necessidades de sua carga de trabalho, comparando os recursos disponíveis com esses requisitos, e faça alterações em seu ambiente de computação para melhor atender ao perfil de sua carga de trabalho. Por exemplo, ao longo do tempo, pode-se observar que um sistema consome mais memória do que inicialmente previsto, assim, a adoção de uma família ou tamanho de instância diferente pode melhorar tanto a performance quanto a eficiência. 

 **Antipadrões comuns:** 
+  Você só monitora métricas no nível do sistema para obter informações sobre sua carga de trabalho. 
+  Você arquiteta suas necessidades de computação para os requisitos de pico de carga de trabalho. 
+  Você superdimensiona uma solução de computação para atender aos requisitos de escalabilidade de performance, quando uma nova solução de computação corresponderia às características da sua workload. 

 **Benefícios do estabelecimento desta prática recomendada:** Para otimizar a performance e a utilização de recursos, você precisa de uma visão operacional unificada, dados granulares em tempo real e uma referência histórica. Você pode criar painéis automáticos para visualizar esses dados e executar matemática de métricas para obter informações operacionais e de utilização. 

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

## Orientações para a implementação
Orientações para a implementação

 Usar uma abordagem direcionada a dados para otimizar os recursos: para obter a máxima performance e eficiência, use os dados coletados da workload ao longo do tempo para ajustar e otimizar seus recursos. Analise as tendências no uso dos recursos atuais da sua carga de trabalho e determine em que você pode fazer alterações para atender melhor às necessidades da sua carga de trabalho. A performance do sistema cai quando os recursos estão sendo comprometidos excessivamente, já a subutilização de recursos leva a um uso menos eficiente e maiores custos dos mesmos. 

## Recursos
Recursos

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

 **Vídeos relacionados:** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1) (Computação melhor, mais rápida e com custo mais baixo: Otimização de custos com o EC2 (CMP202-R1))](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1) (Entregar inferência de ML de alta performance com o AWS Inferentia (CMP324-R1))](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1) (Otimizar a performance e os custos de sua computação da AWS (CMP323-R1))](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) 

 **Exemplos relacionados:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled (Dimensionamento correto com o AWS Compute Optimizer e utilização da memória ativada)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Código para demonstração do AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF 3  Como você seleciona sua solução de armazenamento?


 A solução de armazenamento ideal para um sistema varia conforme o tipo de método de acesso (bloco, arquivo ou objeto), os padrões de acesso (aleatório ou sequencial), o rendimento 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. Os sistemas Well-Architected usam várias soluções de armazenamento e habilitam diferentes recursos para melhorar a performance e usar os recursos de modo eficiente. 

**Topics**
+ [

# PERF03-BP01 Compreender as características e os requisitos de armazenamento
](perf_right_storage_solution_understand_char.md)
+ [

# PERF03-BP02 Avaliar as opções de configuração disponíveis
](perf_right_storage_solution_evaluated_options.md)
+ [

# PERF03-BP03 Tomar decisões com base em padrões de acesso e métricas
](perf_right_storage_solution_optimize_patterns.md)

# PERF03-BP01 Compreender as características e os requisitos de armazenamento
PERF03-BP01 Compreender as características e os requisitos de armazenamento

 Identifique e documente as necessidades de armazenamento de workloads e defina as características de armazenamento de cada local. Exemplos de características de armazenamento incluem: acesso compartilhável, tamanho de arquivo, taxa de crescimento, throughput, IOPS, latência, padrões de acesso e persistência dos dados. Use essas características para avaliar se os serviços de armazenamento de blocos, arquivos, objetos ou instâncias são a solução mais eficiente para suas necessidades de armazenamento. 

 **Resultado desejado:** identifique e documente os requisitos para cada armazenamento e avalie as soluções de armazenamento disponíveis. Com base nas principais características de armazenamento, sua equipe vai entender como os serviços de armazenamento selecionados vão beneficiar o desempenho de sua workload. Os principais critérios incluem os padrões de acesso aos dados, a taxa de crescimento, as necessidades de escalabilidade e os requisitos de latência. 

 **Antipadrões comuns:** 
+  Você só usa um tipo de armazenamento, como o Amazon Elastic Block Store (Amazon EBS), para todas as workloads. 
+  Você pressupõe que todas as cargas de trabalho têm requisitos semelhantes de performance de acesso ao armazenamento. 

 **Benefícios do estabelecimento desta prática recomendada:** selecionar a solução de armazenamento com base nas características identificadas e necessárias vai ajudar você a melhorar a performance de suas workloads, reduzir os custos e diminuir os esforços operacionais para manter a workload. A performance de sua workload vai se beneficiar da solução, da configuração e do local do serviço de armazenamento. 

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

## Orientação de implementação
Orientação de implementação

 Identifique as métricas de performance de armazenamento mais importantes da sua carga de trabalho e implemente melhorias como parte de uma abordagem impulsionada por dados, usando testes comparativos ou testes de carga. Use esses dados para identificar em que ponto sua solução de armazenamento é restrita e examinar as opções de configuração que possam melhorar a solução. Determine a taxa de crescimento esperada para sua carga de trabalho e escolha uma solução de armazenamento que atenda a essas taxas. Pesquise as ofertas de armazenamento da AWS para determinar a solução de armazenamento correta para as necessidades de sua workload. O provisionamento de soluções de armazenamento na AWS aumenta a oportunidade para você testar ofertas de armazenamento e determinar se são adequadas para as necessidades de sua workload. 


| Serviço da AWS | Características principais | Casos de uso comum | 
| --- | --- | --- | 
| Amazon S3 |  99,999999999% de durabilidade, crescimento ilimitado, acessível de qualquer lugar, vários modelos de custo baseados em acesso e resiliência.  |  Dados de aplicações nativas de nuvem, arquivamento de dados, backups, análises, data lakes, hospedagem de site estático, dados de IoT.   | 
| Amazon Glacier |  Latência de segundos a horas, crescimento ilimitado, menor custo, armazenamento de longo prazo.  |  Arquivamento de dados, arquivos de mídia, retenção de backup de longo prazo.  | 
| Amazon EBS | O tamanho do armazenamento requer gerenciamento e monitoramento, baixa latência, armazenamento persistente, 99,8% a 99,9% de durabilidade, a maioria dos tipos de volume só podem ser acessados de uma instância do EC2. |  Aplicações COTS, aplicações com uso intenso de E/S, bancos de dados relacionais e NoSQL, backup e recuperação.  | 
| Armazenamento de instâncias do EC2 |  Tamanho de armazenamento predeterminado, menor latência, sem persistência, acessível somente de uma instância do EC2.  |  Aplicações COTS, aplicações com uso intenso de E/S, datastore na memória.  | 
| Amazon EFS |  99,999999999% de durabilidade, crescimento ilimitado, acessível de vários serviços de computação.  |  Aplicações modernas compartilhando arquivos entre vários serviços de computação, armazenamento de arquivos para dimensionamento de sistemas de gerenciamento de conteúdo.  | 
| Amazon FSx |  Compatível com quatro sistemas de arquivos (NetApp, OpenZFS, Windows File Server e Amazon FSx for Lustre), o armazenamento disponível varia de acordo com o sistema de arquivos, acessível de vários serviços de computação.  |  Workloads nativas de nuvem, expansão na nuvem privada, workloads migradas que exigem um sistema de arquivos específico, VMC, sistemas de ERP, backups e armazenamento de arquivos on-premises.   | 
| Família Snow |  Dispositivos portáteis, criptografia de 256 bits, endpoint NFS, computação integrada, TBs de armazenamento.  |  Migração de dados para a nuvem, armazenamento e computação em condições on-premises extremas, recuperação de desastres, coleta de dados remota.  | 
| AWS Storage Gateway |  Oferece acesso on-premises de baixa latência ao armazenamento com backup na nuvem, cache on-premises totalmente gerenciado.   |  Migrações de dados on-premises para a nuvem, preenchimento de data lakes na nuvem usando origens on-premises, compartilhamento de dados modernizado.  | 

 **Etapas da implementação:** 

1. use testes de carga ou benchmarking para coletar as principais características de suas necessidades de armazenamento. As principais características incluem: 

   1. Compartilhável (quais componentes acessam esse armazenamento) 

   1. Taxa de crescimento 

   1. Taxa de transferência 

   1. Latência 

   1. Tamanho de E/S 

   1. Durabilidade 

   1. Padrões de acesso (leituras vs. gravações, frequência, com picos ou consistente) 

1. Identifique o tipo de solução de armazenamento compatível com as características do seu armazenamento. 

   1. [Amazon S3](https://aws.amazon.com/s3/) é um serviço de armazenamento de objetos com escalabilidade ilimitada, alta disponibilidade e várias opções de acessibilidade. A transferência e o acesso a objetos dentro e fora do Amazon S3 podem usar um serviço, como [Aceleração de Transferências](https://aws.amazon.com/s3/transfer-acceleration/) ou [Pontos de Acesso](https://aws.amazon.com/s3/features/access-points/) , para oferecer suporte ao seu local, necessidades de segurança e padrões de acesso. Use a ferramenta de recomendações do [diretrizes de performance do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-guidelines.html) para ajudar você a otimizar sua configuração do Amazon S3 e atender às necessidades de performance da workload. 

   1. [Amazon Glacier](https://aws.amazon.com/s3/storage-classes/glacier/) é uma classe de armazenamento do Amazon S3 desenvolvida para arquivamento de dados. Você pode escolher entre três soluções de arquivamento com acesso que varia de milissegundos até 5 a 12 horas com diversas opções de custo e segurança. O Amazon Glacier pode ajudar você a cumprir os requisitos de performance ao implementar um ciclo de vida de dados que ofereça suporte aos seus requisitos de negócios e características de dados. 

   1. [Amazon Elastic Block Store (Amazon EBS)](https://aws.amazon.com/ebs/) é um serviço de armazenamento de blocos de alta performance projetado para o Amazon Elastic Compute Cloud (Amazon EC2). Você pode escolher entre soluções [baseadas em SSD ou HDD](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) com características diferentes que priorizam [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/provisioned-iops.html) ou [throughput](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hdd-vols.html). Os volumes do EBS são adequados para workloads de alta performance, armazenamento primário para sistemas de arquivos, bancos de dados ou aplicações que só podem acessar sistemas de estágio associado. 

   1. [Armazenamento de instâncias do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) é semelhante ao Amazon EBS já que se associa a uma instância do Amazon EC2, mas o armazenamento de instância é apenas um armazenamento temporário que, idealmente, deve ser usado como buffer, cache ou outro conteúdo temporário. Não é possível desassociar um armazenamento de instância e todos os dados serão perdidos se a instância for encerrada. Armazenamentos de instâncias podem ser usados para casos de uso de alta performance de E/S e baixa latência em que os dados não precisam persistir. 

   1. [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) é um sistema de arquivos montável que pode ser acessado por diversos tipos de soluções de computação. O Amazon EFS aumenta e reduz automaticamente o armazenamento e sua performance é otimizada para oferecer latências baixas de maneira consistente. O EFS tem [dois modos de configuração de performance](https://docs.aws.amazon.com/efs/latest/ug/performance.html): Propósito geral e E/S Máx. Propósito geral tem latência de leitura inferior a milissegundo e latência de gravação que nunca chega a 10 milissegundos. O recurso E/S Máx. oferece suporte a milhares de instâncias de computação que exigem um sistema de arquivos compartilhado. O Amazon EFS oferece suporte a [dois modos de throughput](https://docs.aws.amazon.com/efs/latest/ug/managing-throughput.html): expansão e provisionada. Uma workload que tem um padrão de acesso com picos vai se beneficiar do modo de throughput de expansão, enquanto uma workload consistentemente alta tem melhor performance com o modo de throughput provisionada. 

   1. [Amazon FSx](https://aws.amazon.com/fsx/) se baseia nas soluções de computação mais recentes da AWS para oferecer suporte a quatro sistemas de arquivos comumente usados: NetApp ONTAP, OpenZFS, Windows File Server e Lustre. A [latência, throughput e IOPS](https://aws.amazon.com/fsx/when-to-choose-fsx/) do Amazon FSx variam de acordo com o sistema de arquivos e devem ser consideradas ao selecionar o sistema de arquivos certo para as necessidades de sua workload. 

   1. [AWS Snow Family](https://aws.amazon.com/snow/) consiste em dispositivos de armazenamento e computação que oferecem suporte à migração de dados online e offline para a nuvem, além de armazenamento de dados e computação on-premises. Os dispositivos AWS Snow oferecem suporte à coleta de grandes quantidades de dados on-premises, processamento desses dados e movimentação desses dados para a nuvem. Há diversas [práticas recomendadas e documentadas sobre performance](https://docs.aws.amazon.com/snowball/latest/developer-guide/performance.html) no que se refere a número de arquivos, tamanhos de arquivos e compressão. 

   1. [AWS Storage Gateway](https://aws.amazon.com/storagegateway/) oferece a aplicações on-premises acesso ao armazenamento baseado em nuvem. O AWS Storage Gateway é compatível com vários serviços de armazenamento em nuvem, incluindo Amazon S3, Amazon Glacier, Amazon FSx e Amazon EBS. Ele oferece suporte a diversos protocolos, como iSCSI, SMB e NFS. Oferece performance de baixa latência ao armazenar em cache os dados acessados com frequência on-premises e só envia dados alterados e comprimidos à AWS. 

1. Depois de experimentar a nova solução de armazenamento e identificar a configuração ideal, planeje a migração e valide as métricas de performance. Esse processo é contínuo e deve ser reavaliado quando houver mudança em características importantes ou quando os serviços e as opções disponíveis mudarem. 

 **Nível de esforço do plano de implementação: **Se uma workload estiver sendo movida de uma solução de armazenamento para outra, poderá haver um nível *moderado* de esforço envolvido na refatoração da aplicação.   

## Recursos
Recursos

 **Documentos relacionados:** 
+  [Tipos de volume do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Armazenamento do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: performance do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Performance do Amazon FSx para Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Performance do Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+ [Performance do Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/performance.html)
+ [Performance do Amazon FSx for OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html)
+  [Amazon Glacier: documentação do Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerações sobre performance e taxa de solicitaçã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/) 
+ [AWS Snow Family](https://aws.amazon.com/snow/#Feature_comparison)
+  [Características de E/S do EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **Vídeos relacionados:** 
+  [Deep dive on Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **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) 
+ [Driver CSI (Interface de armazenamento de contêiner) do Amazon FSx for Lustre](https://github.com/kubernetes-sigs/aws-fsx-csi-driver)

# PERF03-BP02 Avaliar as opções de configuração disponíveis
PERF03-BP02 Avaliar as opções de configuração disponíveis

 Avalie as diversas características e opções de configuração e como se relacionam ao armazenamento. Entenda onde e como usar IOPS provisionadas, SSDs, armazenamento magnético, armazenamento de objeto, armazenamento em repositório ou armazenamento temporário para otimizar o espaço de armazenamento e a performance para sua carga de trabalho. 

 [Amazon EBS](https://aws.amazon.com/ebs) disponibiliza várias opções que permitem otimizar a performance do armazenamento e o custo para a sua carga de trabalho. Essas opções estão divididas em duas categorias principais: armazenamento baseado em SSD para cargas de trabalho transacionais, como bancos de dados e volumes de inicialização (a performance depende principalmente de IOPS), e armazenamento baseado em HDD para cargas de trabalho com uso intenso de throughput, como MapReduce e processamento de logs (a performance depende principalmente de MB/s). 

 Volumes baseados em SSD incluem SSDs com a mais alta performance de IOPS provisionadas para workloads transacionais sensíveis à latência e para SSDs de uso geral, que equilibram preço e performance para uma ampla variedade de dados transacionais. 

 [A aceleração de transferência do Amazon S3](https://aws.amazon.com/s3/transfer-acceleration/) permite a transferência rápida de arquivos em longas distâncias entre o cliente e o seu bucket do S3. A aceleração de transferência utiliza pontos de presença globalmente distribuídos do Amazon CloudFront para rotear dados por um caminho de rede otimizado. Para uma carga de trabalho em um bucket do S3 com muitas solicitações GET, use o Amazon S3 com o CloudFront. Ao fazer upload de arquivos grandes, use uploads em várias partes, carregando-as de uma só vez para ajudar a maximizar a taxa de transferência de rede. 

 [O Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) fornece um sistema elástico de arquivos NFS simples, escalável e totalmente gerenciado para uso com serviços da Nuvem AWS e recursos on-premises. Para compatibilidade com uma grande variedade de workloads de armazenamento na nuvem, o Amazon EFS oferece dois modos de performance: o modo de performance de uso geral e o modo de performance máxima de E/S. Também há dois modos de throughput a escolher para o sistema de arquivos: throughput com expansão e throughput provisionado. Para determinar quais configurações usar para sua carga de trabalho, consulte o [Guia do usuário do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html). 

 [Amazon FSx](https://aws.amazon.com/fsx/) fornece quatro sistemas de arquivos para escolher: [o Amazon FSx for Windows File Server](https://aws.amazon.com/fsx/windows/) para workloads empresariais. [O Amazon FSx for Lustre](https://aws.amazon.com/fsx/lustre/) para workloads de alta performance. [O Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/index.html) para o sistema de arquivos ONTAP popular para NetApps e [o Amazon FSx for OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) para servidores de arquivos baseados em Linux. O FSx é baseado em SSD e é projetado para fornecer performance rápida, previsível, dimensionável e consistente. O sistema de arquivos do Amazon FSx fornece altas velocidades de leitura e gravação sustentáveis e acesso consistente a dados de baixa latência. Você pode escolher o nível de throughput necessário para atender às necessidades de sua carga de trabalho. 

 **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ê pressupõe que todas as cargas de trabalho têm requisitos semelhantes de performance de acesso ao armazenamento. 

 **Benefícios do estabelecimento desta prática recomendada:** Avaliar todas as opções de serviço de armazenamento pode reduzir o custo da infraestrutura e o esforço necessário para manter suas cargas de trabalho. Isso pode acelerar potencialmente seu tempo de entrada no mercado para a implantação de novos serviços e recursos. 

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

## Orientações para a implementação
Orientações para a implementação

 Determinar as características de armazenamento: ao avaliar a solução de armazenamento, determine as características de armazenamento de que você precisa, como a habilidade de compartilhar, o tamanho dos arquivos, o tamanho do cache, a latência, o throughput e a persistência dos dados. Corresponda os requisitos ao serviço da AWS mais adequado às suas necessidades. 

## Recursos
Recursos

 **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) 
+  [Amazon Glacier: documentação do Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerações sobre performance e taxa de solicitações](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Armazenamento na nuvem com a AWS](https://aws.amazon.com/products/storage/) 
+  [Armazenamento na nuvem com a AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Características de E/S do EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **Vídeos relacionados:** 
+  [Deep dive on Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Exemplos relacionados:** 
+  [Amazon EFS CSI Driver (Driver CSI do Amazon EFS)](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI Driver (Driver CSI do Amazon EBS)](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS Utilities (Utilitários do EFS)](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale (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) 

# PERF03-BP03 Tomar decisões com base em padrões de acesso e métricas
PERF03-BP03 Tomar decisões com base em padrões de acesso e métricas

 Escolha sistemas de armazenamento com base nos padrões de acesso de sua carga de trabalho e configure-os determinando como a carga de trabalho acessa os dados. Aumente a eficiência do armazenamento escolhendo armazenamento de objetos em vez de armazenamento em bloco. Configure as opções de armazenamento escolhidas para corresponder a seus padrões de acesso a dados. 

 A maneira como você acessa os dados afeta a performance da solução de armazenamento. Selecione a solução de armazenamento mais alinhada a seus padrões de acesso ou considere a possibilidade de alterar seus padrões de acesso para alinhamento com a solução de armazenamento a fim de maximizar a performance. 

 A criação de uma matriz RAID 0 permite atingir um nível maior de performance para um sistema de arquivos em relação ao que é possível provisionar em um único volume. Avalie a possibilidade de usar RAID 0 quando a performance de E/S for mais importante que a tolerância a falhas. Por exemplo, você poderia usá-la com um banco de dados muito utilizado e no qual a replicação de dados já esteja configurada separadamente. 

 Selecione as métricas de armazenamento adequadas para sua carga de trabalho em todas as opções de armazenamento consumidas para a carga de trabalho. Ao utilizar sistemas de arquivos que usam créditos de expansão, crie alarmes para ser informado quando você estiver se aproximando dos limites desses créditos. É necessário criar painéis de armazenamento para mostrar a integridade geral do armazenamento da carga de trabalho. 

 Para sistemas de armazenamento com tamanho fixo, como o Amazon EBS ou o Amazon FSx, certifique-se de estar monitorando a quantidade de armazenamento usada em comparação com o tamanho geral do armazenamento e, se possível, crie automação para aumentar o tamanho do armazenamento ao atingir um limite 

 **Antipadrões comuns:** 
+  Você pressupõe que a performance do armazenamento seja adequada se os clientes não estiverem reclamando. 
+  Você usa apenas um nível de armazenamento, supondo que todas as cargas de trabalho se encaixem nesse nível. 

 **Benefícios do estabelecimento desta prática recomendada:** Você precisa de uma visão operacional unificada, dados granulares em tempo real e uma referência histórica para otimizar a performance e a utilização de recursos. É possível criar painéis e dados automáticos com granularidade de um segundo para executar matemática de métricas nos dados e para fornecer insights operacionais e de utilização para as suas necessidades de armazenamento. 

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

## Orientações para a implementação
Orientações para a implementação

 Otimizar o uso do armazenamento e os padrões de acesso: escolha sistemas de armazenamento com base nos padrões de acesso de sua workload e nas características das opções de armazenamento disponíveis. Determine o melhor local para armazenar os dados que permitirão que você atenda a seus requisitos enquanto reduz a sobrecarga. Use otimizações de performance e padrões de acesso ao configurar e interagir com dados conforme as características de seu armazenamento (por exemplo, remover volumes ou particionar os dados). 

 Selecionar as métricas adequadas para as opções de armazenamento: selecione as métricas de armazenamento adequadas para a workload. Cada opção de armazenamento oferece várias métricas para acompanhar a performance da carga de trabalho ao longo do tempo. Verifique se você está realizando medições em relação a métricas de expansão de armazenamento (por exemplo, monitoramento de créditos de expansão para o Amazon EFS). Para sistemas de armazenamento de tamanho fixo, como o Amazon Elastic Block Store ou o Amazon FSx, verifique se você está monitorando a quantidade de armazenamento usada em comparação com o tamanho geral do armazenamento. Crie automação quando possível para aumentar o tamanho do armazenamento ao atingir um limite. 

 Monitorar métricas: o Amazon CloudWatch pode coletar métricas entre os recursos da 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. 

## Recursos
Recursos

 **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) 
+  [Amazon Glacier: documentação do Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerações sobre performance e taxa de solicitações](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Armazenamento na nuvem com a AWS](https://aws.amazon.com/products/storage/) 
+  [Características de E/S do EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Monitoring and understanding Amazon EBS performance using Amazon CloudWatch (Monitoramento e compreensão da performance do Amazon EBS usando o Amazon CloudWatch)](https://aws.amazon.com/blogs/storage/valuable-tips-for-monitoring-and-understanding-amazon-ebs-performance-using-amazon-cloudwatch/) 

 **Vídeos relacionados:** 
+  [Deep dive on Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Exemplos relacionados:** 
+  [Amazon EFS CSI Driver (Driver CSI do Amazon EFS)](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI Driver (Driver CSI do Amazon EBS)](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS Utilities (Utilitários do EFS)](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale (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) 

# PERF 4  Como você seleciona sua solução de banco de dados?


 A solução de banco de dados ideal 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 habilitam 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 as características dos dados
](perf_right_database_solution_understand_char.md)
+ [

# PERF04-BP02 Avaliar as opções disponíveis
](perf_right_database_solution_evaluate_options.md)
+ [

# PERF04-BP03 Coletar e registrar métricas de performance do banco de dados
](perf_right_database_solution_collect_metrics.md)
+ [

# PERF04-BP04 Escolher armazenamento de dados com base nos padrões de acesso
](perf_right_database_solution_access_patterns.md)
+ [

# PERF04-BP05 Otimizar o armazenamento de dados com base nas métricas e nos padrões de acesso
](perf_right_database_solution_optimize_metrics.md)

# PERF04-BP01 Compreender as características dos dados
PERF04-BP01 Compreender as características dos dados

 Escolha soluções para o gerenciamento dos seus dados que correspondam de forma ideal às características, aos padrões de acesso e aos requisitos dos conjuntos de dados de sua workload. Ao selecionar e implementar uma solução de gerenciamento de dados, verifique se as características de consultas, de escalabilidade e de armazenamento são compatíveis com os requisitos dos dados da workload. Saiba como as várias opções de bancos de dados correspondem aos seus modelos de dados e quais opções de configuração são mais adequadas para seu caso de uso.  

 A AWS fornece vários mecanismos de banco de dados, incluindo bancos de dados relacionais, de chave-valor, de documentos, na memória, de grafos, de séries temporais e de 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. Sua workload deve poder usar várias soluções de banco de dados diferentes, baseadas nas características dos dados. Ao selecionar as melhores soluções de banco de dados para um problema específico, você pode se libertar de bancos de dados monolíticos, com a abordagem de tamanho único que é restritiva, e focar no gerenciamento de dados para atender às necessidades dos seus clientes. 

 **Resultado desejado:** As características dos dados da workload são documentadas com detalhes suficientes para facilitar a seleção e a configuração de soluções de banco de dados compatíveis e para fornecer insight das possíveis alternativas. 

 **Antipadrões comuns:** 
+  Não considerar maneiras para segmentar grandes conjuntos de dados em coleções de dados menores que têm características semelhantes, o que resulta na perda das oportunidades de usar bancos de dados com propósito específico que correspondem melhor às características dos dados e do crescimento. 
+  Não identificar os padrões de acesso aos dados no início, o que resulta em retrabalho caro e complexo posteriormente. 
+  Limitar o crescimento usando estratégias de armazenamento de dados que não são dimensionáveis tão rapidamente quanto necessário. 
+  Escolher um tipo de banco de dados para todas as workloads. 
+  Fixar-se em uma única solução de banco de dados porque há experiência e conhecimento internos de um tipo específico de solução de banco de dados. 
+  Manter uma solução de banco de dados porque ela funciona bem em um ambiente on-premises. 

 **Benefícios do estabelecimento desta prática recomendada:** Familiarize-se com todas as soluções de banco de dados da AWS para poder determinar a solução de banco de dados correta para as diversas workloads. Depois de selecionar a solução de banco de dados adequada para a sua workload, você poderá experimentar rapidamente cada uma dessas ofertas de banco de dados para determinar se elas continuam atendendo às necessidades da sua workload. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Alto 
+  A economia de custo possível pode não ser identificada. 
+  Os dados podem não estar protegidos no nível necessário. 
+  O acesso aos dados e a performance do armazenamento podem não ser ideais. 

## Orientações para a implementação
Orientações para a implementação

 Defina as características dos dados e os padrões de acesso da workload. Analise todas as soluções de banco de dados disponíveis para identificar a solução que é compatível com as necessidades dos seus dados. Em uma determinada workload, vários bancos de dados podem ser selecionados. Avalie cada serviço ou grupo de serviços e analise-os individualmente. Se soluções alternativas possíveis de gerenciamento de dados forem identificadas para todos ou para parte dos dados, experimente com implementações alternativas que possam desvendar benefícios de custo, segurança, performance e confiabilidade. Atualize a documentação existente caso uma nova abordagem de gerenciamento de dados seja adotada. 


|  **Tipo**  |  **Serviços da AWS**  |  **Características principais**  |  **Casos de uso comuns**  | 
| --- | --- | --- | --- | 
|  Relacional  |  Amazon RDS, Amazon Aurora  |  Integridade referencial, transações ACID, esquema para gravação  |  ERP, CRM, software comercial pronto para uso  | 
|  Chave-valor  |  Amazon DynamoDB  |  Throughput alto, baixa latência, escalabilidade quase infinita  |  Carrinhos de compras (comércio eletrônico), catálogos de produtos, aplicações de chat  | 
|  Documentos  |  Amazon DocumentDB  |  Armazenar documentos JSON e consultar por qualquer atributo  |  Gerenciamento de conteúdo (CMS), perfis de clientes, aplicações móveis  | 
|  Na memória  |  Amazon ElastiCache, Amazon MemoryDB  |  Latência de microssegundos  |  Armazenamento em cache, placares de jogos  | 
|  Bancos de dados  |  Amazon Neptune  |  Dados altamente relacionais em que os relacionamentos entre os dados têm significado  |  Redes sociais, mecanismos de personalização, detecção de fraudes  | 
|  Séries temporais  |  Amazon Timestream  |  Dados em que a dimensão primária é o tempo  |  DevOps, IoT, monitoramento  | 
|  Coluna ampla  |  Amazon Keyspaces  |  Workloads do Cassandra.  |  Manutenção de equipamentos industriais, otimização de rotas  | 
|  Ledger  |  Amazon QLDB  |  Ledger de alterações imutável e verificável de forma criptográfica  |  Sistemas de registro, saúde, cadeias de suprimentos, instituições financeiras  | 

 **Etapas da implementação** 

1.  Como os dados estão estruturados? (por exemplo, não estruturados, chave-valor, semiestruturados, relacionais) 

   1.  Se os dados estiverem estruturados, considere um armazenamento de objetos, como o [Amazon S3](https://aws.amazon.com/products/storage/data-lake-storage/) , ou um banco de dados NoSQL, como o [Amazon DocumentDB.](https://aws.amazon.com/documentdb/) 

   1.  Para dados de chave-valor, considere o [DynamoDB](https://aws.amazon.com/documentdb/), [o ElastiCache for Redis](https://aws.amazon.com/elasticache/redis/) ou [o MemoryDB.](https://aws.amazon.com/memorydb/) 

   1.  Se os dados tiverem uma estrutura relacional, qual nível de integridade referencial é necessário? 

      1.  Para restrições de chave estrangeira, bancos de dados relacionais, como o [Amazon RDS](https://aws.amazon.com/rds/) e [Aurora](https://aws.amazon.com/rds/aurora/) , podem fornecer esse nível de integridade. 

      1.  Normalmente, em um modelo de dados NoSQL, você desnormalizaria os dados em um único documento ou coleção de documentos para serem recuperados em uma única solicitação e não fazendo junção entre documentos ou tabelas;  

1.  A conformidade com as ACID (atomicidade, consistência, isolamento, durabilidade) é necessária? 

   1.  Se as propriedades ACID associadas aos bancos de dados relacionais forem necessárias, considere um banco de dados relacional, como o [Amazon RDS](https://aws.amazon.com/rds/) e [o Aurora.](https://aws.amazon.com/rds/aurora/) 

1.  Qual é o modelo de consistência necessário? 

   1.  Se a sua aplicação puder tolerar consistência eventual, considere uma implementação NoSQL. Analise as outras características para ajudar a escolher qual [banco de dados NoSQL](https://aws.amazon.com/nosql/) é mais adequado. 

   1.  Se for necessária forte consistência, use leituras altamente consistentes com o [DynamoDB](https://aws.amazon.com/documentdb/) ou um banco de dados relacional, como o [Amazon RDS](https://aws.amazon.com/rds/). 

1.  Quais formatos de consulta e resultado são compatíveis? (por exemplo, SQL, CSV, Parque, Avro, JSON etc.) 

1.  Quais tipos de dados, tamanhos de campos e quantidades gerais estão presentes? (por exemplo, texto, numérico, espacial, séries temporais calculadas, binário ou blob, documento) 

1.  Como as necessidades de armazenamento serão alteradas ao longo do tempo? Como isso afeta a escalabilidade? 

   1.  Bancos de dados de tecnologia sem servidor, como o [DynamoDB](https://aws.amazon.com/documentdb/) e [Amazon Quantum Ledger Database](https://aws.amazon.com/qldb/) , escalarão dinamicamente até quase armazenamento ilimitado. 

   1.  Os bancos de dados relacionais têm limites superiores em armazenamento provisionado e devem ser particionados horizontalmente por meio de mecanismos, como fragmentação, quando atingem esses limites. 

1.  Qual é a proporção de consultas de leitura em relação a consultas de gravação? O armazenamento em cache melhoraria a performance? 

   1.  Workloads de leitura pesada podem se beneficiar de uma camada de armazenamento em cache, esse pode ser o [ElastiCache](https://aws.amazon.com/elasticache/) ou [o DAX,](https://aws.amazon.com/dynamodb/dax/) se o banco de dados for o DynamoDB. 

   1.  As leituras também podem ser descarregadas em réplicas de leitura com bancos de dados relacionais, como o [Amazon RDS](https://aws.amazon.com/rds/). 

1.  O armazenamento e a modificação (OLTP – Processamento de transações on-line) ou a recuperação e a geração de relatórios (OLAP – Processamento analítico on-line) têm uma prioridade mais alta. 

   1.  Para processamento transacional de throughput alto, considere um banco de dados NoSQL, como o DynamoDB ou o Amazon DocumentDB. 

   1.  Para consultas de análise, considere um banco de dados em colunas, como o [Amazon Redshift](https://aws.amazon.com/redshift/) , ou exporte os dados para o Amazon S3 e execute análises usando o [Athena](https://aws.amazon.com/athena/) ou [o QuickSight.](https://aws.amazon.com/quicksight/) 

1.  Qual é o grau de confidencialidade desses dados e qual nível de proteção e criptografia eles precisam? 

   1.  Todos os mecanismos do Amazon RDS e do Aurora são compatíveis com a criptografia de dados em repouso usando o AWS KMS. O Microsoft SQL Server e o Oracle também são compatíveis com a Transparent Data Encryption (TDE – Criptografia transparente de dados) ao usar o Amazon RDS. 

   1.  Para o DynamoDB, use controle de acesso refinado com o [IAM](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-overview.html) para controlar quem tem acesso a quais dados no nível principal. 

1.  Qual nível de durabilidade os dados exigem? 

   1.  O Aurora replica automaticamente os dados entre três zonas de disponibilidade em uma região, o que significa que seus dados são altamente duráveis com menos chance de perda de dados. 

   1.  O DynamoDB é automaticamente replicado entre várias zonas de disponibilidade, fornecendo alta disponibilidade e durabilidade dos dados. 

   1.  O Amazon S3 fornece 11 noves de durabilidade. Muitos serviços de banco de dados, como o Amazon RDS e o DynamoDB, são compatíveis com a exportação de dados para o Amazon S3 para retenção de longo prazo e arquivamento. 

1.  Os requisitos do [objetivo de tempo de recuperação (RTO) ou do objetivo de ponto de recuperação (RPO)](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/plan-for-disaster-recovery-dr.html) influenciam a solução? 

   1.  O Amazon RDS, o Aurora, o DynamoDB, o Amazon DocumentDB e o Neptune são compatíveis com a recuperação pontual e o backup e a recuperação sob demanda.  

   1.  Para requisitos de alta disponibilidade, as tabelas do DynamoDB podem ser replicadas globalmente usando o recurso [tabelas globais,](https://aws.amazon.com/dynamodb/global-tables/) e os clusters do Aurora podem ser replicados entre várias regiões usando o recurso banco de dados global. Além disso, os buckets do S3 podem ser replicados entre Regiões da AWS usando a replicação entre regiões.  

1.  Você quer se livrar de mecanismos de bancos de dados comerciais/custos de licenças? 

   1.  Considere os mecanismos de código aberto, como o PostgreSQL e o MySQL no Amazon RDS ou no Aurora 

   1.  Utilize o [AWS DMS](https://aws.amazon.com/dms/) e [o AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/) para executar migrações de mecanismos de bancos de dados comerciais para código aberto 

1.  Qual a expectativa operacional para o banco de dados? A mudança para serviços gerenciados é uma preocupação principal? 

   1.  Utilizar o Amazon RDS em vez do Amazon EC2 e o DynamoDB ou o Amazon DocumentDB em vez de um host automático de um banco de dados NoSQL pode reduzir a sobrecarga operacional. 

1.  Como o banco de dados é acessado atualmente? É acessado apenas por aplicação ou há usuários de inteligência de negócios (BI) e outras aplicações prontas para uso conectadas? 

   1.  Se você tiver dependências de ferramentas externas, poderá ser necessário manter a compatibilidade com os bancos de dados com os quais elas são compatíveis. O Amazon RDS é totalmente compatível com as diferentes versões de mecanismo aos quais oferece suporte, incluindo o Microsoft SQL Server, o Oracle, o MySQL e o PostgreSQL. 

1.  Veja a seguir uma lista de serviços dos gerenciamento de dados potenciais, e onde eles podem ser melhor utilizados: 

   1.  Bancos de dados relacionais armazenam dados com esquemas e relacionamentos predefinidos entre eles. Esses bancos de dados são projetados para oferecer suporte a transações ACID (atomicidade, consistência, isolamento, durabilidade) e manter a integridade referencial e uma forte consistência de dados. Muitas aplicações tradicionais, planejamento de recursos empresariais (ERP), gerenciamento de relacionamentos com o cliente (CRM) e comércio eletrônico usam bancos de dados relacionais para armazenar seus dados. É possível executar muitos desses mecanismos de banco de dados no Amazon EC2 ou escolher um dos serviços gerenciados pela AWS [de banco de dados](https://aws.amazon.com/products/databases/): [Amazon Aurora](https://aws.amazon.com/rds/aurora), [Amazon RDS](https://aws.amazon.com/rds)e aos [Amazon Redshift](https://aws.amazon.com/redshift). 

   1.  Bancos de dados de chave/valor são otimizados para padrões de acesso comuns, normalmente visando armazenar e recuperar grandes volumes de dados. Esses bancos de dados fornecem tempos de resposta rápidos, mesmo sob volumes extremos de solicitações simultâneas. Aplicações da web de alto tráfego, sistemas de comércio eletrônico e aplicações de jogos são os casos de uso habituais para bancos de dados de chave-valor. Na AWS, é possível utilizar o [Amazon DynamoDB](https://aws.amazon.com/dynamodb/), um banco de dados totalmente gerenciado, multirregião, multimestre e durável com recursos incorporados de segurança, backup e restauração, além de armazenamento em cache na memória para aplicações na escala da Internet. 

   1.  Os bancos de dados na memória são usados para aplicações que exigem acesso em tempo real aos dados, latência mais baixa e throughput mais alto. Ao armazenar dados diretamente na memória, esses bancos de dados fornecem latência de microssegundos às aplicações para as quais a latência de milissegundos não é suficiente. Você pode usar bancos de dados em memória para armazenamento de aplicativos em cache, gerenciamento de sessões, placares de jogos e aplicativos geoespaciais. [Amazon ElastiCache](https://aws.amazon.com/elasticache/) é um datastore na memória totalmente gerenciado, compatível com o [Redis](https://aws.amazon.com/elasticache/redis/) ou [Memcached](https://aws.amazon.com/elasticache/memcached). No caso de aplicações que também requerem durabilidade mais alta, [Amazon MemoryDB for Redis](https://aws.amazon.com/memorydb/) oferece isso em combinação com um serviço durável de banco de dados na memória para performance ultrarrápida. 

   1.  Um banco de dados de documentos é projetado para armazenar dados semiestruturados, como documentos semelhantes a JSON. Esses bancos de dados ajudam os desenvolvedores a criar e atualizar rapidamente aplicativos como gerenciamento de conteúdo, catálogos e perfis de usuário. [Amazon DocumentDB](https://aws.amazon.com/documentdb/) é um serviço totalmente gerenciado de banco de dados de documentos rápido, escalável e altamente disponível compatível com cargas de trabalho do MongoDB. 

   1.  Um armazenamento em colunas amplas é um tipo de banco de dados NoSQL. Ele usa tabelas, linhas e colunas, mas ao contrário de um banco de dados relacional, os nomes e o formato das colunas podem variar de linha para linha na mesma tabela. Normalmente, você vê um repositório de coluna ampla em aplicativos industriais de alta escala para manutenção de equipamentos, gerenciamento de frotas e otimização de rotas. [Amazon Keyspaces (para Apache Cassandra)](https://aws.amazon.com/mcs/) é um serviço escalável, gerenciado e altamente disponível de banco de dados de coluna ampla, compatível com Apache Cassandra. 

   1.  Bancos de dados gráficos são para aplicativos que precisam navegar e consultar milhões de relações entre conjuntos de dados gráficos altamente conectados com latência de milissegundos em grande escala. Muitas empresas usam bancos de dados gráficos para detecção de fraudes, redes sociais e mecanismos de recomendação. [Amazon Neptune](https://aws.amazon.com/neptune/) é serviço totalmente gerenciado, rápido e confiável de banco de dados gráfico que facilita a criação e execução de aplicações que funcionam com conjuntos de dados altamente conectados. 

   1.  Bancos de dados de séries temporais são eficientes para coletar, sintetizar e derivar insights de dados que mudam ao longo do tempo. Aplicativos de IoT, DevOps e telemetria industrial podem utilizar bancos de dados de séries temporais. [Amazon Timestream](https://aws.amazon.com/timestream/) é um serviço rápido, escalável e totalmente gerenciado de banco de dados de séries temporais para aplicativos operacionais e de IoT que facilita o armazenamento e a análise de trilhões de eventos por dia. 

   1.  Bancos de dados de livro-razão fornecem uma autoridade centralizada e confiável para manter um registro escalável, imutável e criptograficamente verificável de transações para cada aplicativo. Vemos os bancos de dados de livro-razão empregados em sistemas de registro, cadeia de suprimentos, inscrições e até mesmo transações bancárias. [Amazon Quantum Ledger Database (Amazon QLDB)](https://aws.amazon.com/qldb/) é um banco de dados ledger totalmente gerenciado que fornece um log de transações transparente, imutável e criptograficamente verificável pertencente a uma autoridade confiável central. O Amazon QLDB monitora todas as alterações de dados do aplicativo e mantém um histórico completo e verificável das alterações ao longo do tempo. 

 **Nível de esforço para o plano de implementação: **Se uma workload for movida de uma solução de banco de dados para outra, poderá haver um nível *alto* de esforço envolvido na refatoração dos dados e da aplicação.   

## Recursos
Recursos

 **Documentos relacionados:** 
+  [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) 
+  [Amazon 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) 
+  [Escolha entre o EC2 e o 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/UserGuide/BestPractices.html) 

 **Vídeos relacionados:** 
+ [AWS purpose-built databases (DAT209-L) (Bancos de dados com propósito específico da AWS (DAT209-L)) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+ [Amazon Aurora storage demystified: How it all works (DAT309-R) (Armazenamento desmistificado do Amazon Aurora: Como tudo funciona (DAT309-R)) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+ [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **Exemplos relacionados:** 
+  [Optimize Data Pattern using Amazon Redshift Data Sharing (Otimizar padrão de dados usando o compartilhamento de dados do Amazon Redshift)](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [Migrações de bancos de dados](https://github.com/aws-samples/aws-database-migration-samples) 
+  [MS SQL Server: Demonstração de replicação do AWS Database Migration Service (DMS) ](https://github.com/aws-samples/aws-dms-sql-server) 
+  [Workshop prático de modernização de bancos de dados](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Amostras do Amazon Neptune](https://github.com/aws-samples/amazon-neptune-samples) 

# PERF04-BP02 Avaliar as opções disponíveis
PERF04-BP02 Avaliar as opções disponíveis

 Compreenda as opções de bancos de dados e como elas podem otimizar a performance antes de você selecionar a sua solução de gerenciamento de dados. Use testes de carga para identificar as métricas de banco de dados que são importantes para a sua workload. Ao explorar as opções de bancos de dados, considere vários aspectos, como grupos de parâmetros, opções de armazenamento, memória, computação, réplica de leitura, consistência eventual, pooling de conexão e opções de armazenamento em cache. Experimente com essas várias opções de configuração para melhorar as métricas. 

 **Resultado desejado:** Uma workload pode ter uma ou mais soluções de banco de dados usadas com base nos tipos de dados. A funcionalidade e os benefícios do banco de dados correspondem de maneira ideal as características dos dados, os padrões de acesso e os requisitos da workload. Para otimizar a performance e o custo do banco de dados, você deve avaliar os padrões de acesso aos dados para determinar as opções de banco de dados apropriadas. Avalie os tempos de consulta aceitáveis para garantir que as opções de bancos de dados atendam aos requisitos. 

 **Antipadrões comuns:** 
+  Não identificação dos padrões de acesso aos dados. 
+  Não ter ciência das opções de configuração da solução de gerenciamento de dados escolhida. 
+  Contar somente com o aumento do tamanho da instância sem examinar outras opções de configuração. 
+  Não testar as características de escalabilidade da solução escolhida. 

 

 **Benefícios do estabelecimento desta prática recomendada:** A exploração e a experimentação das opções de bancos de dados permitem que você reduza o custo da infraestrutura, melhore a performance e a escalabilidade e diminua o esforço necessário para manter suas workloads. 

 **Nível de exposição a riscos quando esta prática recomendada não é estabelecida:** Alto 
+  Precisar otimizar para um banco de dados *de tamanho único* significa fazer compromissos desnecessários. 
+  Custos mais altos como resultado da não configuração da solução de banco de dados para que corresponda aos padrões de tráfego. 
+  Podem surgir problemas operacionais por causa da escalabilidade. 
+  Os dados podem não estar protegidos no nível necessário. 

## Orientações para a implementação
Orientações para a implementação

 Compreenda as características dos dados da sua workload para poder configurar as opções de seu banco de dados. Execute testes de carga para identificar as métricas-chave de performance e os gargalos. Use essas características e métricas para avaliar as opções do banco de dados e experimentar com diferentes configurações. 


|  Serviços da AWS  |  Amazon RDS, Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  Escalabilidade da computação  |  Aumente o tamanho das instâncias, as instâncias do Aurora Serverless escalam automaticamente em resposta a mudanças na carga  |  Escalabilidade automática de leitura/gravação com modo de capacidade sob demanda ou escalabilidade automática da capacidade de leitura/gravação provisionada em modo de capacidade provisionada  |  Aumentar o tamanho das instâncias  |  Aumentar o tamanho das instâncias, adicionar nós ao cluster  |  Aumentar o tamanho das instâncias  |  Escala automaticamente para ajustar a capacidade  |  Escalabilidade automática de leitura/gravação com modo de capacidade sob demanda ou escalabilidade automática da capacidade de leitura/gravação provisionada em modo de capacidade provisionada  |  Escala automaticamente para ajustar a capacidade  | 
|  Aumento da escala de leituras horizontalmente  |  Todos os mecanismos são compatíveis com réplicas de leitura. O Aurora é compatível com a escalabilidade automática de instâncias de réplicas de leitura.  |  Aumentar as unidades de capacidade de leitura provisionadas  |  Réplicas de leitura  |  Réplicas de leitura  |  Réplicas de leitura. Compatível com a escalabilidade automática de instâncias de réplicas de leitura  |  Escala automaticamente  |  Aumentar as unidades de capacidade de leitura provisionadas  |  Automaticamente aumenta a escala verticalmente para limites de simultaneidade documentados  | 
|  Aumento da escala de gravações horizontalmente  |  Aumentando o tamanho da instância, realizando gravações em lote na aplicação ou adicionando uma fila na frente do banco de dados. A escalabilidade horizontal via fragmentação em nível de aplicação entre várias instâncias  |  Aumentar as unidades de capacidade de leitura provisionadas. Garantir a chave de partição ideal para evitar o controle de utilização de gravação em nível de partição  |  Aumento do tamanho da instância primária  |  Usar o Redis em modo de cluster para distribuir gravações entre fragmentos  |  Aumentar o tamanho das instâncias  |  As solicitações de gravação podem ser limitadas durante a escalabilidade. Se você encontrar exceções de controle de utilização, continue a enviar dados no mesmo throughput (ou mais alto) para escalar automaticamente. Gravações em lote para reduzir solicitações de gravação simultâneas  |  Aumentar as unidades de capacidade de leitura provisionadas. Garantir a chave de partição ideal para evitar o controle de utilização de gravação em nível de partição  |  Automaticamente aumenta a escala verticalmente para limites de simultaneidade documentados  | 
|  Configuração do mecanismo  |  Grupos de parâmetros  |  Não aplicável  |  Grupos de parâmetros  |  Grupos de parâmetros  |  Grupos de parâmetros  |  Não aplicável  |  Não aplicável  |  Não aplicável  | 
|  Armazenamento em cache  |  Armazenamento em cache na memória, configurável por meio de grupos de parâmetros. Emparelhar com um cache dedicado, como o ElastiCache for Redis, para descarregar solicitações de itens acessados comumente  |  Cache totalmente gerenciado do DAX (DAX) disponível  |  Armazenamento em cache na memória. Opcionalmente, emparelhar com um cache dedicado, como o ElastiCache for Redis, para descarregar solicitações de itens acessados comumente  |  A função primária é o armazenamento em cache  |  Usar cache dos resultados de consultas somente leitura para armazenar o resultado em cache  |  O Timestream tem duas camadas de armazenamento, uma delas é uma camada na memória de alta performance  |  Implantar um cache dedicado separado, como o ElastiCache for Redis, para descarregar solicitações de itens acessados comumente  |  Não aplicável  | 
|  Alta disponibilidade/recuperação de desastres  |  A configuração recomendada para workloads de produção é a execução de uma instância em espera em uma segunda zona de disponibilidade, para fornecer resiliência em uma região.  Para obter resiliência entre regiões, o Aurora Global Database pode ser usado  |  Altamente disponível em uma região. As tabelas podem ser replicada entre regiões usando as tabelas globais do DynamoDB  |  Crie várias instâncias entre zonas de disponibilidade para obter disponibilidade.  Os snapshots podem ser compartilhados entre regiões, e os clusters podem ser replicados usando o DMS para fornecer replicação entre regiões/recuperação de desastres.  |  A configuração recomenda para clusters de produção é criar pelo menos um nó em uma zona de disponibilidade secundária.  É possível usar o datastore global do ElastiCache para replicar clusters entre regiões.  |  As réplicas de leitura em outas zonas de disponibilidade funcionam como destinos de failover.  Os snapshots podem ser compartilhados entre regiões, e os clusters podem ser replicados usando os streams do Neptune para replicação de dados entre dois clusters em duas regiões diferentes.  |  Altamente disponibilidade em uma região. A replicação entre regiões exige o desenvolvimento de uma aplicação personalizada usando o SDK do Timestream  |  Altamente disponível em uma região.  A replicação entre regiões exige a lógica de uma aplicação personalizada ou ferramentas de terceiros  |  Altamente disponível em uma região.  Para replicação entre regiões, exporte o conteúdo do diário do Amazon QLDB para um bucket do S3 e configure o bucket para replicação entre regiões.  | 

 

 **Etapas da implementação** 

1.  Quais opções de configuração estão disponíveis para os bancos de dados selecionados? 

   1.  Os grupos de parâmetros do Amazon RDS e do Aurora permitem ajustar as configurações em nível de mecanismo comum de bancos de dados, como a memória alocada para o cache ou o ajuste do fuso horário do banco de dados. 

   1.  Para serviços de bancos de dados provisionados, como o Amazon RDS, o Aurora, o Neptune, o Amazon DocumentDB e os implantados no Amazon EC2, é possível alterar o tipo de instância, o armazenamento provisionado e as réplicas de leitura. 

   1.  O DynamoDB permite especificar dois modos de capacidade: sob demanda e provisionado. Para levar workloads diferentes em conta, é possível alterar entre esses modos e aumentar a capacidade alocada em modo provisionado a qualquer momento. 

1.  A leitura ou a gravação da workload é pesada?  

   1.  Quais são as soluções disponíveis para descarregar leituras (réplicas de leitura, armazenamento em cache etc.)?  

      1.  Em tabelas do DynamoDB, é possível descarregar leituras usando o DAX para armazenamento em cache. 

      1.  Em bancos de dados relacionais, é possível criar um cluster do ElastiCache for Redis e configurar a aplicação para ler no cache primeiro, recorrendo ao banco de dados se o item não estiver presente. 

      1.  Todos os bancos de dados relacionais, como o Amazon RDS e o Aurora, e os bancos de dados NoSQL provisionados, como o Neptune e o Amazon DocumentDB, são compatíveis com a adição de replicas de leitura para descarregar as partes de leitura da workload. 

      1.  Os bancos de dados de tecnologia sem servidor, como o DynamoDB, escalarão automaticamente. Verifique se você tem unidades de capacidade de leitura suficientes (RCU) provisionadas para tratar a workload. 

   1.  Quais são as soluções disponíveis para escalar gravações (fragmentação de chave de partição, introdução de uma fila etc.)? 

      1.  No caso de bancos de dados relacionais, é possível aumentar o tamanho da instância para acomodar uma workload maior, ou aumentar as IOPs provisionadas para permitir um throughput mais alto para o armazenamento subjacente. 
         +  Também é possível introduzir uma fila na frente do banco de dados, em vez de gravar diretamente no banco de dados. Esse padrão permite desacoplar a ingestão do banco de dados e controlar a taxa de fluxo, para que o banco de dados não fique sobrecarregado.  
         +  O uso solicitações de gravação em lote em vez de criar muitas transações de curta duração pode ajudar a melhorar o throughput em bancos de dados relacionais de alto volume de gravação. 

      1.  Os bancos de dados de tecnologia sem servidor, como o DynamoDB, podem escalar o throughput de gravação automaticamente ou ajustar as unidades da capacidade de gravação (WCU) provisionadas, dependendo do modo da capacidade.  
         +  Mas ainda pode ser possível encontrar problemas com partições *quentes,* ao atingir os limites do throughput de uma determinada chave de partição. Isso pode ser mitigado ao escolher uma chave de partição mais igualmente distribuída ou fragmentar a gravação da chave de partição.  

1.  Quais são os picos de transações por segundo (TPS) atuais ou esperados? Teste usando esse volume de tráfego e esse volume \$1X% para compreender as características da escalabilidade. 

   1.  Ferramentas nativas, como a pg\$1bench do PostgreSQL, podem ser usadas para testes de estresse do banco de dados e para compreender os gargalos e as características de escalabilidade. 

   1.  Tráfego do tipo produção deve ser capturado para que possa ser reproduzido para a simulação das condições reais, além de workloads sintéticas. 

1.  Ao usar computação de tecnologia sem servidor ou escalável elasticamente, teste o impacto da escalabilidade disso no banco de dados. Se apropriado, introduza agrupamento ou gerenciamento de conexões para reduzir o impacto no banco de dados.  

   1.  O RDS Proxy pode ser usado com o Amazon RDS e o Aurora para gerenciar as conexões ao banco de dados.  

   1.  Bancos de dados de tecnologia sem servidor, como o DynamoDB, não têm conexões associadas a eles, mas considere a capacidade provisionada e as políticas de escalabilidade automática para lidar com picos na carga. 

1.  A carga é previsível? Há picos na carga e períodos de inatividade? 

   1.  Se houver períodos de inatividade, considere reduzir a escala verticalmente da capacidade provisionada ou o tamanho da instância durante esses períodos. Aurora Serverless V2 aumentará e reduzirá a escala verticalmente com base na carga. 

   1.  No caso de instâncias que não são de produção, considere pausá-las ou interrompê-las durante os horários sem trabalho. 

1.  É necessário segmentar e separar seus modelos de dados com base nos padrões de acesso e nas características dos dados? 

   1.  Considere usar o AWS DMS ou o AWS SCT para mover os dados para outros serviços. 

## Nível de esforço do plano de implementação: 
Nível de esforço do plano de implementação: 

Ao estabelecer essa prática recomendada, lembre-se das características e das métricas atuais dos dados. A coleta dessas métricas, o estabelecimento de uma linha de base e o uso dessas métricas para identificar as opções ideais de configuração de bancos de dados é *baixo* to *moderado* . Isso é melhor validade com testes de carga e experimentação. 

## Recursos
Recursos

 **Documentos relacionados:** 
+  [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) 
+  [Amazon 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:** 
+  [AWS purpose-built databases (DAT209-L) (Bancos de dados com propósito específico da AWS (DAT209-L)) ](https://www.youtube.com/watch?v=q81TVuV5u28)
+ [Amazon Aurora storage demystified: How it all works (DAT309-R) (Armazenamento desmistificado do Amazon Aurora: Como tudo funciona (DAT309-R)) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Exemplos relacionados:** 
+  [Exemplos do Amazon DynamoDB](https://github.com/aws-samples/aws-dynamodb-examples) 
+  [Amostras de migração de bancos de dados da AWS](https://github.com/aws-samples/aws-database-migration-samples) 
+  [Workshop de modernização de banco de dados](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Como trabalhar com parâmetros no Amazon RDS para bancos de dados Postgress](https://github.com/awsdocs/amazon-rds-user-guide/blob/main/doc_source/Appendix.PostgreSQL.CommonDBATasks.Parameters.md) 

# PERF04-BP03 Coletar e registrar métricas de performance do banco de dados
PERF04-BP03 Coletar e registrar métricas de performance do banco de dados

 Para compreender como está a performance dos sistemas de gerenciamento de dados, é importante rastrear métricas relevantes. Essas métricas ajudam a otimizar seus recursos de gerenciamento de dados para garantir que os requisitos da workload sejam atendidos, e que você tenha uma visão geral clara de como está a performance da sua workload. Use ferramentas, bibliotecas e sistemas que registram as medidas de performance relacionadas ao banco de dados. 

 

 Há métricas relacionadas ao sistema que hospeda o banco de dados (como, CPU, armazenamento, memória, IOPS), e há métricas para avaliar os próprios dados (como, transações por segundo, taxas de consultas, tempos de resposta, erros). Essas métricas devem estar prontamente acessíveis para qualquer equipe de suporte e operacional, e devem ter registro histórico suficiente para que seja possível identificar tendências, anomalias e gargalos. 

 

 **Resultado desejado:** Para monitorar a performance das workloads de seus bancos de dados, registre várias métricas de performance ao longo de um período. Isso permite detectar anomalias e avaliar a performance em relação às métricas de negócios para garantir que as necessidades da workload sejam atendidas. 

 **Antipadrões comuns:** 
+  Você só usa a pesquisa manual de arquivos de log para métricas. 
+  Você só publica métricas para ferramentas internas usadas pela equipe e não tem uma imagem abrangente da workload. 
+  Você só usa as métricas padrão registradas pelo software de monitoramento selecionado. 
+  Você só analisa as métricas quando há um problema. 
+  Você só monitora as métricas em nível do sistema, não captura as métricas de acesso aos dados e de uso. 

 **Benefícios do estabelecimento desta 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 banco de dados. A capacidade do banco de dados pode ser configurada para garantir um custo ideal sem comprometer a performance. 

 **Nível de exposição a riscos quando esta prática recomendada não é estabelecida:** Alto 
+  A inabilidade de diferenciar o nível de performance fora do normal versus normal criam dificuldades na identificação de problemas e na tomada de decisões. 
+  A economia de custo possível pode não ser identificada. 
+  Os padrões de crescimento não serão identificados resultando em degradação da confiabilidade e da performance. 

## Orientações para a implementação
Orientações para a implementação

 Identifique, colete, agregue e correlacione métricas relacionadas ao banco de dados. As métricas devem incluir as métricas do sistema subjacente que oferece suporte ao banco de dados e 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 e entrada e saída da rede, enquanto as métricas de banco de dados 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 banco de dados é usada. Use essas métricas como parte de uma abordagem orientada por dados para ajustar e otimizar os recursos da sua workload.  

 **Etapas da implementação:** 

1.  Quais métricas de bancos de dados é importante rastrear? 

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

   1.  [Monitoramento com insights da performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 

   1.  [Monitoramento aprimorado](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 

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

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

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

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

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

   1.  [Métricas em nível de cluster do Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html) 

   1.  [Monitoramento do Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 

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

1.  O monitoramento do banco de dados se beneficiaria de uma solução de machine learning que detecta problemas de performance por anomalias operacionais? 

   1.  [O Amazon DevOps Guru for 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.  São necessários detalhes em nível de aplicação sobre o uso do SQL? 

   1.  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html#api-segmentdocuments-sql) pode ser instrumentado na aplicação para obter insights e encapsular todos os pontos de dados em uma única consulta; 

1.  Você tem uma solução de registro em log e de monitoramento aprovada? 

   1.  [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.  Você identificou e configurou suas políticas de retenção de dados para que correspondam à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 do CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

 **Nível de esforço do plano de implementação: **Há um nível de esforço *médio* para identificar, rastrear, coletar, agregar e correlacionar métricas de todos os recursos de banco de dados. 

## Recursos
Recursos

 **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)
+  [Amazon 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 (DAT209-L) (Bancos de dados com propósito específico da AWS (DAT209-L)) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works (DAT309-R) (Armazenamento desmistificado do Amazon Aurora: Como tudo funciona (DAT309-R)) ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+  [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Exemplos relacionados:** 
+  [Level 100: Monitoring with CloudWatch Dashboards (Nível 100: monitoramento com os painéis do CloudWatch)](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [AWS Dataset Ingestion Metrics Collection Framework (Framework da coleção de métricas de ingestão de conjuntos de dados da AWS)](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Amazon RDS Monitoring Workshop (Workshop sobe o monitoramento do AWS RDS)](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 

# PERF04-BP04 Escolher armazenamento de dados com base nos padrões de acesso
PERF04-BP04 Escolher armazenamento de dados com base nos padrões de acesso

 Use os padrões de acesso da carga de trabalho para decidir que serviços e tecnologias usar. Além dos requisitos não funcionais, como performance e escala, os padrões de acesso influenciam fortemente a escolha das soluções de banco de dados e de armazenamento. A primeira dimensão é a necessidade de transações, conformidade com ACID e leituras consistentes. Nem todo banco de dados é compatível com isso, e a maioria dos bancos de dados NoSQL fornecem um modelo de consistência eventual. A segunda importante dimensão seria a distribuição de gravações e leituras ao longo do tempo e do espaço. As aplicações distribuídas globalmente precisam considerar os requisitos de padrões de tráfego, de latência e de acesso para identificar a solução ideal de armazenamento. O terceiro aspecto essencial a considerar é a flexibilidade dos padrões de consultas, os padrões de acesso aleatório e as consultas de uma única vez. Considerações relativas à funcionalidade de consultas altamente especializadas para processamento de texto e de linguagem natural, às séries temporais e aos grafos também devem ser avaliadas. 

 **Resultado desejado:** O armazenamento de dados foi selecionado com base nos padrões de acesso aos dados identificados e documentados. Isso pode incluir as consulta mais comuns de leitura, gravação e exclusão, as necessidades de cálculos e agregações ad-hoc, a complexidade dos dados, a interdependência dos dados e a consistência exigida. 

 **Antipadrões comuns:** 
+  Você só seleciona um fornecedor de banco de dados para simplificar o gerenciamento de operações. 
+  Você pressupõe que os padrões de acesso aos dados permanecerão consistentes ao longo do tempo. 
+  Você implementa transações complexas, reversão e lógica de consistência na aplicação. 
+  O banco de dados está configurado para ser compatível com alta expansão potencial de tráfego, o que faz com que os recursos do banco de dados fiquem ociosos a maior parte do tempo. 
+  O uso de um banco de dados compartilhado para usos transacionais e analíticos. 

 **Benefícios do estabelecimento desta prática recomendada:** A seleção e a otimização do armazenamento de dados com base em padrões de acesso ajuda a reduzir a complexidade do desenvolvimento e a otimizar as oportunidades de performance. A compreensão de quando usar réplicas de leitura, tabelas globais e armazenamento em cache ajuda a reduzir a sobrecarga operacional e a escalar com base nas necessidades da workload. 

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

## Orientações para a implementação
Orientações para a implementação

 Identifique e avalie o padrão de acesso aos dados para selecionar a configuração correta do armazenamento. Cada solução de banco de dados tem opções para configurar e otimizar sua solução de armazenamento. Use as métricas e os logs coletados e experimente com opções para encontrar a configuração ideal. Use a tabela a seguir para analisar as opções de armazenamento por serviço de banco de dados. 


|  Serviços da AWS  |  Amazon RDS, Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  Escalabilidade de armazenamento.  |  A opção de escalabilidade automática de armazenamento disponível para escalar automaticamente IOPS provisionadas de armazenamento também pode ser usada independentemente do armazenamento provisionado ao utilizar tipos de IOPs provisionadas de armazenamento.  |  Escala automaticamente. As tabelas não são restringidas em termos de tamanho.  |  A opção de escalabilidade automática de armazenamento disponível escala o armazenamento provisionado.  |  O armazenamento é na memória, vinculado ao tipo ou à contagem de instâncias.  |  A opção de escalabilidade automática de armazenamento disponível para escalar automaticamente o armazenamento provisionado.  |  Configura o período de retenção para camadas na memória e magnéticas em dias.  |  Aumenta verticalmente e reduz horizontalmente a escala do armazenamento de tabelas automaticamente.  |  Escala automaticamente. As tabelas não são restringidas em termos de tamanho.  | 

 

 **Etapas da implementação:** 

1.  Identifique e documente o crescimento antecipado dos dados e do tráfego. 

   1.  O Amazon RDS e o Aurora são compatíveis com o aumento da escala vertical automática até os limites documentados. Além disso, considere fazer a transição de dados mais antigos para arquivamento do Amazon S3, agregando dados históricos para análise ou escalando horizontalmente por meio de fragmentação. 

   1.  O DynamoDB e o Amazon S3 escalam até o volume de armazenamento quase ilimitado automaticamente. 

   1.  As instâncias e os bancos de dados do Amazon RDS em execução no EC2 podem ser redimensionados manualmente, e as instâncias do EC2 podem ter novos volumes do EBS adicionados posteriormente para armazenamento adicional.  

   1.  Os tipos de instância podem ser alterados com base nas alterações nas atividades. Por exemplo, é possível iniciar com uma instância menor para teste e escalar a instância quando o tráfego de produção começar a ser recebido no serviço. O Aurora Serverless V2 reduz a escala horizontalmente automaticamente em resposta a alterações na carga.  

1.  Documente os requisitos de performance em condições normais e em picos (transações por segundo (TPS) e consultas por segundo (QPS)) e de consistência (consistência ACID e eventual). 

1.  Documente os aspectos da implantação da solução e os requisitos de acesso ao banco de dados (global, Multi-AZ, replicação de leitura, vários nós de gravação). 

 **Nível de esforço para o plano de implementação: **Se você não tiver logs ou métricas para a solução de gerenciamento dos dados, será necessário realizar isso para identificar e documentar os padrões de acesso aos seus dados. Depois que o padrão de acesso aos dados for compreendido, o nível de esforço para selecionar e configurar o armazenamento dos seus dados é *baixo* . 

## Recursos
Recursos

 **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) 
+ [Amazon 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/)
+  [Tipos de armazenamento do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) 

 **Vídeos relacionados:** 
+ [AWS purpose-built databases (DAT209-L) (Bancos de dados com propósito específico da AWS (DAT209-L))](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works (DAT309-R) (Armazenamento desmistificado do Amazon Aurora: Como tudo funciona (DAT309-R)) ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+ [ Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

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

# PERF04-BP05 Otimizar o armazenamento de dados com base nas métricas e nos padrões de acesso
PERF04-BP05 Otimizar o armazenamento de dados com base nas métricas e nos padrões de acesso

 Use características de performance e padrões de acesso que otimizem o modo como os dados são armazenados ou consultados para obter a melhor performance possível. Meça como otimizações, p. ex., indexação, distribuição de chave, design do data warehouse ou estratégias de armazenamento em cache afetam a performance do sistema ou a eficiência geral. 

 **Antipadrões comuns:** 
+  Você só usa a pesquisa manual de arquivos de log para métricas. 
+  Você só publica métricas em ferramentas internas. 

 **Benefícios do estabelecimento desta prática recomendada:** Para garantir que você esteja atendendo às métricas necessárias para a carga de trabalho, você deve monitorar as métricas de performance do banco de dados relacionadas a leituras e gravações. Você pode usar esses dados para adicionar novas otimizações para leituras e gravações na camada de armazenamento de dados. 

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

## Orientações para a implementação
Orientações para a implementação

 Otimizar o armazenamento de dados com base em métricas e padrões: use as métricas relatadas para identificar todas as áreas com baixa performance na sua workload e otimizar os componentes do banco de dados. Cada sistema de banco de dados tem características relacionadas a performance diferentes a serem avaliadas, como a maneira de indexar, armazenar em cache ou distribuir os dados entre vários sistemas. Meça o impacto de suas otimizações. 

## Recursos
Recursos

 **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) 
+  [Amazon 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/) 
+  [Analisar as anomalias da performance com o DevOps Guru for RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/devops-guru-for-rds.html) 
+  [Modo de capacidade de leitura/gravação do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html) 

 **Vídeos relacionados:** 
+  [AWS purpose-built databases (DAT209-L) (Bancos de dados com propósito específico da AWS (DAT209-L))](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works (DAT309-R) (Armazenamento desmistificado do Amazon Aurora: Como tudo funciona (DAT309-R))](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **Exemplos relacionados:** 
+  [Laboratórios práticos do Amazon DynamoDB](https://amazon-dynamodb-labs.workshop.aws/hands-on-labs.html) 

# PERF 5  Como você configura sua solução de rede?


 A solução de rede ideal para uma carga de trabalho varia com base nos requisitos de latência, throughput, instabilidade e largura de banda. Restrições físicas, como recursos de usuário ou no local, determinam as opções de localização. Essas restrições podem ser compensadas com pontos de presença ou posicionamento de recursos. 

**Topics**
+ [

# PERF05-BP01 Compreender como as redes afetam a performance
](perf_select_network_understand_impact.md)
+ [

# PERF05-BP02 Avaliar os recursos de redes disponíveis
](perf_select_network_evaluate_features.md)
+ [

# PERF05-BP03 Escolher a VPN ou a conectividade dedicada dimensionada adequadamente para workloads híbridas
](perf_select_network_hybrid.md)
+ [

# PERF05-BP04 Utilizar o balanceamento de carga e o descarregamento da criptografia
](perf_select_network_encryption_offload.md)
+ [

# PERF05-BP05 Escolher os protocolos de rede para aumentar a performance
](perf_select_network_protocols.md)
+ [

# PERF05-BP06 Escolher o local da sua workload com base nos requisitos de rede
](perf_select_network_location.md)
+ [

# PERF05-BP07 Otimizar a configuração da rede com base em métricas
](perf_select_network_optimize.md)

# PERF05-BP01 Compreender como as redes afetam a performance
PERF05-BP01 Compreender como as redes afetam a performance

 Analise e entenda como decisões relacionadas à rede afetam a performance da carga de trabalho. 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, e, 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 tremulação, o throughput e as regras de roteamento. 

 **Resultado desejado:** 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. 

 **Antipadrões comuns:** 
+  Todo o tráfego flui por meio dos datacenters existentes. 
+  Você cria sessões do Direct Connect em excesso sem compreender 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 do estabelecimento desta 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 exposição a riscos quando esta prática recomendada não é estabelecida:** Alto 

## Orientações para a implementação
Orientações para a implementação

 Identifique as métricas importantes de performance da rede da sua workload e capture as características da rede. Defina e documente os requisitos como parte de uma abordagem direcionada por dados, usando testes comparativos ou de carga. Use esses dados para identificar onde sua solução de rede é restringida e examine as opções de configuração que podem melhorar a workload. Compreenda as opções e os recursos de redes nativos da nuvem disponíveis e como eles podem afetar a performance da workload com base nos requisitos. Cada recurso de redes tem vantagens e desvantagens, e pode ser configurado para atender às características da sua workload e escalar com base em suas necessidades. 

 **Etapas da implementação:** 

1.  Defina e documente os requisitos de performance das redes: 

   1.  Inclua métricas, como as de latência de rede, largura de banda, protocolos, locais, padrões de tráfego (picos e frequências), throughput, criptografia, inspeção e regras de roteamento 

1.  Capture as características fundamentais das redes: 

   1.  [Logs de fluxo da VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

   1.  [Métricas do AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-cloudwatch-metrics.html) 

   1.  [Métricas do AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-cloudwatch-metrics.html) 

1.  Capture as características das redes da sua aplicação: 

   1.  [Adaptador de rede elástica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html) 

   1.  [Métricas do AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy-metrics.html) 

   1.  [Métricas do Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html) 

1.  Capture as características das redes de borda: 

   1.  [Métricas do Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html) 

   1.  [Métricas do Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-cloudwatch.html) 

   1.  [Métricas do AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/cloudwatch-monitoring.html) 

1.  Capture as características das redes híbridas: 

   1.  [Métricas do Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/monitoring-cloudwatch.html) 

   1.  [Métricas do AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/monitoring-cloudwatch-vpn.html) 

   1.  [Métricas da AWS Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/monitoring-cloudwatch.html) 

   1.  [Métricas da WAN da Nuvem AWS](https://docs.aws.amazon.com/vpc/latest/cloudwan/cloudwan-cloudwatch-metrics.html) 

1.  Capture as características das redes de segurança: 

   1.  [Métricas do AWS Shield, do WAF e do Network Firewall](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html) 

1.  Capture as métricas de performance de ponta a ponta com ferramentas de rastreamento: 

   1.  [AWS X-Ray](https://aws.amazon.com/xray/) 

   1.  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 

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

   1.  [Realize o teste comparativo do](https://aws.amazon.com/premiumsupport/knowledge-center/network-throughput-benchmark-linux-ec2/) throughput da rede: alguns fatores que podem afetar a performance da rede do EC2 quando as instâncias estão na mesma VPC; Meça a largura de banda da rede entre as instâncias do EC2 do Linux na mesma VPC. 

   1.  Execute [testes de carga](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para experimentar com soluções e opções de redes 

 **Nível de esforço do plano de implementação: **Há um nível de esforço *médio* para documentar os requisitos, as opções e as soluções disponíveis de redes da workload. 

## Recursos
Recursos

 **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 Elastic Network Adapter (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 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 (NET317-R1) (Conectividade com a AWS e arquiteturas de rede híbrida da AWS (NET317-R1) ](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+ [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) ](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [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 and Scalable Security Solutions (AWS Transit Gateway e soluções de segurança escaláveis)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops](https://networking.workshop.aws/) 

# PERF05-BP02 Avaliar os recursos de redes disponíveis
PERF05-BP02 Avaliar os recursos de redes disponíveis

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

Vários serviços são criados para melhorar a performance e outros costumam oferecer recursos para otimizar a performance da rede. Serviços como o AWS Global Accelerator e Amazon CloudFront existem para melhorar a performance enquanto a maioria dos outros serviços têm recursos para otimizar o tráfego de rede. Analise os recursos do serviço, como a capacidade da rede da instância do EC2, os tipos de instância para redes aprimoradas, as instâncias otimizadas para Amazon EBS, a aceleração de transferências do Amazon S3 e o CloudFront, para melhorar a performance da workload. 

**Resultado desejado:** você documentou o inventário de componentes da workload e identificou quais configurações de rede vão ajudar cada componente com o intuito de atender aos seus requisitos de performance. Depois de avaliar os recursos de rede, você testou e mensurou as métricas de performance para identificar como usar os recursos disponíveis. 

**Antipadrões comuns:** 
+ Você coloca todas as workloads na Região da AWS que está mais próxima de sua sede em vez de uma Região da AWS próxima dos usuários finais. 
+ Não obter uma referência para a performance de sua workload e deixar de avaliar continuamente a performance de sua workload em relação a essa referência.
+ Você não avalia configurações de serviço para opções de melhoria da performance. 

**Benefícios do estabelecimento desta prática recomendada:** Avaliar todos os recursos e opções de serviços pode aumentar a performance de sua 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 de implementação
Orientação de implementação

Analise quais opções de configuração de rede estão disponíveis e como elas poderiam afetar sua workload. Entender como essas opções interagem com sua arquitetura e o impacto que elas terão sobre a performance medida e a performance percebida pelos usuários é fundamental para a otimização da performance. 

**Etapas da implementação:** 

1. Crie uma lista de componentes da workload. 

   1. Desenvolva, gerencie e monitore a rede de sua organização usando o [Nuvem AWS WAN](https://aws.amazon.com/cloud-wan/). 

   1. Obtenha visibilidade de sua rede usando o [Network Manager](https://docs.aws.amazon.com/vpc/latest/tgwnm/what-is-network-manager.html). 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. 

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

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

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

1. Se não souber seu caminho ou rotas de rede, use o [Network Access Analyzer](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-vaa.html) para identificá-los. 

1. Revise seus protocolos de rede para reduzir ainda mais a latência.
   + [PERF05-BP05 Escolher os protocolos de rede para aumentar a performance](perf_select_network_protocols.md) 

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

1. Quando o tráfego da workload está distribuído entre várias contas, avalie a topologia de rede e os serviços para reduzir a latência. 
   + Avalie suas concessões de operação e performance entre [Emparelhamento de VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) e [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) ao conectar várias contas. O AWS Transit Gateway oferece suporte a uma throughput de AWS Site-to-Site VPN para dimensionamento além de um único [limite máximo de IPsec](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) usando vários caminhos. O tráfego entre uma Amazon VPC e o AWS Transit Gateway permanece na rede privada da AWS e não é exposto à Internet. O AWS Transit Gateway simplifica a interconexão de todas as suas VPCs, o que pode abranger milhares de Contas da AWS e redes on-premises. Compartilhe seu AWS Transit Gateway entre várias contas usando o [Resource Access Manager](https://aws.amazon.com/ram/). Para obter visibilidade de seu tráfego de rede global, use o [Network Manager](https://aws.amazon.com/transit-gateway/network-manager/) para obter uma visão central de suas métricas de rede. 

1. Revise seus locais de usuários e minimize a distância entre os usuários e a workload.

   1. [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) é um serviço de rede que melhora a performance do tráfego dos usuários em até 60% usando a infraestrutura de rede global da Amazon Web Services. Quando a Internet está congestionada, o AWS Global Accelerator otimiza o caminho para a aplicação a fim de manter a perda de pacotes, instabilidade da rede e latência num nível consistentemente baixo. Também fornece endereços IP estáticos que simplificam a movimentação de endpoints entre zonas de disponibilidade ou Regiões da AWS sem necessidade de atualizar sua configuração de DNS ou alterar as aplicações voltadas para os clientes. 

   1. [Amazon CloudFront](https://aws.amazon.com/cloudfront/) pode melhorar a performance de entrega de conteúdo de sua workload e latência globalmente. O CloudFront tem mais de 410 pontos de presença distribuídos globalmente para armazenar seu conteúdo em cache e reduzir a latência para o usuário final. 

   1. O Amazon Route 53 oferece opções de [roteamento baseado em latência](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-latency.html), [roteamento por geolocalização](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geo.html), [roteamento por geoproximidade](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html)e aos [roteamento baseado em IP](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-ipbased.html) para ajudar a melhorar a performance de sua workload para um público global. Identifique qual opção de roteamento otimiza a performance da workload analisando o tráfego e a localização dos usuários da workload. 

1. Avalie recursos adicionais do Amazon S3 para melhorar as IOPS de armazenamento. 

   1.  [Aceleração de Transferências do Amazon S3](https://aws.amazon.com/s3/transfer-acceleration/) é um recurso que permite que usuários externos se beneficiem de otimizações de rede do CloudFront a fim de fazer upload de dados no Amazon S3. Isso melhora a capacidade de transferir grandes quantidades de dados com origem em locais remotos que não têm conectividade dedicada com a Nuvem AWS. 

   1.  [Pontos de acesso multirregionais no Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPoints.html) replicam conteúdo para várias regiões e simplificam a workload ao proporcionar um ponto de acesso. Quando um ponto de acesso multirregional é usado, você pode solicitar ou gravar dados no Amazon S3 com o serviço identificando o bucket de menor latência. 

1. Revise a largura de banda da rede para recursos de computação.

   1. Interfaces de rede elástica (ENI) usadas por instâncias do EC2, contêineres e funções do Lambda são limitadas por fluxo. Revise seus grupos de posicionamento para otimizar a [throughput de rede do EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html). Para evitar gargalos na abordagem por fluxo, projete sua aplicação para usar vários fluxos. Para monitorar e obter visibilidade de suas métricas de rede relacionadas à computação, use [métricas do CloudWatch](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-network-bandwidth.html) e [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html). `ethtool` está incluído no driver de ENI e expõe métricas adicionais relacionadas à rede que podem ser publicadas como [métricas personalizadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) no CloudWatch. 

   1. As instâncias mais novas do EC2 também podem aproveitar as redes aprimoradas. [Instâncias série N do EC2](https://aws.amazon.com/ec2/nitro/), como `M5n` e `M5dn`, utilizam a quarta geração de cartões Nitro personalizados para oferecer até 100 Gbps de throughput de rede a uma única instância. Essas instâncias oferecem quatro vezes mais largura de banda de rede e processo de pacotes em comparação às instâncias `M5` básicas, sendo ideais para aplicações com uso intenso de rede. 

   1. [Adaptadores de rede elástica (ENA) da Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) proporcionam ainda mais otimização ao oferecer mais throughput para suas instâncias em um [grupo de posicionamento de cluster](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-cluster%23placement-groups-limitations-cluster). 

   1. [Elastic Fabric Adapter](https://aws.amazon.com/hpc/efa/) é uma interface de rede para instâncias do Amazon EC2 que permite executar workloads que exigem altos níveis de comunicação entre nós em grande escala na AWS. Com o EFA, os aplicativos de Computação de Alta Performance (HPC) que usam a Message Passing Interface (MPI – Interface de Passagem de Mensagens) e os aplicativos de ML (Machine Learning) que usam a NCCL (NVIDIA Collective Communications Library) podem aumentar a escala para milhares de CPUs ou GPUs. 

   1. [Instâncias otimizadas para Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) usam uma pilha de configuração otimizada e fornecem capacidade adicional e dedicada para E/S do Amazon EBS. Essa otimização proporciona a melhor performance para seus volumes do EBS ao minimizar a contenção entre a E/S do Amazon EBS e outros tráfegos provenientes da sua instância. 

**Nível de esforço do plano de implementação: **

Para estabelecer esta prática recomendada, você deve conhecer as opções atuais de componentes para sua workload que afetam a performance de rede. Reunir os componentes, avaliar as opções de melhoria da rede, realizar testes, implementar e documentar essas melhorias são ações de esforço *baixo* to *moderado* . 

## Recursos
Recursos

 **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) 
+  [Largura de banda da rede para instâncias do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.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 Elastic Network Adapter (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) 
+  [Como criar um CMDB na nuvem](https://aws.amazon.com/blogs/mt/building-a-cloud-cmdb-on-aws-for-consistent-resource-configuration-in-hybrid-environments/) 
+  [Dimensionar a throughput de VPN usando o AWS Transit Gateway](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) 

 **Vídeos relacionados:** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1) (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 (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 

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

# PERF05-BP03 Escolher a VPN ou a conectividade dedicada dimensionada adequadamente para workloads híbridas
PERF05-BP03 Escolher a VPN ou a conectividade dedicada dimensionada adequadamente para workloads híbridas

 Quando uma rede comum é necessária para conectar recursos on-premises e de nuvem na AWS, verifique se você tem largura de banda adequada para atender aos requisitos de performance. Estime os requisitos de largura de banda e de latência para a sua workload híbrida. Esses números orientarão os requisitos de dimensionamento para o AWS Direct Connect ou seus endpoints de VPN. 

 **Resultado desejado:** Ao implantar uma workload que precisa de conectividade de rede híbrida, há várias opções de configuração de conectividade, como o Direct Connect ou as VPNs gerenciadas ou não gerenciadas. Selecione o tipo de conexão apropriado para cada workload e garanta que você tem os requisitos de largura de banda e de criptografia adequados entre seu local e a nuvem. 

 **Antipadrões comuns:** 
+  Você só avalia as soluções de VPN para seus requisitos de criptografia de rede. 
+  Você não avalia opções de conectividade paralela ou de backup. 
+  Você usa configurações padrão para roteadores, túneis e sessões de BGP. 
+  Você não compreende ou identifica todos os requisitos da workload (necessidades de criptografia, protocolo, largura de banda e tráfego). 

 **Benefícios do estabelecimento desta prática recomendada:** A seleção e a configuração adequadas de soluções de rede híbrida aumentará a confiabilidade da sua workload e maximizará as oportunidades de performance. A identificação dos requisitos da workload, o planejamento antecipado e a avaliação das soluções híbridas ajudarão você a minimizar alterações dispendiosas da rede física e a sobrecarga operacional e reduzirá o tempo de colocação no mercado. 

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

## Orientações para a implementação
Orientações para a implementação

 Desenvolva uma arquitetura de redes híbridas com base nos seus requisitos de largura de banda. Calcule os requisitos de largura de banda e de latência de suas aplicações híbridas. Com base nos requisitos de largura de banda, uma única conexão VPN ou Direct Connect pode não ser suficiente, e você deve projetar uma configuração híbrida para habilitar o balanceamento de carga de tráfego em várias conexões. O Direct Connect pode ser necessário por oferecer performance mais previsível e consistente devido à conectividade de rede privada dele. Ele é ótimo para cargas de trabalho de produção que exigem latência consistente e quase zero tremulação. 

 O AWS Direct Connect oferece conectividade dedicada ao ambiente da AWS, de 50 Mbps até 10 Gbps. Isso permite que você tenha latência gerenciada e controlada, além de largura de banda provisionada para que sua carga de trabalho possa se conectar facilmente e com alta performance a outros ambientes. Usando um dos parceiros do AWS Direct Connect, é possível ter conectividade completa de vários ambientes, fornecendo uma rede estendida com performance consistente. 

 O AWS Site-to-Site VPN é um serviço de VPN gerenciada para VPCs. Quando uma conexão VPN é criada, a AWS fornece túneis para dois endpoints de VPN diferentes. Com o AWS Transit Gateway, você pode simplificar a conectividade entre várias VPCs e também conectar-se a qualquer VPC anexada ao AWS Transit Gateway com uma única conexão VPN. O AWS Transit Gateway também permite escalar além do limite de throughput de IPsec de 1,25 Gbps da VPN ao habilitar o suporte para roteamento equal cost multi-path (ECMP – Caminho múltiplo de custo igual) por vários túneis de VPN. 

 **Nível de esforço para o plano de implementação: **Há um nível de esforço *alto* para avaliar as necessidades da workload para redes híbridas e para implementar soluções de redes híbridas. 

## Recursos
Recursos

 **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/) 
+ [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) 
+  [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 (NET317-R1) (Conectividade com a AWS e arquiteturas de rede híbrida da AWS (NET317-R1) ](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+ [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) ](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) 
+  [Conexão do Transit Gateway](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 and Scalable Security Solutions (AWS Transit Gateway e soluções de segurança escaláveis)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops](https://networking.workshop.aws/) 

# PERF05-BP04 Utilizar o balanceamento de carga e o descarregamento da criptografia
PERF05-BP04 Utilizar o balanceamento de carga e o descarregamento da criptografia

 Distribua o tráfego entre vários recursos e serviços para permitir que sua carga de trabalho 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 e gerenciar e rotear o tráfego de maneira eficaz. 

 Ao implementar uma arquitetura de aumento da escala verticalmente na qual você quer usar várias instâncias para o conteúdo do serviço, use balanceadores de carga na Amazon VPC. A AWS fornece vários modelos para suas aplicações no serviço ELB. O Application Load Balancer é mais adequado para balanceamento de carga de tráfego HTTP e HTTPS e fornece roteamento avançado de solicitações direcionadas na entrega de arquiteturas de aplicações modernas, incluindo microsserviços e contêineres. 

 O Network Load Balancer é mais adequado para o balanceamento de carga de tráfego TCP em que é necessária 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. 

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

 **Antipadrões comuns:** 
+  Você roteia todo o tráfego da Internet por meio de load balancers 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 do estabelecimento desta prática recomendada:** Um load balancer lida com a carga variável do tráfego do aplicativo em uma única zona de disponibilidade ou em várias zonas de disponibilidade. Os load balancers oferecem alta disponibilidade, escalabilidade automática e segurança robusta, necessárias para tornar seus aplicativos tolerantes a falhas. 

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

## Orientações para a implementação
Orientações para a implementação

 Usar o balanceador de carga adequado para a sua workload: selecione o balanceador de carga adequado para a sua workload. Se você precisar balancear a carga de solicitações HTTP, recomendamos o Application Load Balancer. Para balanceamento de carga de protocolos da rede e de transporte (camada 4, TCP, UDP) e para aplicações de performance extrema e baixa latência, recomendamos o Network Load Balancer. Os Application Load Balancers são compatíveis com balanceadores de carga HTTPS, e os Network Load Balancers são compatíveis com o descarregamento de criptografia TLS. 

 Ativar o descarregamento de criptografia HTTPS ou TLS: o Elastic Load Balancing inclui o gerenciamento integrado de certificados, a autenticação de usuários e a descriptografia SSL/TLS. Ele fornece a flexibilidade de gerenciar centralmente as configurações de TLS e descarregar cargas de trabalho com uso intensivo de CPU de seus aplicativos. Criptografe todo o tráfego HTTPS como parte da implantação do load balancer. 

## Recursos
Recursos

 **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 Elastic Network Adapter (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 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 (NET317-R1) (Conectividade com a AWS e arquiteturas de rede híbrida da AWS (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

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

# PERF05-BP05 Escolher os protocolos de rede para aumentar a performance
PERF05-BP05 Escolher os protocolos de rede para aumentar a performance

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

 Há uma relação entre latência e largura de banda para alcançar o throughput. Se a transferência de arquivos estiver usando TCP, latências mais altas reduzirão o throughput geral. Existem abordagens para corrigir isso com ajuste de TCP e protocolos de transferência otimizados. Algumas abordagens usam UDP. 

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

 **Benefícios do estabelecimento desta prática recomendada:** Selecionar o protocolo apropriado para comunicação entre os componentes da carga de trabalho garante que você esteja obtendo a melhor performance para essa carga de trabalho. 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 exposição a riscos quando esta prática recomendada não é estabelecida:** Médio 

## Orientações para a implementação
Orientações para a implementação

 Otimizar o tráfego da rede: selecione o protocolo apropriado para otimizar a performance da sua workload. Há uma relação entre latência e largura de banda para alcançar o throughput. Se a transferência de arquivos estiver usando TCP, latências mais altas reduzirão o throughput geral. Existem abordagens para corrigir a latência com ajuste de TCP e protocolos de transferência otimizados. Algumas abordagens usam UDP. 

## Recursos
Recursos

 **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 Elastic Network Adapter (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 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 (NET317-R1) (Conectividade com a AWS e arquiteturas de rede híbrida da AWS (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

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

# PERF05-BP06 Escolher o local da sua workload com base nos requisitos de rede
PERF05-BP06 Escolher o local da sua workload com base nos requisitos de rede

 Use as opções de localização de nuvem disponíveis para reduzir a latência de rede ou aprimorar o throughput. Use as Regiões da AWS, as zonas de disponibilidade, os grupos de posicionamento e os locais de borda, como o AWS Outposts, as zonas locais da AWS e o AWS Wavelength, para reduzir a latência da rede ou melhorar o throughput. 

 A infraestrutura da Nuvem AWS é criada em torno de regiões e de zonas de disponibilidade. Uma região é um local físico no mundo com várias zonas de disponibilidade. 

 As zonas de disponibilidade consistem em um ou mais datacenters discretos que estão alojados em instalações separadas, cada uma com energia, rede e conectividade redundantes. Essas zonas de disponibilidade oferecem a capacidade de operar aplicativos e bancos de dados de produção com níveis de disponibilidade, tolerância a falhas e escalabilidade mais altos do que seria possível em um único datacenter 

 Escolha uma ou mais regiões adequadas para sua implantação conforme nos seguintes elementos fundamentais: 
+  **A localização dos seus usuários**: a escolha de uma região próxima de sua carga de trabalho garante menor latência quando eles usarem a carga de trabalho. 
+  **A localização dos seus dados**: para aplicativos com uso intenso de dados, o maior gargalo na latência é a transferência de dados. O código do aplicativo deve ser executado o mais perto possível dos dados. 
+  **Outras restrições**: leve em conta restrições como segurança e conformidade. 

 O Amazon EC2 oferece grupos de posicionamento para redes. Um grupo de posicionamento é um agrupamento lógico de instâncias para reduzir a latência ou para aumentar a confiabilidade. O uso de placement groups com tipos de instância compatíveis e um Elastic Network Adapter (ENA) permite que as cargas de trabalho participem de uma rede de 25 Gbps e baixa latência. Recomenda-se o uso de placement groups para cargas de trabalho que se beneficiam de baixa latência de rede, alto throughput de rede ou ambos. O uso de placement groups tem o benefício de reduzir a instabilidade em comunicações de rede. 

 Serviços sensíveis à latência são entregues na borda usando uma rede global de pontos de presença. Esses pontos de presença costumam oferecer serviços como Content Delivery Network (CDN – Rede de entrega de conteúdo) e Domain Name System (DNS). Ao ter esses serviços na borda, as cargas de trabalho 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 roteamento com base em latência para direcionar os usuários finais à região mais próxima (latência mínima). 

 [https://aws.amazon.com/cloudfront/](https://aws.amazon.com/cloudfront/) é uma CDN global que pode ser usada para acelerar conteúdo estático, como imagens, scripts e vídeos, bem como conteúdo dinâmico, como APIs ou aplicativos web. Ele conta com uma rede global de pontos de presença que armazenarão o conteúdo em cache e fornecerão conectividade de rede de alta performance aos seus usuários. O CloudFront também acelera muitos outros recursos, como upload de conteúdo e aplicativos dinâmicos, tornando-o uma adição de desempenho a todos os aplicativos que servem tráfego pela Internet. [https://aws.amazon.com/lambda/edge/](https://aws.amazon.com/lambda/edge/) é um recurso do Amazon CloudFront que permite executar código mais perto dos usuários da sua carga de trabalho, o que melhora a performance e reduz a latência. 

 O Amazon Route 53 é um serviço web de DNS de nuvem altamente disponível e escalável. Ele é projetado visando oferecer aos desenvolvedores e empresas uma maneira extremamente confiável e econômica de rotear os usuários finais para aplicações de Internet convertendo nomes, como www.example.com, em endereços IP numéricos, como 192.168.2.1, que os computadores usam para se conectarem uns aos outros. O Route 53 é totalmente compatível com IPv6. 

 [https://aws.amazon.com/outposts/](https://aws.amazon.com/outposts/) foi projetado para workloads que precisam permanecer on-premises devido a requisitos de latência, quando a workload precisa ser executada sem problemas com o restante das outras workloads na AWS. Os AWS Outposts são racks de computação e armazenamento totalmente gerenciados e configuráveis criados com hardware projetado pela AWS, que permitem computação e armazenamento on-premises, e conectam-se sem problemas com a ampla matriz de serviços da AWS na nuvem. 

 [https://aws.amazon.com/about-aws/global-infrastructure/localzones/](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) são projetadas para executar workloads que exigem latência inferior a dez milissegundos, como renderização de vídeo e aplicações de desktop virtual com uso intenso de gráficos. As zonas locais permitem que você obtenha todos os benefícios de ter recursos de computação e armazenamento mais próximos dos usuários finais. 

 [https://aws.amazon.com/wavelength/](https://aws.amazon.com/wavelength/) foi projetado para entregar aplicações de latência ultrabaixa para dispositivos 5G estendendo a infraestrutura, os serviços, as APIs e as ferramentas da AWS para as redes 5G. O Wavelength incorpora armazenamento e computação às redes 5G de provedores de telecomunicações para ajudar sua workload 5G, se ela exigir latência inferior a dez milissegundos, como dispositivos de IoT, streaming de jogos, veículos autônomos e produção de mídia ao vivo. 

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

 **Antipadrões comuns:** 
+  Você consolida todos os recursos da carga de trabalho 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 do estabelecimento desta prática recomendada:** Verifique se sua rede está disponível sempre que quiser alcançar os clientes. O uso da rede global privada da AWS garante que seus clientes obtenham a experiência de menor latência ao implantar workloads nos locais mais próximos a eles. 

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

## Orientações para a implementação
Orientações para a implementação

 Reduzir a latência selecionando os locais corretos: identifique onde estão localizados os usuários e dados. Aproveite as Regiões da AWS, as zonas de disponibilidade, os grupos de posicionamento e os locais de borda para reduzir a latência. 

## Recursos
Recursos

 **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 Elastic Network Adapter (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 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 (NET317-R1) (Conectividade com a AWS e arquiteturas de rede híbrida da AWS (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

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

# PERF05-BP07 Otimizar a configuração da rede com base em métricas
PERF05-BP07 Otimizar a configuração da rede com base em métricas

 Use dados coletados e analisados para tomar decisões bem informadas sobre a otimização da configuração da rede. Meça o impacto dessas mudanças e use as medições de impacto para tomar decisões futuras. 

 Ative os logs de fluxo da VPC para todas as redes VPC usadas pela workload. O VPC Flow Logs é um recurso que permite capturar informações sobre o tráfego IP que entra e sai de interfaces de rede em sua VPC. O VPC Flow Logs ajuda você com várias tarefas, p. ex., com a solução de problemas relacionados à indisponibilidade de um tráfego específico para uma instância, o que, por sua vez, ajuda a diagnosticar regras excessivamente restritivas de grupos de segurança. Você pode usar os logs de fluxo como uma ferramenta de segurança para monitorar o tráfego que está chegando em instância, para criar o perfil do tráfego de rede e procurar comportamentos de tráfego anormais. 

 Use métricas de rede para fazer alterações na configuração de rede conforme a carga de trabalho evolui. É possível recriar as redes baseadas na nuvem rapidamente, portanto, é necessário evoluir sua arquitetura de rede ao longo do tempo para manter a eficiência da performance. 

 **Antipadrões comuns:** 
+  Você pressupõe que todos os problemas relacionados à performance são relacionados ao aplicativo. 
+  Você só testa a performance da rede a partir de um local próximo ao local em que implantou a carga de trabalho. 

 **Benefícios do estabelecimento desta prática recomendada:**para garantir que você esteja atendendo às métricas necessárias da workload, monitore as métricas de performance da rede. Você pode capturar informações sobre o tráfego IP de e para interfaces de rede em sua VPC e usar esses dados para adicionar novas otimizações ou implantar sua carga de trabalho em novas regiões geográficas. 

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

## Orientações para a implementação
Orientações para a implementação

 Ativar os logs de fluxo da VPC: os logs de fluxo da VPC permitem capturar informações sobre o tráfego IP de saída e de entrada das interfaces de rede em sua VPC. Os Logs de fluxo da VPC ajuda você com várias tarefas, como com a solução de problemas relacionados à indisponibilidade de um tráfego específico para uma instância, o que ajuda a diagnosticar regras excessivamente restritivas de grupos de segurança. Você pode usar os logs de fluxo como uma ferramenta de segurança para monitorar o tráfego que está chegando em instância, para criar o perfil do tráfego de rede e procurar comportamentos de tráfego anormais. 

 Ativar as métricas adequadas para as opções de rede: selecione as métricas de rede adequadas para a sua workload. Você pode habilitar métricas para o gateway NAT da VPC, gateways de trânsito e túneis VPN. 

## Recursos
Recursos

 **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 Elastic Network Adapter (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 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) 
+  [Monitoramento de suas redes globais e principais com as 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:** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1) (Conectividade com a AWS e arquiteturas de rede híbrida da AWS (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [Monitoring and troubleshooting network traffic (Monitoramento e solução de problemas de tráfego de rede)](https://www.youtube.com/watch?v=Ed09ReWRQXc) 
+  [Simplify Traffic Monitoring and Visibility with Amazon VPC Traffic Mirroring (Simplificar o monitoramento e a visibilidade do tráfego com a Amazon VPC Traffic Mirroring)](https://www.youtube.com/watch?v=zPovlZxuZ-c) 

 **Exemplos relacionados:** 
+  [AWS Transit Gateway and Scalable Security Solutions (AWS Transit Gateway e soluções de segurança escaláveis)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops](https://networking.workshop.aws/) 
+  [Monitoramento de rede da AWS](https://github.com/aws-samples/monitor-vpc-network-patterns) 