Matthew Prince, CEO of Cloudflare, posted a single chart on his company blog in mid-2021. The chart placed what AWS charges per gigabyte of outbound data next to what that same bandwidth costs AWS to move. In North America, the markup was 80 times their cost. The rate comparison most operators run when picking a cloud provider is built to hide this number, not reveal it.
The Platitude and Its Cost
"Pick the provider with the lowest storage rate." It sounds like good sense. Most operators who have moved data to the cloud have heard it, run the math on it, and built a vendor decision around it.
The spread on storage rates across the three big providers tells you why. AWS S3 Standard charges $0.023 per gigabyte. Google Cloud Standard charges $0.020. Azure Blob Hot charges $0.018. The gap between the cheapest and the most costly is half a penny. At 20 terabytes, the monthly storage bill runs from about $360 to $460 across them.
That half-penny spread is the number every pricing page puts in front of you first. It is designed to be close. It is designed to make the choice feel like a coin flip.
The Mechanism Behind the Markup
There is a name for this in the economics literature. Paul Klemperer, an Oxford economist, published a study in 1995 on what happens when switching costs sit between a buyer and a new vendor. He called the pattern "bargains then rip-offs." The vendor makes entry cheap. Once the buyer is in, the cost of leaving does the rest.
Cloud storage follows this model with a clean line. Moving data into any provider costs nothing. Ingress is free on AWS, free on Azure, free on Google Cloud. But moving data out, the step the industry calls egress, costs $0.09 per gigabyte on AWS, $0.087 on Azure, and $0.12 on Google Cloud Premium Tier.
One direction is free. The other is where the margin lives.
Prince's analysis showed the mechanics behind that margin. Over the prior decade, wholesale bandwidth prices had dropped 93 percent. AWS cut its egress rate by 25 percent over that same span. Since 2020, the North America rate has not moved at all. It is still $0.09 per gigabyte. The cost fell. The price held. The gap went to the provider.
This is not a pricing quirk. Egress margins run above 90 percent. Compute margins run far lower. The exit fee is the most profitable line on the invoice.
The Structural Flaw
The problem is not that providers charge for egress. The problem is that comparing storage rates replaces comparing exit costs. The number you were invited to check is the one that barely matters. The number that sets whether you can leave sits three clicks deeper in the pricing page.
What to Compare Instead
The better principle is short: price the exit before you price the shelf. Once that is clear, three moves follow from it.
Run the full read cost at your actual volume
Take your current monthly data and price out one full read of that data on each provider. At 20 terabytes, storage costs about $460. One full read on AWS costs about $1,780 in egress alone. The exit bill is nearly four times the storage bill in a single month.
This is the step most operators skip, because the vendor's pricing page does not make it easy to find.
Compare the 10-terabyte monthly exit across providers
Gartner has noted that most firms spend 10 to 15 percent of their total cloud bill on egress alone. At 10 terabytes a month out of a US region, AWS charges $891. Azure charges $861. Google Cloud runs $1,200. Cloudflare R2 charges zero. The spread on storage across those same providers is a fraction of a penny. The spread on egress runs in the hundreds of dollars.
Test a zero-egress tier before you commit volume
Move a small, non-critical data set to a provider that charges zero egress. Cloudflare R2 and Wasabi both do this. Run it for 90 days. Track the total cost. You do not need to move your whole operation. You need a clean comparison at real scale to see what the exit fee is costing you.
What the System Shows
Running this for one quarter does something the old comparison never did:
The true cost of each provider shows up in the egress line, not the storage line. The vendor that looked cheapest on the pricing page may carry the highest total bill. The friction of moving data out turns into a number on a spreadsheet, not a vague concern you push to next quarter. And the gap between what wholesale bandwidth costs and what you pay for egress becomes visible. That gap is the vendor's margin, built on your switching cost.
Three Questions for the End of the Quarter
At the end of 90 days, ask three things.
→ Which provider had the lowest total cost when egress was in the math, not just storage?
→ Which comparison looked like a savings but left the exit fee out?
→ Which data set moved without friction, and which one felt too heavy to touch?
That is the difference between a pricing page that looks right and a cost structure that proves itself.
Where You Stand
Prince posted that chart over five years ago. The North America egress rate on AWS has not changed since. The storage spread across the three big providers is still a fraction of a penny. The exit fee is still where the margin sits. The storage rate is the storefront. The egress rate is the business model. You now know which number to check first.
