Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Consulta antes de aprovisionar: señales de disponibilidad de Spot VMs en GCP

By Chimbu ChinnaduraiJul 2, 20266 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

Las Spot VMs de GCP son una de las palancas de costos más efectivas en infraestructura cloud: ofrecen hasta un 91% de descuento sobre el precio estándar on-demand al aprovechar la capacidad excedente de Compute Engine que de otro modo quedaría sin uso.

El trade-off es conocido: Compute Engine puede reclamar las Spot VMs en cualquier momento. Cuando ocurre una preemption, GCP envía una señal de terminación e inicia un periodo de apagado best-effort de 30 segundos para que tu VM se detenga de forma controlada antes de terminarse. También hay disponible en Preview una duración de aviso de preemption de 120 segundos, pensada para workloads que necesitan más tiempo para drenar.

Lo que hasta hace poco no quedaba claro era si un tipo de máquina específico, en una zona específica, iba a estar realmente disponible cuando lo necesitaras.

El problema: aprovisionar a ciegas

Gestionar Spot VMs a escala resultaba frustrante porque no existía una forma confiable de verificar la capacidad de una zona con antelación. Iniciabas tu Managed Instance Group, solicitabas la creación o el escalamiento y solo después descubrías si la zona tenía recursos suficientes. Cualquier problema de disponibilidad aparecía como una falla de aprovisionamiento, y los equipos quedaban con la decisión de esperar, reintentar o buscar alternativas.

La elección de zona arrastraba el mismo problema. La disponibilidad no depende únicamente de la región, sino de las zonas individuales dentro de esa región. Sin datos, los equipos terminaban optando por zonas conocidas en lugar de aquellas con mayor capacidad disponible.

El resultado era un ciclo reactivo:

  • Las solicitudes fallidas de aprovisionamiento exponían los problemas de disponibilidad recién después de ocurrir.
  • La elección de zona era pura adivinanza y no una decisión informada.
  • La frecuencia de preemption era opaca, sin una señal clara sobre qué tan estable era un tipo de máquina en una ubicación dada.
  • La planificación de costos se complicaba al no tener visibilidad sobre las tendencias de precio junto con el riesgo de preemption.

Qué cambió: señales de disponibilidad en tiempo real

GCP introdujo señales de disponibilidad en tiempo real para Spot VMs mediante la API advice.capacity, ahora en Public Preview. Antes de comprometerte con el aprovisionamiento, puedes consultar dos métricas clave para un tipo de máquina y una zona específicos.

1. Obtainability Score

Un valor numérico que indica la probabilidad de que tu solicitud de creación de una Spot VM tenga éxito, calculado a partir de la disponibilidad actual de recursos y de las tasas recientes de éxito en la creación.

Score Señal
0.7 – 1.0 Alta — muy probable que tenga éxito
0.4 – 0.6 Media — probabilidad moderada; la creación en bulk puede cumplirse parcialmente
0.0 – 0.3 Baja — poco probable; considera otra zona, región o tipo de máquina

Los obtainability scores no son garantías. La capacidad puede cambiar entre el momento de la consulta y el del aprovisionamiento.

2. Uptime estimado

La duración mínima esperada durante la cual la mayoría de tus Spot VMs seguirán en ejecución antes de una preemption, calculada a partir de patrones históricos y actuales de uso.

Uptime estimado Qué significa
60 minutos (3.600s) Adecuado para workloads batch de mayor duración que toleran interrupciones ocasionales
10 minutos (600s) Úsalo solo para tareas cortas o workloads que hacen checkpoint con frecuencia
1 minuto (60s) Solo para pruebas o trabajo no crítico; considera otra zona o tipo de máquina

El uptime estimado no es una garantía. Las VMs pueden ejecutarse durante más o menos tiempo del estimado.

Cómo usar la funcionalidad

El Capacity Advisor de la consola para Spot es la forma más rápida de obtener una vista combinada: obtainability en tiempo real y tasa histórica de preemption, lado a lado, en una sola interfaz. La interfaz de gcloud divide esto en comandos separados, pensados para scripting o automatización.

Desde la consola (Capacity Advisor para Spot)

Ve a Compute Engine → Capacity Advisor en la consola de GCP. Selecciona tu región, familia de máquina, serie y tipo de máquina, y haz clic en Search.

Las vistas de Mapa y Lista muestran las señales de disponibilidad por región y por zona junto con las tasas históricas de preemption y los precios actuales de Spot. Para comparar la disponibilidad entre varias series, tipos de máquina y regiones al mismo tiempo, conviene usar esta vista de consola en lugar de la CLI.

La captura de pantalla siguiente muestra us-central1 consultado para una Spot VM e2-medium: alta disponibilidad y una tasa histórica de preemption del 0–5% en las cuatro zonas (us-central1-a, -b, -c, -f), con un precio Spot actual de $0.027664/hr.

media

Desde gcloud

Disponibilidad en tiempo real y uptime estimado:

Terminal window
gcloud beta compute advice capacity \
--provisioning-model=SPOT \
--instance-selection-machine-types=MACHINE_TYPES \
--target-distribution-shape=TARGET_DISTRIBUTION_SHAPE \
--size=SIZE \
--region=REGION

La respuesta incluye el score de obtainability y el estimatedUptime para la configuración solicitada.

Salida de ejemplo:

recommendations:
- scores:
estimatedUptime: 3600s
obtainability: 0.9
shards:
- instanceCount: 10
machineType: e2-medium
provisioningModel: SPOT
zone: https://www.googleapis.com/compute/beta/projects/chimbuc-playground/zones/us-central1-f

Tasa histórica de preemption y precios:

El comando capacity-history devuelve las tasas diarias de preemption y el historial de precios para un tipo de máquina y una zona específicos:

Terminal window
gcloud beta compute advice capacity-history \
--provisioning-model=SPOT \
--machine-type=e2-medium \
--types=PREEMPTION,PRICE \
--region=us-central1

Salida de ejemplo:

location: https://www.googleapis.com/compute/beta/projects/chimbuc-playground/regions/us-central1
machineType: e2-medium
preemptionHistory:
- interval:
endTime: '2026-06-23T07:00:00Z'
startTime: '2026-03-25T07:00:00Z'
preemptionRate: 0.0
priceHistory:
- interval:
endTime: '2026-04-12T07:00:00Z'
startTime: '2026-04-08T07:00:00Z'
listPrice:
currencyCode: USD
nanos: 26752000
- interval:
endTime: '2026-06-16T07:00:00Z'
startTime: '2026-04-12T07:00:00Z'
listPrice:
currencyCode: USD
nanos: 27664000

Usa capacity para orientar la elección de zona y tipo de máquina antes de aprovisionar; usa capacity-history para entender la estabilidad a largo plazo y la volatilidad de precios cuando estés planificando la arquitectura de workloads o el presupuesto de FinOps.

Limitaciones

  • La disponibilidad de TPU no se puede consultar mediante la API advice.capacity.
  • Las zonas de AI se incluyen en las recomendaciones por defecto: verifica que las zonas de AI estén habilitadas en tu proyecto antes de actuar sobre esas recomendaciones.
  • Para consultar la disponibilidad de VMs con GPU N1 o discos Local SSD que no vengan asociados a un tipo de máquina por defecto, usa la API REST directamente.
  • Los scores y las estimaciones de uptime no son garantías; la capacidad puede cambiar entre el momento de la consulta y el de la creación.

Buenas prácticas

  • Compara entre tipos de máquina. Si tu workload es flexible, compara los resultados entre configuraciones: por ejemplo, 100 × n1-standard-2 vs 50 × n1-standard-4. Elige la configuración que equilibre obtainability y uptime estimado según tus necesidades.

  • Compara entre ubicaciones. Si tu workload puede correr en varias regiones o zonas, verifica la disponibilidad en cada una. Cuando dos regiones ofrezcan un uptime estimado similar, prefiere la que tenga el obtainability score más alto.

  • Distribuye entre zonas. Con una forma de distribución ANY o BALANCED en un MIG regional, la API puede recomendar dividir las VMs entre zonas para maximizar el éxito de creación: por ejemplo, 90 VMs en una zona y 10 en otra, en lugar de las 100 en una sola zona.

  • Revisa periódicamente. La disponibilidad de Spot cambia con la demanda global de GCP. Suma una revisión periódica de disponibilidad a la gestión de tus MIG o al ciclo de revisión de tus node pools de GKE.

Resumen

Aprovisionar Spot VMs sin verificar antes la disponibilidad equivale a manejar sin mapa. La API advice.capacity te pone el mapa en las manos. No hay una buena razón para saltarse la consulta.

Antes de escribir una plantilla de instancia, antes de correr terraform apply, antes de escalar un MIG, ejecuta la verificación. Te dirá si la zona te va a entregar VMs y por cuánto tiempo es probable que se mantengan activas. Esa señal debe guiar tu elección de zona, tu elección de tipo de máquina y tu intervalo de checkpoint.

Las Spot VMs siguen siendo una de las mejores palancas de costos en GCP. El 91% de descuento es real. El riesgo de preemption también, pero ahora es un riesgo conocido y consultable, no uno a ciegas.

Consulta primero. Elige con base en la señal. Diseña en función del uptime. Revisa a medida que cambie la demanda.

Referencias