Skip to main content
Cloud Computing

Spot and Graviton: Two Ways You're Overpaying AWS

On-Demand is the expensive default. Spot capacity and Arm chips like Graviton cut the bill for a lot of workloads. Here's where they fit, where they don't, and what to try first.

A platform engineer pulls up the EC2 console on a Tuesday. Six figures a month. The CFO wants a number by Friday. Most of those instances are running batch jobs, CI pipelines, and stateless web servers. Nothing that would notice a two-minute warning.

So here's the argument. For most non-critical compute, On-Demand is the wrong default. Spot capacity and Arm chips like Graviton are cheaper, and the trade-offs are smaller than people assume. Enterprise cloud spending hit $143 billion in Q2 2026, up 43% year over year (Synergy Q2 2026). That money is real. No reason to spend the most expensive version of it on workloads that don't care.

The On-Demand Default Costs More Than It Looks

On-Demand is simple. Pay by the second, no commitment, walk away whenever. That simplicity has a price tag. A single m5.large in us-east-1 runs $0.096 per hour (AWS EC2 Price List API). That's $840 a year if you never turn it off. Doesn't include storage, egress, or the NAT gateway nobody remembers creating.

One instance is noise. Five hundred is a budget line. Teams stick with On-Demand because Reserved and Spot require someone to think about workload behavior, and thinking takes time. Fair. But you're paying 2–3x for the privilege of not thinking.

What that looks like in a real account

I once watched a team run 40 m5.xlarge instances for a staging environment that got used maybe six hours a day. On-Demand cost them around $5,600 a month. They moved the whole thing to Spot with a simple cron schedule that spun instances up at 8am and terminated them at 6pm. New bill: under $700. Nobody noticed a difference. Nobody had to rewrite anything.

Spot Is Cheaper. The Interruption Thing Is Usually Overblown

Spot uses spare AWS capacity and saves up to 90% off On-Demand (AWS EC2 Spot). You get a two-minute warning before eviction. That warning is the whole objection, and it's smaller than it sounds for a specific class of workloads: batch processing, containerized services behind a load balancer, CI runners, test environments, web servers that already expect a node to die occasionally.

Run the numbers on a nightly batch job. Twenty m5.large instances, four hours a night. On-Demand: 20 × $0.096 × 4 = $7.68 a night, roughly $230 a month. Spot at a 70% discount (conservative for that instance type): about $69. You save $161 a month on a job that can just retry if it gets interrupted.

Worth knowing: interruption rates vary a lot by instance family and AZ. m5.large in us-east-1a might get interrupted once a week. A GPU instance in a popular AZ might get yanked three times a day. Check the Spot Advisor data before you commit. And if your job writes to a database, make it idempotent or you'll find out the hard way.

Azure and Google run similar programs. Azure Spot VMs give 30 seconds' notice and carry no SLA (Azure Spot VMs). Google Cloud Spot VMs are up to 91% cheaper than standard pricing, with a guaranteed 60% floor (Google Cloud Spot VMs). Different mechanics, same idea. If your workload can tolerate a restart, paying full price is a choice.

Graviton: Cheaper Per Hour, Same Job

Spot gets you the discount. Graviton changes the price of the instance itself. AWS Graviton instances cost up to 20% less than comparable x86 and use up to 60% less energy for the same performance (AWS Graviton).

Concrete comparison. m7g.large (Graviton3): $0.0816 per hour. m7i.large (x86): $0.1008 per hour. Both in us-east-1 (AWS EC2 Price List API). That's 19% off, before any Spot discount stacks on top.

If you're on Java, Python, Node.js, or Go, the migration is usually a container rebuild or a base image swap. If you're on a .NET Framework app or a hand-tuned C++ service with intrinsics, it's a project. The performance claim is real for most modern runtimes, but don't take my word for it. Run a canary. Same workload, m7g against m7i, measure p99 latency and cost per request. If the numbers hold, migrate. If they don't, you've spent a day and learned something.

Graviton5 is now shipping with 192 cores and a 5x larger cache, aimed at agentic AI workloads (AWS Graviton). You don't need the newest chip to save money. Graviton3 instances have been around long enough that the tooling and AMIs are boring, which is exactly what you want.

Where This Doesn't Work

Spot and Graviton are not universal. Databases, stateful services, anything with a p99 latency SLO measured in single-digit milliseconds, and workloads that hold a lock across a network call — those belong on On-Demand or Reserved capacity. Trying to force Spot onto a primary Postgres instance is how you get a 2am page and a very unhappy on-call engineer.

There's also a real operational cost. Spot interruptions mean retry logic and checkpointing. Graviton means testing and possibly rebuilding a stack. Neither is free. The question is whether the savings justify the work, and for a lot of teams the answer is yes by a wide margin.

For steady-state workloads that can't be interrupted, Savings Plans are the move. Up to 72% off On-Demand, applied automatically across instance families and regions (AWS Savings Plans). Less flexible than Spot on paper, more flexible than Reserved in practice.

What I'd Do First

Three steps. Tag every workload as interruptible or not. This is the hard part, because most teams don't actually know. Then move the interruptible ones to Spot. Start with CI/CD and batch jobs, where a two-minute warning is a non-event. Finally, for the steady-state stuff, canary Graviton. m7g against m7i. Measure cost per request, not just raw latency.

One more thing: turn on Compute Optimizer (AWS Compute Optimizer). It'll flag idle instances and rightsizing opportunities you've been ignoring. Half the savings are usually sitting in resources nobody's using.

Your competitors are doing this. Some of them are doing it badly, which is an opportunity. The tools are there. Spot, Graviton, Savings Plans, Compute Optimizer. The CFO question is coming either way.

Sources

  • AWS EC2 Spot - https://aws.amazon.com/ec2/spot/
  • AWS Graviton - https://aws.amazon.com/ec2/graviton/
  • AWS Savings Plans - https://aws.amazon.com/savingsplans/
  • Synergy Q2 2026 - https://www.srgresearch.com/articles/q2-cloud-market-passes-143-billion-highest-growth-rate-in-eight-years
  • AWS EC2 Price List API - https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/us-east-1/index.json

Share this article:

Comments (0)

No comments yet. Be the first to comment!