Imagine an application processes thousands of log files every night. The results are important, but not urgent. If a job fails today, it can run again tomorrow.
This is where Preemptible VMs and Spot VMs shine. When you run workloads in the cloud, not everything needs to be always on. Some jobs just need cheap compute, even if they might get interrupted.
Let’s understand them with a short story.
📖 The Story: Two Teams, Same Budget Goal
Team A runs nightly batch jobs that finish in a few hours. If they fail, they can retry tomorrow.
Team B trains AI models that can run for days — but they still want the lowest possible cost.
Team A chooses Preemptible VMs.
Team B chooses Spot VMs.
Why? Let’s break it down.
🟡 Preemptible VMs – The Original Budget Workers
Preemptible VMs are short-lived, very cheap instances (up to ~80% cheaper than on-demand).
But there’s a catch:
👉 They always stop within 24 hours, even if nothing goes wrong.
GCP can also stop them earlier when it needs capacity. When that happens, you get a 30-second warning.
✔ Best for:
- Batch jobs
- Data processing
- Rendering
- Anything fault-tolerant and short-running
🔵 Spot VMs – The New-Gen Upgrade
Spot VMs are the modern replacement for Preemptible VMs.
They work the same way (interruptible, cheap, no SLA)…
👉 But they do NOT have a 24-hour time limit.
They can run for days or weeks — unless GCP needs the capacity back.
✔ Best for:
- Long analytics pipelines
- AI / ML training
- Large simulations
- Cheap long-running compute
| Feature | Preemptible VM | Spot VM |
|---|---|---|
| Max Runtime | ❗ 24 hours max | ✅ No time limit |
| Can Be Stopped Anytime | Yes | Yes |
| Preemption Warning | 30 seconds | 30 seconds |
| Pricing | Up to ~80% cheaper | 60–91% cheaper (dynamic) |
| SLA | ❌ No | ❌ No |
| Auto Restart | ❌ No | ❌ No |
| Free Tier Credits | ❌ Not applicable | ❌ Not applicable |
| Best For | Short batch jobs | Long cheap workloads |
🧠 Final Takeaway
✔ Preemptible VM = cheapest, but short-lived by design
✔ Spot VM = cheapest, but can run much longer
If your job finishes fast → use Preemptible
If your job runs long → use Spot
Leave a comment