Compare spot and preemptible instance models across AWS, Azure, GCP, and OCI.
Showing 20 of 20 features.
| Feature | AWS | Azure | GCP | OCI |
|---|---|---|---|---|
Service Name Core Features | EC2 Spot Instances | Azure Spot Virtual Machines | Spot VMs (formerly Preemptible VMs) | Preemptible Instances |
Instance Types Available Core Features | All EC2 instance families including GPU (P, G), compute (C), memory (R) | All VM sizes including GPU (NC, ND), compute (F), memory (E) | All machine types including GPU accelerators, custom types | All shapes including GPU, compute, and flex shapes |
Max Running Duration Core Features | No maximum duration; runs until interrupted or terminated | No maximum duration; runs until evicted | No maximum duration (Spot VMs); previously 24hr for preemptible | No maximum duration; runs until reclaimed |
Availability Guarantee Core Features | No capacity guarantee; depends on regional supply/demand | No capacity guarantee; eviction based on capacity needs | No capacity guarantee; Compute Engine may reclaim at any time | No capacity guarantee; Oracle may reclaim at any time |
Supported Services Core Features | EC2, EMR, ECS, EKS, SageMaker, Batch, Auto Scaling Groups | VMs, VMSS, AKS node pools, Azure Batch, Azure ML | Compute Engine, GKE node pools, Dataproc, Vertex AI, Batch | Compute, OKE node pools, Data Science, Data Flow |
Discount Range Pricing & Savings | Up to 90% off On-Demand pricing | Up to 90% off pay-as-you-go pricing | 60-91% off On-Demand pricing | 50% off On-Demand pricing (fixed discount) |
Pricing Model Pricing & Savings | Market-driven pricing; varies by instance type, AZ, and time | Market-driven pricing; set max price or use -1 for current spot price | Fixed pricing per machine type (not market-driven) | Fixed 50% discount on On-Demand price (predictable) |
Price Ceiling / Max Price Pricing & Savings | Optional max price; defaults to On-Demand price | Configurable max price per hour; -1 means up to On-Demand | No max price setting; fixed discount applied | No max price setting; always 50% of On-Demand |
Price History / Transparency Pricing & Savings | Spot Price History API for last 90 days by type and AZ | Spot pricing history available via Azure portal and API | Fixed pricing published; no fluctuation history needed | Fixed pricing published; no fluctuation |
Billing Granularity Pricing & Savings | Per-second billing (minimum 60 seconds) | Per-second billing | Per-second billing (minimum 60 seconds) | Per-second billing |
Interruption Notice Interruption Handling | 2-minute warning via instance metadata and CloudWatch Events | 30-second eviction notice via Azure Metadata Service (IMDS) | 30-second ACPI G2 soft-off signal before termination | 30-second notification before reclamation |
Interruption Actions Interruption Handling | Terminate, stop, or hibernate (Spot Fleet/ASG configurable) | Deallocate or delete (configurable eviction policy) | Terminate only (no stop/hibernate option) | Terminate only (no stop/hibernate option) |
Interruption Frequency Data Interruption Handling | Spot Placement Score and interruption frequency ratings (1-5) | Eviction rate estimates: low, medium, high in Azure portal | No published interruption frequency data | No published interruption frequency data |
Rebalance Recommendations Interruption Handling | EC2 Rebalance Recommendation signal before actual interruption | Scheduled Events for maintenance; no early rebalance signal | No rebalance signal; only termination notice | No rebalance signal; only termination notice |
Graceful Shutdown Interruption Handling | Lifecycle hooks in ASG; checkpoint to S3/EBS before termination | Scheduled Events polling; checkpoint to Blob/Managed Disk | Shutdown scripts execute during 30-second window | Shutdown scripts during 30-second notice window |
Fleet Management Operations & Best Practices | Spot Fleet and EC2 Fleet for multi-type, multi-AZ diversification | VMSS with spot priority; VM Fleet (preview) for diversification | MIG with spot provisioning model; no dedicated fleet service | Instance pool with preemptible capacity type |
Kubernetes Integration Operations & Best Practices | EKS managed node groups with SPOT capacity type; Karpenter | AKS spot node pools with eviction policy and taints | GKE spot node pools with graceful node shutdown | OKE node pools with preemptible worker nodes |
Capacity Optimization Operations & Best Practices | Capacity-optimized allocation strategy selects least-interrupted pools | Capacity eviction policy considers pool availability | Automatic placement; no user-selectable allocation strategy | Automatic placement in available capacity pools |
Fallback to On-Demand Operations & Best Practices | Mixed Instances Policy in ASG; Spot Fleet On-Demand base capacity | VMSS priority mix: spot + regular VMs configurable | MIG mixed instances; no native fallback; use multiple MIGs | Instance pool with mixed preemptible and on-demand shapes |
Terraform Support Operations & Best Practices | aws_spot_instance_request, aws_spot_fleet_request, ASG mixed_instances_policy | azurerm_linux_virtual_machine with priority=Spot, azurerm_orchestrated_virtual_machine_scale_set | google_compute_instance with scheduling.preemptible or provisioning_model=SPOT | oci_core_instance with preemptible_instance_config block |
The comparison table is a static, hand-maintained dataset of feature rows tagged by category (Core Features, Pricing & Savings, Interruption Handling, Operations & Best Practices); filtering and search narrow the visible rows without a live spot-price API call to any provider, current spot/preemptible pricing fluctuates (especially on AWS and Azure) and should be checked against each provider's live pricing API before finalizing a cost estimate.
A comparison of interruptible compute across AWS EC2 Spot, Azure Spot VMs, GCP Spot VMs, and OCI Preemptible Instances, and the pricing models genuinely differ in a way that affects interruption-risk tolerance: AWS and Azure Spot use market-driven pricing that fluctuates with regional supply/demand (up to 90% off, but variable and with an optional price ceiling), while GCP Spot VMs and OCI Preemptible Instances use fixed discounts (GCP 60-91% off depending on machine type, OCI a flat 50% off), meaning GCP and OCI pricing is predictable but AWS/Azure can theoretically get cheaper (or force an interruption sooner) depending on live market conditions.
OCI's flat 50% discount is the least aggressive of the four but also the most predictable, for a workload where cost forecasting matters more than squeezing out maximum savings, that predictability is a legitimate reason to pick OCI Preemptible over chasing AWS/Azure's higher but variable discount ceiling.
A Spot/preemptible fleet needs actual interruption-handling logic (checkpointing, graceful drain on the provider's termination notice), treating spot capacity as a drop-in replacement for on-demand without that handling turns routine reclamation events into failed jobs instead of a smoothly resumed workload.
Diversifying across multiple instance types/families and availability zones meaningfully reduces effective interruption rate on AWS and Azure's market-driven model, a single-instance-type spot fleet concentrated in one AZ sees far higher interruption variance than a diversified fleet, and this is true across all four providers' capacity-based reclamation, not just the market-priced ones.
No, GCP Spot VMs use a fixed discount off the on-demand price for a given machine type, not market-driven pricing, so the price you see when launching is the price for the duration of that instance's life (until it's reclaimed). AWS and Azure Spot, by contrast, use market-driven pricing that can genuinely fluctuate, which is the tradeoff for AWS/Azure's occasionally deeper discounts (up to 90%) against GCP's comparatively narrower but fully predictable 60-91% range.
It can help avoid one specific interruption cause (being outbid when the market price rises above your ceiling) but doesn't eliminate interruption risk from AWS reclaiming capacity for On-Demand or Reserved customers, which happens regardless of your price ceiling. A higher max price only protects against the price-based interruption path, not capacity-based reclamation, which is the more common real-world interruption cause today.
Not currently for any of the four in their current form, all have moved away from the older fixed-duration models (GCP's legacy Preemptible VMs used to cap at 24 hours; that limit doesn't apply to current Spot VMs). All four now run until interrupted/evicted/reclaimed rather than hitting a hard duration ceiling, though interruption can still happen at any time with the provider's standard notice window (commonly around 30 seconds to 2 minutes depending on provider).
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.