

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

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

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

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

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

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

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

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

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

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

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

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