Como otimizar custo e disponibilidade com múltiplos SKUs e zonas
Introdução
Escalar máquinas virtuais de forma eficiente sempre foi um desafio. especialmente quando o ambiente exige alta disponibilidade, múltiplos SKUs e resiliência contra falta de capacidade em determinadas zonas.
O Azure Compute Fleet surge como a forma mais moderna e inteligente de provisionar VMs em larga escala. Ele permite criar grupos de máquinas com tipos mistos, distribuídos por várias zonas, com regras de alocação automáticas e otimização de custo.
Neste artigo você vai aprender:
- O que é o Compute Fleet e como ele funciona
- Diferença entre VMSS Flex, Compute Fleet e alocação tradicional
- Estratégias de custo e disponibilidade usando múltiplos SKUs
- Como distribuir VMs entre zonas de forma inteligente
- Exemplo prático com Azure CLI e Bicep
1. O que é o Azure Compute Fleet
O Compute Fleet é uma nova camada de orquestração da plataforma de VMs do Azure.
Ele permite criar um conjunto de máquinas virtuais com regras claras sobre:
- quantas VMs você precisa
- quais SKUs podem ser usados
- prioridade entre SKUs
- distribuição por zonas
- estratégia de custo
- seleção automática baseada em disponibilidade
Em vez de solicitar uma VM específica, você solicita capacidades, e o Azure escolhe automaticamente os SKUs mais adequados.
Benefícios principais
- Alta flexibilidade. vários SKUs possíveis para o mesmo Fleet
- Menos falhas de alocação. caso um SKU esteja indisponível, outro é usado
- Tolerância a falhas de zona
- Possibilidade de incluir Spot VMs junto com On Demand
- Ideal para escala horizontal
- Melhor estratégia de custo, já que você permite diversidade de opções
2. Compute Fleet x VMSS Flex x VMSS Uniform
Embora pareçam parecidos, cada recurso resolve um problema diferente.
VMSS Uniform
- Todas as instâncias são idênticas
- Mesmo SKU, mesma zona
- Ideal para workloads replicados com requisitos fixos
VMSS Flex
- Permite instâncias diferentes dentro do mesmo Scale Set
- Maior resiliência contra falta de capacidade
- Ótimo para aplicações escaláveis
Compute Fleet
- Abstração acima do VMSS
- Permite definir grupos de SKUs e zonas
- O Azure decide a melhor combinação conforme custo, disponibilidade e prioridade
- Pode usar VMSS por baixo dos panos ou instâncias independentes
VMSS Flex oferece flexibilidade dentro de um conjunto. Compute Fleet oferece flexibilidade no momento da alocação e em vários conjuntos possíveis.
3. Componentes do Compute Fleet
Um Fleet é composto por três elementos principais.
1. Capacity Targets
Quantidade desejada de VMs. exemplo:
- 20 VMs mínimas
- 30 VMs desejadas
- 40 VMs máximas
2. Fleet Policies
Definem:
- estratégia de custo
- priorização de SKUs
- tolerância entre Spot e On Demand
3. Fleet Resource Groups
Coleção de SKUs permitidos. exemplo:
D4as_v5D8as_v5E4ds_v5
O Azure tenta provisionar usando a lista inteira.
4. Estratégias de alocação e custo
O ponto mais poderoso do Compute Fleet é a capacidade de combinar SKUs diferentes e modelos de preço.
4.1 Estratégia de menor custo
Você define uma lista de SKUs e o Azure escolhe os mais baratos disponíveis no momento.
4.2 Estratégia de resiliência
Usa SKUs de zonas diferentes para evitar saturação regional.
4.3 Estratégia mista Spot + On Demand
Exemplo.
- 70 por cento Spot
- 30 por cento On Demand para estabilidade
Perfeito para cargas tolerantes a interrupções, como:
- análises distribuídas
- processamento de eventos
- CI/CD
4.4 Estratégia por prioridade manual
Você define uma ordem. o Azure tenta alocar seguindo essa ordem.
5. Exemplo prático com Azure CLI
Criar um Fleet com três SKUs possíveis, distribuição entre zonas e política de custo
az fleet create \
--name fleet-prod \
--resource-group rg-core \
--location eastus \
--target-capacity 30 \
--max-capacity 40 \
--min-capacity 20 \
--vm-sku-list D4as_v5 D8as_v5 E4ds_v5 \
--zones 1 2 3 \
--priority-cost true
O Azure tentará alocar usando a lista de SKUs, dentro das zonas disponíveis, com foco no menor custo possível.
6. Exemplo com Bicep
resource fleet 'Microsoft.Compute/fleets@2024-01-01' = {
name: 'fleet-prod'
location: 'eastus'
properties: {
capacity: {
minimum: 20
desired: 30
maximum: 40
}
computeProfile: {
vmSizes: [
'D4as_v5'
'D8as_v5'
'E4ds_v5'
]
zones: [
'1'
'2'
'3'
]
}
allocationStrategy: 'PriceOptimized'
}
}7. Melhores práticas
1. Sempre ofereça ao menos três SKUs
Aumenta a resiliência contra falta de capacidade.
2. Combine Spot para workloads elásticos
Sugerido para pipelines, HPC leve e ETL.
3. Distribua entre zonas
Aumenta SLA e protege contra falhas localizadas.
4. Monitore via Azure Monitor Metrics
Acompanhe:
- falhas de alocação
- interrupções de Spot
- custo por SKU
5. Use naming claro para políticas
Exemplo:
fleet-prod-cost-optimizedfleet-data-ha-3zones
Conclusão
O Azure Compute Fleet é uma evolução natural da forma como empresas modernas escalam infraestrutura na nuvem.
Ele reduz complexidade, melhora disponibilidade e otimiza custos ao permitir que o Azure selecione automaticamente o melhor SKU e a melhor zona para cada instância.
Resumo rápido.
- Você define capacidades, prioridades e lista de SKUs
- O Azure decide onde e como provisionar
- Você ganha resiliência, velocidade e eficiência financeira
É ideal para:
- workloads distribuídos
- pipelines críticos
- sistemas que precisam escalar rapidamente
- ambientes sujeitos a falta de capacidade regional