Esse conteúdo está desatualizado. Esta versão da Well-Architected Framework agora pode ser encontrada em: https://docs.aws.amazon.com/pt_br/wellarchitected/2022-03-31/framework/performance-efficiency.html
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.
Recursos
Introducing The Amazon Builders’ Library (DOP328)
Melhores práticas:
-
Compreenda 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.
-
Defina um processo para opções de arquitetura:
Use a experiência interna e o conhecimento da nuvem, ou 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.
-
Leve em conta 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.
-
Use 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.
-
Use 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.
-
Realize testes comparativos de cargas de trabalho:
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.
-
Fazer o teste de carga da sua carga de trabalho:
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.
Plano de melhoria
Compreenda os serviços e os recursos disponíveis
Inventário de software e arquitetura da sua carga de trabalho para serviços relacionados: Reúna um inventário de sua carga de trabalho e decida sobre qual categoria de produtos
deve saber mais.Identifique componentes de carga de trabalho que podem ser substituídos por serviços
gerenciados para melhorar a performance e reduzir a complexidade operacional.
Defina um processo para opções de arquitetura
Selecione uma abordagem de 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 AWS Solution Architects, AWS Reference
Architectures e APN Partners para ajudá-lo a escolher uma arquitetura.
Defina os requisitos 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.
Leve em conta os requisitos de custo ao tomar decisões
Otimize componentes de carga de trabalho para reduzir custos: Dimensione os componentes da carga de trabalho 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.
Use políticas ou arquiteturas de referência
Implante sua carga de trabalho usando políticas existentes ou arquiteturas de referência: Integre os serviços à sua implantação na nuvem e, em seguida, use seus testes de performance
para garantir que você possa continuar a atender aos seus requisitos de performance.
Use as orientações do seu provedor de nuvem ou de um parceiro apropriado
Entre em contato com os recursos da AWS para obter assistência: Os arquitetos de soluções da AWS e a Professional Services fornecem orientação para
a implementação de soluções.Os parceiros do APN oferecem toda a expertise em AWS para ajudar você a desbloquear
a agilidade e a inovação para a sua empresa.
Realize testes comparativos de cargas de trabalho
Monitore a performance durante o desenvolvimento: Implemente processos que deem visibilidade à performance conforme sua carga de trabalho
aumenta.
Integre-se ao pipeline de entrega: Execute testes de carga automaticamente 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.
Teste as jornadas do usuário: Use versões sintéticas ou limpas de dados de produção (remova informações sigilosas
ou de identificação) para teste de carga. Exercite toda sua arquitetura usando jornadas
do usuário reproduzidas ou pré-programadas por meio de seu aplicativo em escala.
Fazer o teste de carga da sua carga de trabalho
Valide sua abordagem com o teste de carga: Teste a carga de uma prova de conceito para descobrir se você atende aos requisitos
de performance. Você pode usar os serviços da AWS para executar ambientes em escala
de produção para testar sua 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. Política de teste do Amazon EC2
Monitore as métricas: O Amazon CloudWatch pode coletar métricas nos recursos em sua arquitetura. Você também
pode coletar e publicar métricas personalizadas para descobrir métricas de negócio
ou derivadas. Use o CloudWatch ou soluções de terceiros para definir alarmes que indicam
quando os limites são violados.
Teste em escala: O teste de carga usa sua carga de trabalho real para que você possa ver a performance
de sua solução em um ambiente de produção. Você pode usar os serviços da AWS para
executar ambientes em escala de produção para testar sua 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 a Nuvem AWS para
testar sua carga de trabalho e descobrir em que ponto o dimensionamento dela falha
ou se ela é dimensionada 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.