View a markdown version of this page

PERF04-BP06 Escolher o local da workload com base nos requisitos de rede - Framework Well-Architected da AWS

PERF04-BP06 Escolher o local da workload com base nos requisitos de rede

Avalie as opções para o posicionamento de recursos visando reduzir a latência da rede e melhorar o throughput, proporcionando uma ótima experiência do usuário ao reduzir os tempos de carregamento da página e de transferência de dados.

Práticas comuns que devem ser evitadas:

  • Consolidar todos os recursos da workload em uma única localização geográfica.

  • Escolher a região mais próxima ao seu local, mas não ao usuário final da workload.

Benefícios de implementar esta prática recomendada: a experiência do usuário é muito afetada pela latência entre o usuário e sua aplicação. Ao usar Regiões da AWS adequadas e a rede global privada da AWS, é possível reduzir a latência e oferecer uma melhor experiência aos usuários remotos.

Nível de risco exposto se esta prática recomendada não for estabelecida: Médio

Orientação para implementação

Recursos, como instâncias do Amazon EC2, são colocados em zonas de disponibilidade em Regiões da AWS, zonas locais da AWS, AWS Outposts ou zonas do AWS Wavelength. A escolha desse local influencia o throughput e a latência da rede de determinado local do usuário. Serviços de borda como o Amazon CloudFront e o AWS Global Accelerator também podem ser usados para melhorar a performance da rede, seja armazenando o conteúdo em cache nos locais da borda ou oferecendo aos usuários um ótimo caminho para a workload por meio da rede global da AWS.

O Amazon EC2 oferece grupos de posicionamento para redes. Um grupo de posicionamento é um agrupamento lógico de instâncias para diminuir a latência. O uso de grupos de posicionamento com tipos de instância compatíveis e um Adaptador de Rede Elástica (ENA) permite que as workloads participem de uma rede de baixa latência e com jitter reduzido e de 25 Gbps. Recomenda-se o uso de grupos de posicionamento para workloads que se beneficiam de baixa latência de rede, alto throughput de rede ou ambos.

Serviços sensíveis à latência são fornecidos em locais de borda usando uma rede global da AWS, como o Amazon CloudFront. Esses locais de borda costumam oferecer serviços, como rede de entrega de conteúdo (CDN) e sistema de nomes de domínio (DNS). Ao ter esses serviços na borda, as workloads podem responder com baixa latência a solicitações de conteúdo ou resolução de DNS. Esses serviços também fornecem serviços geográficos, como direcionamento geográfico de conteúdo (fornecendo conteúdo diferente conforme o local do usuário final) ou encaminhamento por latência para direcionar os usuários finais à região mais próxima (latência mínima).

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

Etapas de implementação

  • Capture informações sobre o tráfego IP que entra e sai das interfaces de rede.

  • Analise os padrões de acesso à rede em sua workload para identificar como os usuários utilizam sua aplicação.

    • Use ferramentas de monitoramento, como o Amazon CloudWatch e o AWS CloudTrail, para coletar dados sobre atividades de rede.

    • Analise os dados para identificar o padrão de acesso à rede.

  • Selecione as Regiões para implantação da workload com base nos seguintes elementos fundamentais:

    • Onde seus dados estão localizados: para aplicações com uso intenso de dados (como big data e machine learning), o código da aplicação deve ser executado o mais perto possível dos dados.

    • Onde seus usuários estão localizados: para aplicações voltadas ao usuário, escolha uma ou mais regiões perto dos clientes da workload.

    • Outras restrições: considere restrições como custo e conformidade, conforme explicado em O que considerar ao selecionar uma região para suas workloads.

  • Use zonas locais da AWS para executar workloads como renderização de vídeo. As zonas locais permitem que você se beneficie de ter recursos de computação e armazenamento mais próximos dos usuários finais.

  • Use o AWS Outposts para workloads que precisam permanecer on-premises e onde você deseja que essa workload seja executada ininterruptamente com o restante de suas workloads na AWS.

  • Aplicações como streaming de vídeo ao vivo em alta resolução, áudio de alta fidelidade ou realidade aumentada/realidade virtual (RA/RV) exigem latência ultrabaixa para dispositivos 5G. Para aplicações desse tipo, considere o AWS Wavelength. O AWS Wavelength incorpora serviços de armazenamento e computação da AWS em redes 5G, fornecendo a infraestrutura móvel de computação de borda para desenvolver, implantar e escalar aplicações de latência ultrabaixa.

  • Use o armazenamento em cache local ou soluções de armazenamento em cache da AWS para dados usados com frequência a fim de aumentar a performance, reduzir a movimentação de dados e diminuir o impacto ambiental.

    Serviço Quando usar

    Amazon CloudFront

    Use para armazenar conteúdo estático em cache, como imagens, scripts e vídeos, além de conteúdo dinâmico como respostas de API ou aplicações Web.

    Amazon ElastiCache

    Use para armazenar conteúdo em cache para aplicações Web.

    DynamoDB Accelerator

    Use para adicionar aceleração na memória às suas tabelas do DynamoDB.

  • Use serviços que podem ajudar você a executar código mais perto dos usuários da workload, como a seguir:

    Serviço Quando usar

    Lambda@Edge

    Use para operações com uso intenso de computação que são iniciadas quando objetos não estão no cache.

    Amazon CloudFront Functions

    Use para casos de uso simples, como solicitações HTTP(s) ou manipulações de resposta que podem ser iniciadas por funções de curta duração.

    AWS IoT Greengrass

    Use para executar computação local, mensagens e armazenamento de dados em cache para dispositivos conectados.

  • Algumas aplicações exigem pontos de entrada fixos ou maior performance ao reduzir o jitter e a latência de primeiro byte, além de aumentar o throughput. Essas aplicações podem se beneficiar de serviços de rede que fornecem endereços IP anycast estáticos e terminação TCP em locais da borda. O AWS Global Accelerator pode melhorar a performance das suas aplicações em até 60% e fornecer failover rápido para arquiteturas multirregiões. O AWS Global Accelerator fornece endereços IP anycast estáticos que servem como um ponto de entrada fixo para suas aplicações hospedadas em uma ou mais Regiões da AWS. Esses endereços IP permitem que o tráfego entre na rede global da AWS o mais próximo possível dos usuários. O AWS Global Accelerator reduz o tempo de configuração da conexão inicial ao estabelecer uma conexão TCP entre o cliente e o local da borda da AWS mais próximo ao cliente. Analise o uso do AWS Global Accelerator para melhorar a performance das workloads de TCP/UDP e forneça failover rápido para arquiteturas de várias Regiões.

Recursos

Práticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: