You're staring at a cloud bill that's ballooning every month, and you're wondering: "Why am I paying so much for compute?" The answer is probably that you're using On-Demand instances for everything, like a tourist paying full price at every restaurant. On-Demand is the most expensive way to run steady workloads, and it's a choice, not a law. You can cut your compute bill by up to 90% for the same performance, and I'm going to show you how.
The On-Demand Trap
On-Demand pricing is flexible—you pay per second or per hour with no commitment, and it's the default when you spin up an EC2 instance. That flexibility comes at a premium. For example, an m5.large in us-east-1 costs $0.096 per hour on On-Demand (AWS EC2 Price List API). That's $70 a month for a modest 2-vCPU, 8-GiB machine. But you can get the same instance for up to 72% off with a Savings Plan (AWS Documentation). That's $20 a month. If you're running that instance 24/7, you're throwing away $50 a month, every month, for the privilege of being able to cancel at any time. For steady workloads, that privilege is worthless.
Commit and Save: Savings Plans and Reserved Instances
Here's the blunt advice: if you have a workload that runs more than a few hours a day, commit to it. AWS offers Savings Plans that let you commit to a dollar amount of compute for 1 or 3 years. Compute Savings Plans give you up to 66% off, and EC2 Instance Savings Plans up to 72% (AWS Documentation). Reserved Instances, which are tied to a specific instance type and region, can save you up to 75% (AWS Documentation). Yes, you're locking yourself in, but for predictable workloads, that's a no-brainer. The same logic applies to Azure and Google Cloud—they have similar commitment discounts. If you're running a staging environment that's up all night, why are you paying On-Demand rates?
Spot: The Bargain Basement for Flexible Workloads
But what if your workload is flexible, fault-tolerant, or stateless? Then you can go even cheaper with Spot Instances. Spot Instances use spare AWS capacity at up to 90% off On-Demand (AWS EC2 Spot). They can be interrupted with a two-minute warning, but for big data, CI/CD, web servers, or test environments, that's often fine. For example, a t3.micro On-Demand costs $0.0104 per hour (AWS EC2 Price List API). At 90% off, that's $0.001 per hour—about $0.75 a month. Run a hundred of those for development and you're still paying less than one On-Demand m5.large. The catch is that Spot isn't for everything. If you're running a database with state, Spot can be risky. But for anything that can restart, Spot is the cheapest way to get compute.
But What About Serverless?
You might be thinking, "Why not just go serverless? Lambda and Fargate are pay-per-use, so they must be cheaper." That's a common counter-argument, and it's true for spiky workloads. Lambda's free tier gives you 1 million requests and 400,000 GB-seconds per month (AWS Lambda Pricing). Beyond that, you pay $0.20 per million requests and $0.0000166667 per GB-second (AWS Lambda Pricing). For a low-traffic API, that's pennies. But for steady, high-CPU workloads, serverless can be more expensive than a committed EC2 instance. For example, if you run a service that uses 1 vCPU and 2 GB memory 24/7, that's roughly 2,600 GB-seconds per hour. At Lambda's rate, that's about $0.043 per hour—$31 per month. Compare that to a t3.micro with a Savings Plan at around $0.003 per hour (after 72% off) or $2 per month. For steady workloads, serverless is not a cost-saving measure; it's a convenience tax. So don't assume serverless is cheaper—it's only cheaper if you have spiky or low-utilization workloads.
The Graviton Discount
One more lever: choose the right processor. AWS Graviton instances are ARM-based and cost up to 20% less than comparable x86 instances (AWS Graviton). For example, an m7g.large (Graviton3) costs $0.0816 per hour, while an m7i.large (x86) costs $0.1008 per hour (AWS EC2 Price List API). That's a 19% discount for the same specs. And Graviton instances use up to 60% less energy (AWS Graviton), which is good for your carbon footprint and your conscience. If your software is compatible—and most modern Linux distributions and containers are—you should be using Graviton. It's a no-brainer.
Bottom Line
Stop paying On-Demand for workloads that run around the clock. Use Savings Plans or Reserved Instances for your steady baseline, Spot for flexible tasks, and Graviton for everything compatible. You can easily cut your compute bill by 50% to 90% without changing your application. The single best move you can make today is to review your EC2 usage and commit to Savings Plans for anything that runs more than a few hours a day. Do that, and you'll see the savings immediately.
Sources
- AWS Documentation - https://docs.aws.amazon.com/ec2/
- AWS EC2 Spot - https://aws.amazon.com/ec2/spot/
- AWS Graviton - https://aws.amazon.com/ec2/graviton/
- AWS Lambda Pricing - https://aws.amazon.com/lambda/pricing/
- AWS EC2 Price List API - https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/us-east-1/index.json
Comments (0)
Please sign in to post a comment.
Don't have an account? Create one
No comments yet. Be the first to comment!