The Blog

Overstating AWS’s Free Tier Generosity

Calendar Icon 12.22.2021
aws-section-divider aws-section-divider

In the run-up to re:Invent (where as you might imagine I had a whole mess of other things on my mind) AWS significantly expanded their free tier offering for outbound data transfer. TechRadar called it “a major expansion,” The Register likewise sang its praises, and CloudFlare CEO Matthew Prince claimed he was “doing a dance of joy” at the news.

Meanwhile I’m sitting here wondering when people stopped using pocket calculators.

100GB of data transfer from AWS to the internet (ignoring free tier) has a theoretical maximum cost of $15.40 if you do it from their most expensive egress region (Cape Town). In the US, the value of that egress is $9.

You’ll forgive me if I don’t start immediately doing backflips with joy over the cost of a single beer at re:Invent (seriously, Las Vegas got terrifyingly expensive at the conference venues). If I look around at the customer pains touching data egress, I assure you that even the free tier users who got caught by surprise aren’t complaining (much!) about a few dollars of data transfer. They’re likelier to be complaining about things that are more substantial, like the infernal Managed NAT Gateway pricing.

In effect AWS at most 100x’d their free tier limit, which used to be 1GB per region, by offering 100GB a month across all regions in perpetuity. Meanwhile Oracle Cloud Infrastructure’s Always Free tier continues to offer 100x (10 terabytes) what AWS does now with their “expanded offering” instead of the previous 10,000x they were trouncing it with. I just want to be very clear here: when you’re getting slapped around on pricing by ORACLE of all godforsaken companies, something is dramatically wrong with your pricing.

Let’s talk CloudFront

As a part of their “free tier expansion” that barely deserves the term, AWS also granted 1 terabyte of data transfer every month to CloudFront users as a part of its free tier expansion. This is a little bit meatier, at the expense of being way less deterministic. If you tell me you’re going to put 1 terabyte of data through CloudFront and ask me how much it’s going to cost, you might expect me to ask what region it’s being served out of. In a “fun” twist, that doesn’t matter in the slightest. What does matter and is basically impossible to predict in advance (or frankly to guarantee) is where the people downloading your content are located. As a result the value of this ranges between $85 and $120 a month. I want to be clear: that’s not nothing!

But the poor schmoo who got surprised by a compromised account and a $45K CloudFront bill for their trouble is likely not going to be assuaged by that.

Meanwhile for CDN purposes CloudFlare handled something like 130GB of traffic for me last month for free, with no cap of which I’m aware. I upgraded one of my domains to a $20 a month plan that I relish paying purely for the joy of not having to play slap and tickle with CloudFront (motto: “It’s not just expensive, it’s also infuriating!”).

Why I care so much

Let me be very clear here so I’m not misunderstood. To my enterprise customers, this is completely irrelevant. Nobody hires The Duckbill Group because of a few hundred bucks a month. My complaints with data egress costs are completely unchanged from the big company perspective; this does not move the needle one iota on their data egress concerns.

And for the free tier customers, it’s far worse. This doesn’t solve the surprise bill that shows up on what they thought was a free account. If you hear about someone with a surprise $60K AWS bill with no assurances that it will be forgiven, it doesn’t take a whole lot of mental gymnastics to realize that it’s only a matter of time until the tragic story of a Robinhood customer killing themselves over a surprise bill plays out in the cloud world. That’s not over the paltry allowances that this free tier expansion addresses.

The reason I like Cloud Economics is that it’s not a life or death issue. The current state of the AWS free tier is the single screaming exception to that, and it needs to be addressed immediately. This is a nice enhancement to the normal small scale hobbyist account, but it fails to meaningfully address the root problem in any way.

aws-section-divider