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
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
Etapas da implementação:
-
Você está executando em instâncias ou contêineres do EC2 com o tipo de execução do EC2?
-
Sua workload pode usar CPUs para melhorar a performance?
-
Instâncias de computação acelerada
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.
-
-
Sua workload executa aplicações de inferência de machine learning?
-
AWS Inferentia (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, 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.
-
-
A sua workload se integra com hardware de baixo nível para melhorar a performance?
-
Matrizes de porta programável no campo (FPGAs)
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.
-
-
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?
-
Uso 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.
-
-
A performance da sua workload é limitada pelas métricas de CPU?
-
As instâncias otimizadas por computação
são ideais para as workloads que exigem processadores de alta performance.
-
-
A performance de sua workload é limitada pelas métricas de memória?
-
As instâncias otimizadas por memória
entregam grandes quantidades de memória para oferecer suporte às workloads com consumo intenso de memória.
-
-
A performance de sua workload é limitada por IOPS?
-
As instâncias otimizadas por armazenamento
são projetadas para workloads que exigem alta leitura sequencial e acesso de gravação (IOPS) no armazenamento local.
-
-
As características da sua workload representam uma necessidade balanceada entre todas as métricas?
-
A CPU da sua workload precisa de expansão para tratar picos no tráfego?
-
As instâncias de performance expansível
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.
-
-
As instâncias de uso geral
fornecem um equilíbrio de todas as características para compatibilidade com uma variedade de workloads.
-
-
Sua instância de computação é executada no Linux e é restringida pelo throughput da rede na placa de interface da rede?
-
Análise Pergunta sobre performance 5, Prática recomendada 2: avaliar os recursos de rede disponíveis para encontrar o tipo e a família de instâncias certos para atender às suas necessidades de performance.
-
-
Sua workload precisa de instâncias consistentes e previsíveis em uma zona de disponibilidade específica que pode ser confirmada por um ano?
-
Instâncias reservadas
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.
-
-
Sua workload tem licenças que exigem hardware dedicado?
-
Hosts dedicados
são compatíveis com licenças de software e ajudam você a atender aos requisitos de conformidade.
-
-
Sua solução de computação se expande e exige processamento síncrono?
-
Instâncias sob demanda
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.
-
-
Sua solução de computação é sem estado, tolerante à falhas e assíncrona?
-
Instâncias spot
permitem aproveitar a capacidade de instâncias não utilizadas para workloads sem estado e tolerantes à falhas.
-
-
-
Você executa contêineres no Fargate
? -
A performance de suas tarefas é restringida pela memória ou pela CPU?
-
Use a ferramenta de recomendações do Tamanho da tarefa para ajustar a memória ou a CPU.
-
-
Sua performance está sendo afetada por expansões do seu padrão de tráfego?
-
Use a ferramenta de recomendações do Auto Scaling configuração para corresponder seus padrões de tráfego.
-
-
-
Sua solução de computação é no Lambda?
-
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?
-
Uso 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.
-
-
Você não têm métricas suficientes para usar o AWS Compute Optimizer?
-
Se você não tiver métricas disponíveis para usar o Compute Optimizer, use o Ajuste da potência do AWS Lambda para ajudar a selecionar a melhor configuração.
-
-
A performance da função é restringida pela memória ou pela CPU?
-
Configure a memória do Lambda para atender às suas métricas de necessidades de performance.
-
-
O tempo limite de sua função está se esgotando ao executar?
-
Altere as configurações de tempo limite
-
-
A performance de sua função é restringida pelas expansões de atividades e pela simultaneidade?
-
Defina as configurações de simultaneidade para atender aos seus requisitos de performance.
-
-
Sua função é executada assincronamente e falha em novas tentativas?
-
Configure a idade máxima do evento e o limite máximo de novas tentativas nas definições da configuração assíncrona.
-
-
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
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados: