Eficiência de performance

O pilar (pilar) inclui (descrição)

O pilar Eficiência de performance fornece uma visão geral dos princípios, melhores práticas e perguntas atinentes ao projeto. Você encontra orientações prescritivas sobre implementação no whitepaper Pilar Eficiência de performance.

Princípios de design

Existem (contagem) princípios do projeto para (pilar inferior) na nuvem:

Definição

Existem (contagem) melhores práticas para (pilar inferior) na nuvem:

Adote uma abordagem impulsionada por dados para criar uma arquitetura de alta performance. Reúna dados sobre todos os aspectos da arquitetura, desde o design de alto nível até a seleção e a configuração dos tipos de recursos.

A avaliação periódica de suas escolhas garante que você esteja aproveitando a evolução contínua da Nuvem AWS. O monitoramento garante que você esteja ciente de qualquer desvio em relação à performance esperada. Faça concessões em sua arquitetura visando o aprimoramento da performance, como o uso de compactação ou armazenamento em cache, ou ainda a diminuição dos requisitos de consistência.

Melhores práticas

Seleção

A solução ideal para uma carga de trabalho específica varia e, muitas vezes, as soluções combinam várias abordagens. Cargas de trabalho bem arquitetadas usam várias soluções e habilitam diferentes recursos para aprimorar a performance.

Os recursos da AWS estão disponíveis em vários tipos e configurações, o que facilita encontrar uma abordagem que atenda melhor às necessidades da sua carga de trabalho. Você também pode encontrar opções que não são facilmente obtidas com infraestrutura no local. Um serviço gerenciado como o Amazon DynamoDB, por exemplo, fornece um banco de dados NoSQL totalmente gerenciado com latência de milissegundos de um dígito em qualquer escala.

As perguntas a seguir se concentram nessas considerações para (pilar inferior).

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

Use uma abordagem impulsionada por dados para selecionar os padrões e a implementação de sua arquitetura e, por fim, obter uma solução econômica. Os arquitetos de soluções da AWS, as arquiteturas de referência da AWS e os parceiros da Rede de parceiros da AWS (APN) podem ajudá-lo a selecionar uma arquitetura com base em conhecimento do setor, mas os dados obtidos por meio de benchmarking ou teste de carga serão necessários para otimizar sua arquitetura.

Sua arquitetura provavelmente combinará várias abordagens arquiteturais diferentes (por exemplo, orientada por eventos, ETL ou pipeline). A implementação de sua arquitetura usará os serviços da AWS que são específicos para a otimização da performance de sua arquitetura. Nas seções a seguir, analisamos os quatro principais tipos de recursos que você deve levar em consideração (computação, armazenamento, banco de dados e rede).

Computação

Selecionar recursos computacionais que atendam aos seus requisitos, necessidades de performance e fornecem grande eficiência de custo e esforço permitirá que você faça mais com o mesmo número de recursos. Ao avaliar opções de computação, esteja ciente dos requisitos de performance e custo da carga de trabalho e use isso para tomar decisões bem embasadas.

TRANSLATION REQUIRED

As perguntas a seguir se concentram nessas considerações para (pilar inferior).

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

Ao arquitetar o uso da computação, você deve aproveitar os mecanismos de elasticidade disponíveis para garantir que você tenha capacidade suficiente para sustentar a performance conforme a demanda muda.

Armazenamento

O armazenamento na nuvem é um componente essencial da computação em nuvem e mantêm as informações usadas pela sua carga de trabalho. Geralmente, o armazenamento na nuvem é mais confiável, escalável e seguro do que sistemas de armazenamento tradicionais no local. Escolha entre serviços de armazenamento de objetos, blocos e arquivos, bem como opções de migração de dados para a nuvem para sua carga de trabalho.

TRANSLATION REQUIRED

As perguntas a seguir se concentram nessas considerações para (pilar inferior).

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

Quando você seleciona uma solução de armazenamento, garantir que ela se alinhe com seus padrões de acesso será fundamental para alcançar a performance desejada.

Banco de dados

A nuvem oferece serviços de banco de dados específicos que abordam diferentes problemas apresentados por sua carga de trabalho. Você pode escolher entre vários mecanismos de banco de dados de finalidade específica, inclusive bancos de dados relacionais, de chave-valor, documentos, em memória, gráficos, séries temporais e livros contábeis. Ao escolher o melhor banco de dados para resolver um problema específico (ou um grupo de problemas), você pode se libertar de bancos de dados monolíticos genéricos restritivos e se concentrar na criação de aplicativos para atender às necessidades de performance dos seus clientes.

Na AWS, você pode escolher entre vários mecanismos de banco de dados de finalidade específica, inclusive bancos de dados relacionais, de chave-valor, documentos, em memória, gráficos, séries temporais e livros contábeis. Com os bancos de dados da AWS, você não precisa se preocupar com tarefas de gerenciamento de banco de dados, como provisionamento, aplicação de patches, instalação, configuração, backups ou recuperação de servidores. A AWS monitora continuamente seus clusters para manter suas cargas de trabalho funcionando com armazenamento com autorreparação e escalabilidade automatizada, para que você possa se concentrar no desenvolvimento de aplicativos de maior valor.

As perguntas a seguir se concentram nessas considerações para (pilar inferior).

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

TRANSLATION REQUIRED

Rede

Como a rede está entre todos os componentes da carga de trabalho, ela pode ter grandes impactos positivos e negativos sobre a performance e o comportamento da carga de trabalho. Também há cargas de trabalho que são altamente dependentes da performance da rede, como Computação de Alta Performance (HPC), para a qual é importante ter um entendimento profundo da rede a fim de aumentar a performance do cluster. É necessário determinar os requisitos de largura de banda, latência, instabilidade e throughput da carga de trabalho.

Na AWS, as redes são virtualizadas e estão disponíveis em vários tipos e configurações diferentes. Isso facilita fazer a correspondência entre os métodos de rede e suas necessidades. A AWS oferece recursos do produto (por exemplo, Rede aprimorada, instâncias otimizadas do Amazon EBS, Amazon S3 Transfer Acceleration e Amazon CloudFront dinâmico) para otimizar o tráfego da rede. A AWS também oferece recursos de rede (p. ex., roteamento de latência do Amazon Route 53, Amazon VPC endpoints, AWS Direct Connect e AWS Global Accelerator) para reduzir a distância ou a instabilidade da rede.

As perguntas a seguir se concentram nessas considerações para (pilar inferior).

PERF 5: Como você configura sua solução de redes?

Você deve considerar o local ao implantar sua rede e pode optar por colocar os recursos perto de onde eles serão usados para reduzir a distância. Use métricas de rede para fazer alterações na configuração de rede conforme a carga de trabalho evolui. Ao aproveitar as regiões, grupos de canais e serviços de borda, você pode melhorar significativamente a performance. É possível recriar ou modificar 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.

Análise

TRANSLATION REQUIRED

Aproveite a inovação contínua na AWS, impulsionada pelas necessidades do cliente. Lançamos novas regiões, pontos de presença, serviços e recursos regularmente. Qualquer uma dessas versões pode aprimorar positivamente a eficiência da performance de sua arquitetura.

As perguntas a seguir se concentram nessas considerações para (pilar inferior).

PERF 6: Como você aprimora sua carga de trabalho para aproveitar novas versões?

TRANSLATION REQUIRED

Monitoramento

Após implementar sua carga de trabalho, é necessário monitorar a performance dela para que você possa corrigir todos os problemas antes que eles afetem seus clientes. As métricas de monitoramento devem ser usadas para gerar alarmes quando os limites são ultrapassados.

O Amazon CloudWatch é um serviço de monitoramento e observação que fornece dados e informações práticas para monitorar sua carga de trabalho, responder a alterações de performance em todo o sistema, otimizar a utilização de recursos e obter uma visão unificada da saúde operacional. O CloudWatch coleta dados operacionais e de monitoramento na forma de logs, métricas e eventos de cargas de trabalho executadas na AWS e em servidores no local. O AWS X-Ray ajuda desenvolvedores a analisarem e depurarem aplicativos distribuídos de produção. Com o AWS X-Ray, você pode obter informações sobre a performance do aplicativo, descobrir causas raiz e identificar gargalos de performance. É possível usar esses insights para reagir rapidamente e manter sua carga de trabalho funcionando sem problemas.

As perguntas a seguir se concentram nessas considerações para (pilar inferior).

PERF 7: Como você monitora seus recursos para garantir que eles estejam funcionando?

Garantir que você não veja falsos positivos é essencial para uma solução eficaz de monitoramento. Os triggers automatizados evitam erros humanos e podem reduzir o tempo necessário para corrigir problemas. Planeje dias de jogo, nos quais as simulações sejam conduzidas no ambiente de produção para testar sua solução de alarme e garantir que ela reconheça corretamente os problemas.

Concessões

Ao arquitetar soluções, pense nas concessões para garantir uma abordagem ideal. Dependendo de sua situação, você pode abrir mão de consistência, durabilidade e espaço por tempo ou latência para oferecer uma performance mais alta.

Com a AWS, você pode se tornar global em minutos e implantar recursos em vários locais do mundo para estar mais perto dos seus usuários finais. Você também pode adicionar dinamicamente réplicas somente leitura a repositórios de informações (como sistemas de banco de dados) a fim de reduzir a carga sobre o banco de dados principal.

As perguntas a seguir se concentram nessas considerações para (pilar inferior).

PERF 8: Como você usa concessões para melhorar a performance?

Conforme você altera a carga de trabalho, colete e avalie métricas para determinar o impacto dessas alterações. Meça os impactos ao sistema e também ao usuário final para entender como suas concessões afetam sua carga de trabalho. Use uma abordagem sistemática, como teste de carga, para explorar se a concessão aumenta a performance.

Recursos

Consulte os seguintes recursos para saber mais sobre nossas melhores práticas para (pilar).

Performance Efficiency Pillar
Amazon S3 Performance Optimization
Amazon EBS Volume Performance
AWS re:Invent 2019: Amazon EC2 foundations (CMP211-R2)
AWS re:Invent 2019: Leadership session: Storage state of the union (STG201-L)
AWS re:Invent 2019: Leadership session: AWS purpose-built databases (DAT209-L)
AWS re:Invent 2019: Connectivity to AWS and hybrid AWS network architectures (NET317-R1)
AWS re:Invent 2019: Powering next-gen Amazon EC2: Deep dive into the Nitro system (CMP303-R2)
AWS re:Invent 2019: Scaling up to your first 10 million users (ARC211-R)