In the race to the cloud, we’ve built an ecosystem of abundance—vast data centers, endless scalability, and a buffet of virtual machine (VM) offerings from the big three hyperscalers: AWS, Azure, and Google Cloud. But as I argued in my book, End of Abundance in Tech, this illusion of plenty is creating its own scarcity. We’re overprovisioning resources, inflating costs, and generating excess capacity that drains billions from enterprises annually. Drawing from a recent analysis of hyperscaler offerings, the average percentage jump between consecutive instance sizes—across compute-optimized and memory-optimized families—is around 79%. That’s not a gentle ramp-up; it’s a leap that forces users to scale in double-digit percentages (often 33% to 125%) just to access the next tier. For most workloads, which rarely need such dramatic growth, this means paying for capacity you don’t use.
The Data Behind the Jumps: A Recipe for Overprovisioning
Let’s break it down with the numbers. Across AWS, Azure, and Google Cloud, compute-optimized instances show average size differences of 82-86%, with minimum jumps as “low” as 17% (in rare cases like Google Cloud’s C2D or C3 families) and maxima hitting 125% (e.g., AWS’s C5 series). Memory-optimized offerings aren’t much better, averaging 61-81%, with similar ranges. These aren’t arbitrary; they’re baked into the families like AWS’s C5/R5, Azure’s F/E/M, and Google Cloud’s C2/C3/M1/M3.
Why does this matter? Most applications don’t scale linearly in massive increments. A database workload might need just a 5-10% bump in memory or compute to handle peak traffic, but hyperscalers lock you into the next predefined size—often doubling resources. The result? You’re provisioning (and paying for) oversized VMs that run at partial utilization. Studies show this contributes to widespread cloud waste, with organizations squandering up to 30% of their spend on underutilized resources. Another report pegs it at 32%, highlighting idle VMs and overprovisioned instances as top culprits. In my book, I call this the “end of abundance” paradox: we’re engineering excess into the system, turning flexible cloud infrastructure into a source of inefficiency.
These jumps don’t just lead to resource waste—they dramatically increase your total cost of ownership (TCO) by forcing you to pay for unnecessary capacity over time. Consider this real-world example of an AWS C5 compute-optimized workload in US East (N. Virginia) running 24/7:
| Metric | c5.large (Current Need) | c5.xlarge (Forced Jump) | Impact |
| vCPUs | 2 | 4 | 100% increase |
| Memory | 4 GiB | 8 GiB | 100% increase |
| Hourly Cost | $0.085 | $0.17 | 100% increase |
| Annual Cost | $745 | $1,489 | +$744/year |
| 3-Year TCO | $2,234 | $4,468 | +$2,234 excess |
In this scenario, your application needs only a modest 10% increase (to ~2.2 vCPUs), but you’re forced to jump to double the resources at double the cost. The $2,234 excess over three years is purely from the sizing gap—and this doesn’t account for storage, data transfer, or management overheads, which further amplify TCO.
This isn’t just theoretical. Imagine a mid-sized e-commerce app needing a modest CPU boost during sales events. Instead of a granular increase, you’re forced to jump to an instance with 50-100% more resources, leading to idle capacity the rest of the time. Multiply that across thousands of workloads, and you’re looking at millions in wasted spend per enterprise—billions industry-wide.
Compounding the Problem: Tech Debt and Process Inefficiencies
The sizing issue is only the tip of the iceberg. Layer on tech debt—legacy code that’s inefficiently ported to the cloud—and non-optimized processes, and the waste multiplies. Monolithic apps lifted-and-shifted without refactoring guzzle resources, while forgotten test environments or unmonitored autoscaling groups spin up unnecessary instances. One analysis found that oversized instances alone waste 11-16% of cloud budgets, as they’re often running at 50-75% below capacity. Add shadow IT, duplicate SaaS licenses, and poor data management, and it’s no wonder 31% of IT leaders report wasting half their cloud spend.
In End of Abundance in Tech, I explore how this self-inflicted excess stems from a mindset of infinite resources. We treat the cloud like an endless well, but every idle core or unused GB contributes to environmental strain (data centers are power hogs) and financial drag. It’s a cycle: overprovision to avoid outages, pay premiums for unused capacity, then scramble to optimize amid rising costs.
The Fix: Granular Offerings for a Custom-Fit Cloud
We need to rethink hyperscaler portfolios. Instead of rigid tiers with massive jumps, offer more granular services—think 5-10% increments in vCPU, RAM, and storage. This means expanding image types to allow true custom fits for VMs or containers, whether via VMware-style virtualization or Kubernetes orchestration. With automation tools already in place (like AWS’s Compute Optimizer or Azure Advisor), adding 50% more service variants is feasible without chaos. It could enable auto-rightsizing based on real-time workloads, slashing waste.
The payoff? Massive savings. If we reduce overprovisioning by even a third, we’re talking billions reclaimed annually—funds that could fuel innovation instead of lining hyperscaler pockets. Tools like burstable instances (e.g., AWS’s T-series) show it’s possible to flex without full-size leaps, but we need this granularity baked in across the board.
This is precisely where private cloud hosting providers can compete—and win. Unlike the hyperscalers’ standardized, predefined instance types, private cloud environments (such as those powered by VMware, OpenMetal, or dedicated colocation setups) offer far greater flexibility in resource allocation. You can define custom VM sizes with precise vCPU-to-RAM ratios, apply granular tuning, and even oversubscribe resources safely to maximize hardware utilization without paying for unused capacity. This level of customization reduces waste dramatically, provides cost predictability (fixed pricing vs. variable consumption), and avoids the overprovisioning traps inherent in public cloud tiers. Providers in this space emphasize tailored infrastructure for steady or predictable workloads, where enterprises can right-size exactly to needs—often leading to 30%+ cost reductions compared to hyperscalers for certain use cases.
Do Hyperscalers Know—and Is It Intentional?
This brings us to the elephant in the room: Do AWS, Azure, and Google Cloud know about these stats, and is the limited granularity a deliberate revenue play? The evidence suggests yes on both counts. Hyperscalers thrive on consumption; their business models reward higher usage, with revenue from infrastructure tying into marketplaces and AI-driven growth. They invest billions in data centers, but standardization (fewer, larger tiers) simplifies operations and encourages overprovisioning—after all, why offer fine-tuned sizes if bigger jumps mean more billable resources?
Critics point to capacity constraints and climbing costs as signs of a system optimized for profit over efficiency. While they provide optimization recommendations, the core offerings remain coarse, potentially locking in revenue from waste. It’s not malice—it’s business. But as AI workloads explode and cloud spend surges 22% yearly, hyperscalers could lead by innovating toward sustainability and savings, not just scale.
In the end, the cloud’s abundance is ours to reclaim. By demanding—and building—granular, efficient offerings, and by leveraging private cloud alternatives where they provide real advantages, we can end the waste cycle and usher in a leaner era of tech. What’s your take—time for a sizing revolution?
