Capacity Reservation vs On-Demand para GPU no Azure: Como garantir capacidade sem desperdiçar dinheiro

Introdução
Depois que uma plataforma de IA entra em produção, um problema começa a aparecer com frequência.
Não é erro de código. Não é falta de quota. É falta de capacidade real de GPU.
Times que dependem apenas de On-Demand enfrentam falhas de alocação em horários críticos.
Times que reservam demais acabam pagando por GPU ociosa.
Times que usam Spot sem estratégia sofrem interrupções inesperadas.
O desafio real é escolher o modelo certo de capacidade para cada tipo de workload. Neste artigo você vai entender como decidir entre Capacity Reservation, On-Demand e Spot, e como combinar esses modelos de forma inteligente para IA em produção.
1. Entendendo os três modelos de capacidade
Antes de comparar, é importante deixar algo claro.
Quota define quanto você pode usar. Capacidade define se o recurso realmente existe naquele momento.
🔹 On-Demand
- Alocação sob demanda
- Sem garantia de capacidade
- Preço padrão
- Pode falhar em regiões disputadas
🔹 Capacity Reservation
- Capacidade física reservada para você
- Disponibilidade garantida
- Custo fixo enquanto ativa
- Ideal para produção crítica
🔹 Spot
- Usa capacidade ociosa do Azure
- Preço muito menor
- Pode ser interrompida a qualquer momento
- Ideal para workloads tolerantes a falhas
Cada modelo resolve um problema diferente.
2. O que é Capacity Reservation no Azure
Capacity Reservation permite reservar capacidade de VM específica em uma região e zona. Essa capacidade fica exclusiva para sua assinatura, independentemente de você estar usando ou não a VM naquele momento.
Características principais:
- garante alocação de GPU
- funciona por SKU e zona
- não é desconto financeiro. é garantia de capacidade
- pode ser ativada e desativada conforme necessidade
Importante: Capacity Reservation não substitui Reserved Instances.
Você pode usar os dois juntos.
3. Quando On-Demand não é suficiente para GPU
On-Demand funciona bem para:
- ambientes pequenos
- regiões com baixa concorrência
- cargas não críticas
Para GPU em produção, os problemas aparecem rápido:
- falha de alocação em horários de pico
- indisponibilidade regional
- competição entre clientes
- impacto direto em SLA de inferência
Regra prática:
Se sua inferência não pode falhar, On-Demand sozinho não é suficiente.
4. Quando usar Capacity Reservation para IA
Capacity Reservation deve ser usada quando:
- inferência é crítica
- SLAs são rígidos
- não pode haver falha de escala
- regiões possuem alta disputa por GPU
- workloads são previsíveis
Casos típicos:
- modelos em produção com tráfego constante
- APIs de inferência com latência garantida
- workloads regulados
- plataformas SaaS de IA
Boa prática: Reserve apenas a capacidade mínima necessária para manter o SLA.
5. Quando Spot é a melhor escolha
Spot GPU é extremamente poderosa quando usada corretamente.
Ideal para:
- treinamento de modelos
- experimentação
- fine-tuning
- pipelines batch
- workloads tolerantes a interrupção
Não recomendada para:
- inferência crítica
- workloads stateful
- SLAs rígidos
Estratégia comum:
- treino em Spot
- inferência em Reserved ou On-Demand com reserva
6. Estratégias híbridas recomendadas
A melhor arquitetura raramente usa um único modelo.
🔹 Estratégia 1. Reserva mínima + On-Demand elástico
- reserve GPUs para carga base
- escale On-Demand conforme picos
🔹 Estratégia 2. Reserva para inferência + Spot para treino
- produção protegida
- custo otimizado
🔹 Estratégia 3. Compute Fleet com múltiplos modelos
- reserva para SKUs críticos
- Spot e On-Demand como fallback
- alta resiliência
🔹 Estratégia 4. Multi-região
- reserva na região primária
- fallback On-Demand em região secundária
7. Custo. o erro mais comum
Erro clássico:
- reservar tudo
- pagar GPU ociosa
Outro erro comum:
- não reservar nada
- sofrer falhas de produção
Boa prática financeira:
- medir uso real
- reservar apenas o necessário
- usar autoscaling agressivo
- desligar reserva fora de períodos críticos quando possível
Lembre-se: Reservation garante capacidade, não desconto.
8. Governança e operação
Capacity Reservation exige governança clara.
Boas práticas:
- documentar reservas
- revisar periodicamente
- alinhar com roadmap de negócio
- monitorar uso real
- tratar reserva como ativo crítico
Use tags como:
- workload
- ambiente
- criticidade
- owner
Leitura complementar (documentação oficial Microsoft)
Os links abaixo ajudam a aprofundar os conceitos apresentados neste artigo e servem como referência prática para implementação em ambientes reais.
🔹 Capacity Reservation no Azure
Documentação oficial sobre como reservar capacidade de VMs, incluindo GPUs, garantindo disponibilidade em regiões disputadas: https://learn.microsoft.com/azure/virtual-machines/capacity-reservation-overview
Como criar e gerenciar Capacity Reservation Groups: https://learn.microsoft.com/azure/virtual-machines/capacity-reservation-create
Diferença entre Capacity Reservation e Reserved Instances: https://learn.microsoft.com/azure/cost-management-billing/reservations/save-compute-costs-reservations
🔹 On-Demand e comportamento de alocação
Troubleshooting de falhas de alocação em ambientes de produção: https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/windows/allocation-failure
🔹 Spot VMs (treinamento e workloads tolerantes a falhas)
Visão geral sobre Azure Spot Virtual Machines: https://learn.microsoft.com/azure/virtual-machines/spot-vms
Azure Well-Architected - Virtual Machines (inclui recomendações sobre spot): https://learn.microsoft.com/en-us/azure/well-architected/service-guides/virtual-machines
🔹 GPUs e SKUs disponíveis no Azure
Lista completa de SKUs com GPU e suas características: https://learn.microsoft.com/azure/virtual-machines/sizes-gpu
Visão geral das GPU families: NC, ND, NV
https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nc-family
https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nd-family
https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nv-family
🔹 Compute Fleet e escalabilidade inteligente
Introdução ao Azure Compute Fleet, usado como camada de abstração para múltiplos SKUs e estratégias de custo: https://learn.microsoft.com/en-us/azure/azure-compute-fleet/overview
Base técnica do Compute Fleet usando VM Scale Sets Flexible: https://learn.microsoft.com/azure/virtual-machines/flexible-virtual-machine-scale-sets
🔹 Multi-região e alta disponibilidade
Visão geral sobre Availability Zones e distribuição regional: https://learn.microsoft.com/azure/availability-zones/az-overview
Princípios de resiliência e alta disponibilidade no Azure Well-Architected Framework: https://learn.microsoft.com/azure/architecture/framework/resiliency
🔹 AKS com GPU e workloads de IA
Como usar GPUs com Azure Kubernetes Service: https://learn.microsoft.com/azure/aks/gpu-cluster
Boas práticas de escalabilidade no AKS: https://docs.azure.cn/en-us/aks/operator-best-practices-run-at-scale
🔹 Quotas e capacity management
Visão geral da Azure Quota REST API, usada para automação de capacidade: https://learn.microsoft.com/en-us/rest/api/reserved-vm-instances/quotaapi
Como visualizar e solicitar aumento de quotas no Azure: https://learn.microsoft.com/azure/quotas/view-quotas
Conclusão
Garantir capacidade de GPU é um dos maiores desafios em plataformas de IA no Azure. Não existe solução única. Existe decisão arquitetural consciente.
Resumo final:
- On-Demand é flexível, mas inseguro
- Spot é barato, mas volátil
- Capacity Reservation é confiável, mas deve ser usada com critério
- Estratégias híbridas entregam o melhor equilíbrio
Infraestrutura madura de IA não depende da sorte de alocação. Ela é planejada, observável e resiliente.