Computação de alto desempenho

Escolha instancias EC2, configure politicas de Auto Scaling e lide com cargas batch/HPC.

No exame SAA-C03, o desempenho em computacao faz parte do dominio "Projetar arquiteturas de alto desempenho", que representa aproximadamente 26% do exame. As questoes frequentemente perguntam: "Qual tipo de instancia EC2 se encaixa nesta carga de trabalho?" e "Como escalar a capacidade automaticamente?"

 

Familias de instancias EC2 — O veiculo certo para cada tarefa

Pense nas familias do EC2 como tipos de veiculos. Voce nao usaria um carro esportivo para se mudar, nem um caminhao de carga para um passeio de domingo. Cada familia do EC2 foi projetada para um tipo especifico de carga de trabalho.

Serie M — O sedan familiar (Uso geral)

Relacao equilibrada entre CPU e memoria. Ideal para servidores web, servidores de aplicacao e bancos de dados pequenos quando nao ha nenhum requisito extremo em uma unica dimensao. Se voce nao sabe o que escolher, comece com M.

Serie C — O carro esportivo (Otimizado para computacao)

Projetado para tarefas com uso intensivo de CPU: simulacoes cientificas, codificacao de video, servidores de jogos e servidores web de alto trafego. Voce obtem mais poder de CPU pelo mesmo custo.

Serie R/X — A van de carga (Otimizado para memoria)

Uma van de carga e projetada para carregar muito peso. As series R e X oferecem uma quantidade enorme de RAM em relacao a CPU. Use para bancos de dados em memoria como SAP HANA, analise de big data em tempo real e grandes camadas de cache.

Serie P/G — O caminhao especializado (Computacao acelerada)

Quando sua carga de trabalho exige GPUs — treinamento de modelos de machine learning, inferencia de deep learning, renderizacao 3D — as series P e G sao a unica opcao.

Serie I/D — O armazem de alta velocidade (Otimizado para armazenamento)

Quando o gargalo e o throughput de disco, as series I e D fornecem armazenamento NVMe local extremamente rapido. Ideal para data warehouses, processamento de logs em grande escala e servidores de banco de dados NoSQL.

 

Auto Scaling — Contratar temporarios durante as festas de fim de ano

Imagine uma loja durante a temporada de compras de fim de ano. Na semana antes das festas, o trafego de clientes dispara. O gerente contrata funcionarios temporarios com antecedencia. Quando as festas terminam, esses funcionarios vao embora. Mas nao importa o quanto o negocio esteja lento, sempre ha pelo menos um caixa de plantao. O Auto Scaling faz exatamente isso, automaticamente.

Tres numeros definem um Auto Scaling Group:

Minimum: O piso. As instancias nunca caem abaixo desse numero. "Sempre precisamos de pelo menos um caixa." Desired: O alvo para operacoes normais. "Tres funcionarios e o tamanho certo para um dia tipico." Maximum: O teto. Nunca exceder esse numero mesmo no pico de carga.

 

Politicas de Auto Scaling — O que aciona o escalonamento?

Target Tracking

A politica mais simples e comumente usada. Voce define um objetivo: "manter a utilizacao de CPU em 50%". A AWS adiciona ou remove instancias automaticamente para se manter proximo a esse objetivo. Como um termostato: voce define a temperatura e o sistema cuida do resto.

Step Scaling

Controle mais granular. Voce define etapas: adicionar 2 instancias quando a CPU esta entre 60-70%, adicionar 4 quando esta entre 70-80%. Use quando precisar de mais controle do que o Target Tracking oferece.

Scheduled Scaling

Escale de acordo com um horario. "Toda semana as 8h, suba a capacidade para 10 instancias. A meia-noite, reduza para 2." Use quando os padroes de trafego sao previsiveis.

Predictive Scaling

A AWS analisa seus padroes historicos de trafego usando machine learning e adiciona capacidade de forma proativa antes que a demanda chegue.

 

Grupos de posicionamento EC2 — Onde exatamente ficam seus servidores?

Cluster Placement Group — Mesas em um unico escritorio

Coloca todas as instancias em hardware fisicamente proximo dentro de uma unica AZ. Minimiza a latencia de rede. Use para HPC e aplicacoes fortemente acopladas. Desvantagem: se o rack de hardware subjacente falhar, todas as instancias sao afetadas.

Spread Placement Group — Uma mesa por andar

Coloca cada instancia em hardware fisico distinto, maximizando o isolamento de falhas. Use para um pequeno numero de instancias criticas. Limite: maximo de 7 instancias por AZ.

Partition Placement Group — Salas separadas para cada equipe

As instancias dentro de uma particao podem compartilhar hardware, mas as particoes nunca compartilham hardware entre si. Use para sistemas distribuidos como Hadoop, Kafka e Cassandra.

!Grupos de posicionamento do EC2: Cluster, Spread, Partition

AWS Batch e EMR — Processamento em lote em grande escala

AWS Batch

Voce define o trabalho e o AWS Batch provisiona automaticamente as instancias EC2 corretas, distribui os trabalhos, monitora o progresso e encerra as instancias quando tudo termina. Voce so paga pelo tempo de computacao que realmente usa.

Amazon EMR

O EMR permite executar frameworks de big data de codigo aberto como Hadoop, Spark e Hive em um cluster EC2 gerenciado. Use para analise de logs em grande escala, transformacao de dados (ETL) e preprocessamento de machine learning.

 

Pontos-chave para o exame

"CPU intensivo, computacao cientifica, servidores de jogos" -- Serie C (Otimizado para computacao)

"Banco de dados em memoria, grande requisito de RAM" -- Serie R/X (Otimizado para memoria)

"GPU, treinamento de ML, deep learning" -- Serie P/G (Computacao acelerada)

"Uso geral, sem requisitos extremos" -- Serie M (Uso geral)

"Manter uma porcentagem de CPU especifica" -- Target Tracking Auto Scaling

"Resposta diferente por faixa de metrica" -- Step Scaling

"Escalar em um horario especifico do dia" -- Scheduled Scaling

"Escalar proativamente com base em padroes historicos" -- Predictive Scaling

"HPC, baixa latencia, comunicacao estreita entre nos" -- Cluster Placement Group

"Poucas instancias criticas, maximo isolamento de falhas" -- Spread Placement Group

"Hadoop/Kafka/Cassandra, sistemas distribuidos conscientes de particoes" -- Partition Placement Group

"Agendamento automatico de grandes trabalhos em lote" -- AWS Batch

"Cluster de big data Hadoop/Spark" -- Amazon EMR

Voltar à lista do blog