Dimensionamento adequado e escalonamento automático
Analise os dados de desempenho das VMs para dimensionar corretamente as instâncias, implemente o escalonamento automático programado para cargas previsíveis e use instâncias spot do VMSS para cargas em lote.
Dimensionamento adequado e escalonamento automático é uma aula grátis de Cloud & IT Cert Prep no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cloud & IT Cert Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.
O que é redimensionamento adequado?
Redimensionamento adequado é o processo de associar os SKUs de VMs ou serviços do Azure aos requisitos reais de recursos da sua carga de trabalho — sem provisionamento excessivo (desperdício de dinheiro) nem insuficiente (risco de degradação do desempenho). A maioria das organizações inicialmente provisiona recursos em excesso, entre 30% e 50%, por precaução ao migrar de ambientes locais. Uma análise regular de redimensionamento adequado, normalmente mensal, pode recuperar uma parte significativa desse gasto excessivo sem afetar o desempenho da aplicação.
Análise dos dados de desempenho das VMs
Use as métricas do Azure Monitor e o VM Insights para coletar dados de CPU, memória, IOPS de disco e taxa de transferência da rede durante pelo menos 30 dias. Procure a utilização de pico (P95 ou P99), não a média, para garantir que a VM redimensionada corretamente consiga lidar com picos de tráfego. Por padrão, a recomendação de redimensionamento adequado do Azure Advisor usa um período de análise de 7 dias, mas você pode ampliá-lo para 30 ou 60 dias na configuração do Advisor para obter dados mais representativos.
# Get P95 CPU utilisation for a VM over 30 days
az monitor metrics list \
--resource /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM \
--metric 'Percentage CPU' \
--aggregation Percentile \
--interval P1D \
--start-time 2024-05-01T00:00:00Z \
--end-time 2024-06-01T00:00:00ZFamílias de SKUs de VM e redimensionamento
As VMs do Azure são organizadas em famílias de SKUs otimizadas para diferentes cargas de trabalho: D-series (uso geral), E-series (otimizada para memória), F-series (otimizada para computação), N-series (GPU) e L-series (otimizada para armazenamento). Se o uso de CPU de uma VM for baixo, mas o uso de memória for alto, passar de uma D-series para uma E-series com a mesma quantidade de vCPUs fornecerá mais RAM a um custo semelhante. O redimensionamento de uma VM no Azure normalmente exige uma breve reinicialização de alguns minutos.
# Resize a VM to a smaller SKU
az vm resize \
--resource-group myRG \
--name myVM \
--size Standard_D2s_v5Escalonamento automático programado para cargas de trabalho previsíveis
O escalonamento automático programado é a escolha adequada quando os padrões da carga de trabalho são previsíveis. Uma aplicação de varejo que apresenta tráfego alto durante o horário comercial e tráfego quase zero durante a noite pode ser configurada com uma programação de expansão às 07:00 e uma programação de redução às 22:00. Os Virtual Machine Scale Sets (VMSS) e o App Service são compatíveis com regras de escalonamento automático programado. Essa abordagem é mais simples e permite prever melhor os custos do que o escalonamento automático baseado em métricas para padrões de carga conhecidos.
# Add a scheduled autoscale rule to a VMSS (scale out at 07:00, in at 22:00 UTC)
az monitor autoscale create \
--resource-group myRG \
--resource myVMSS \
--resource-type Microsoft.Compute/virtualMachineScaleSets \
--name myAutoscale \
--min-count 2 --max-count 10 --count 2Escalonamento automático baseado em métricas
O escalonamento automático baseado em métricas adiciona ou remove instâncias dinamicamente em resposta a métricas em tempo real, como porcentagem de CPU, comprimento da fila de solicitações HTTP ou métricas personalizadas publicadas pelo Azure Monitor. Você define regras de expansão (quando adicionar instâncias) e regras de redução (quando remover instâncias), com períodos de resfriamento para evitar alternâncias rápidas. A prática recomendada é definir um limite de expansão inferior ao limite de redução — por exemplo, expandir quando a CPU estiver acima de 70% e reduzir quando estiver abaixo de 30% — com um período de resfriamento de 5 minutos.
# Add a metric-based scale-out rule (CPU > 70% for 5 minutes)
az monitor autoscale rule create \
--autoscale-name myAutoscale \
--resource-group myRG \
--scale out 1 \
--condition 'Percentage CPU > 70 avg 5m'Instâncias Spot de VMSS para cargas de trabalho em lote
Azure Spot VMs permitem usar capacidade não utilizada do Azure com descontos de até 90% em comparação com os preços de pagamento conforme o uso. A contrapartida é que o Azure pode remover VMs Spot com um aviso de 30 segundos quando precisar recuperar a capacidade. Isso torna as instâncias Spot ideais para cargas de trabalho em lote interrompíveis, como renderização, computação científica e pipelines de processamento de dados. O VMSS permite combinar VMs regulares (para uma capacidade básica) com VMs Spot (para capacidade de pico) no mesmo conjunto de dimensionamento usando uma política de combinação de prioridades.
# Create a VMSS with spot instances for batch workloads
az vmss create \
--resource-group myRG \
--name myBatchVMSS \
--image UbuntuLTS \
--priority Spot \
--eviction-policy Deallocate \
--max-price -1 \
--instance-count 5Dimensionamento automático do App Service
O dimensionamento automático do Azure App Service funciona no nível do App Service Plan, adicionando ou removendo instâncias de trabalho com base nas regras que o senhor configura. Entre os gatilhos de métricas disponíveis estão o tamanho da fila HTTP, a porcentagem de CPU e a porcentagem de memória. O nível Standard e os níveis superiores oferecem suporte ao dimensionamento manual e automático; o nível Basic oferece suporte apenas ao dimensionamento manual. Para cargas de trabalho sem servidor, considere usar o Azure Functions no Consumption Plan, que é dimensionado até zero e cobra apenas por execução, eliminando totalmente o custo de instâncias ociosas.
# Enable autoscale on an App Service plan
az monitor autoscale create \
--resource-group myRG \
--resource myAppServicePlan \
--resource-type Microsoft.Web/serverfarms \
--name webAppAutoscale \
--min-count 1 --max-count 5 --count 1Armadilhas do dimensionamento automático a evitar
Armadilhas comuns do dimensionamento automático: afinidade de sessão — se o aplicativo armazenar o estado da sessão na memória da VM, o dimensionamento para baixo fará as sessões serem perdidas; use o Redis Cache ou sessões armazenadas em banco de dados. Tempos de inicialização lentos — se as VMs ou os contêineres levarem 10 minutos para aquecer, o dimensionamento automático baseado em métricas não conseguirá responder com rapidez suficiente; aqueça previamente o ambiente com um aumento de escala agendado antes dos picos previstos. Redução de escala agressiva demais — encerrar instâncias enquanto solicitações em andamento estão sendo processadas causa erros; configure o esvaziamento de conexões e um período de resfriamento generoso.
Dimensionamento adequado de bancos de dados e PaaS
O dimensionamento adequado também se aplica aos serviços PaaS. O Azure SQL Database no modelo DTU pode ter seu tamanho reduzido se a porcentagem de DTU permanecer consistentemente abaixo de 50%. O modelo vCore permite dimensionar CPU e armazenamento de forma independente. O Azure Cache for Redis pode passar do nível Premium para o nível Standard se a persistência e a replicação geográfica não forem necessárias. Os pools de nós do Azure Kubernetes Service podem usar o Cluster Autoscaler para aumentar ou reduzir a quantidade de nós com base nos estados pendente e ocioso dos pods.
# Change Azure SQL Database service objective (tier)
az sql db update \
--resource-group myRG \
--server mySQLServer \
--name myDatabase \
--service-objective S2Prática contínua de dimensionamento adequado
O dimensionamento adequado não é uma atividade pontual. As cargas de trabalho mudam com o tempo: os padrões de tráfego mudam, novos recursos são adicionados e as bases de usuários crescem ou diminuem. Inclua uma revisão mensal de dimensionamento adequado no seu processo de FinOps: obtenha as recomendações do Advisor, revise as 10 VMs com menor utilização e os serviços PaaS superdimensionados e crie itens de trabalho para as equipes responsáveis. Acompanhe as economias realizadas em comparação com as recomendações geradas para demonstrar o ROI de FinOps à liderança.
Combinação do dimensionamento adequado com reservas
A estratégia de custo ideal é dimensionar adequadamente primeiro e reservar depois. Comprar uma Reserved VM Instance para uma VM superdimensionada fixa um compromisso com o SKU errado. Primeiro, dimensione a VM para o tamanho correto, observe a nova utilização por 30 dias para confirmar a estabilidade e, em seguida, compre uma reserva para esse SKU dimensionado corretamente. Essa abordagem em duas etapas maximiza o desconto e evita capacidade reservada desperdiçada.
Verificação rápida
Teste sua compreensão dos conceitos do Microsoft Azure Fundamentals (AZ-900) abordados nesta lição.
Recapitulação da lição
Nesta lição, o senhor aprendeu que o dimensionamento adequado associa os SKUs de VM aos requisitos reais da carga de trabalho usando métricas de desempenho, o dimensionamento automático agendado e baseado em métricas ajusta dinamicamente a capacidade para corresponder à demanda e as Spot VMs oferecem descontos de até 90% para cargas de trabalho em lote interrompíveis. A seguir, exploraremos os Azure Savings Plans e as Reservations para cargas de trabalho com compromisso.
Perguntas Frequentes
A aula “Dimensionamento adequado e escalonamento automático” é grátis?
Sim — o texto completo de “Dimensionamento adequado e escalonamento automático” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cloud & IT Cert Prep, atualize para CoddyKit PRO. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.
O que vou aprender em “Dimensionamento adequado e escalonamento automático”?
Analise os dados de desempenho das VMs para dimensionar corretamente as instâncias, implemente o escalonamento automático programado para cargas previsíveis e use instâncias spot do VMSS para cargas… Você pratica Cloud & IT Cert Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cloud & IT Cert Prep?
Nenhuma experiência prévia é necessária. Cloud & IT Cert Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Dimensionamento adequado e escalonamento automático”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cloud & IT Cert Prep?
Sim. Cada aula de Cloud & IT Cert Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Identificando e eliminando desperdícios
- Dimensionamento adequado e escalonamento automático
- Planos de economia e reservas do Azure
- FinOps e modelos de chargeback