I have never in 8 years of being in the AWS ecosystem and reading forums and Reddits on the internet had anyone report that AWS wouldn’t refund their money.
If you go over your budget with AWS, what should AWS do automatically? Delete your objects from S3? Terminate your databases and EC2 instances? Besides, billing data collection doesn’t happen anywhere near realtime, consider it a fire hose of streaming data that is captured asynchronously.
> If you go over your budget with AWS, what should AWS do automatically? Delete your objects from S3? Terminate your databases and EC2 instances?
Why not simply take the service offline once it reaches the free tier limit??
The reason why is that AWS is greedy, and would rather force you to become a paid customer…
How do you take your S3 service offline when they charge for storage or your EBS volumes? Your databases?
Block access to the service until the next billing period starts, or the user upgrades to a paid tier.
And it is still incurring charges for storage costs.
At Amazon scale, including a "we don't delete the data for 30 days if a bill isn't paid" clause is a plausible thing to include in the "free" tier. Paid tiers owe Amazon the contracted rate for the storage, as with any similar contract, and when Amazon deletes the data if payment isn't rendered when due is up to the terms of the contract.
There is no such thing as the “free tier” at least until July of this year. Some services are free for the first year up to a certain limit, some give you a bucket of free usage every month, etc.
Then you owe the contracted rate for the storage. These massive bills are almost never for storage, they're almost always for some sort of compute or transport left unrestricted. If you store 500TB you'll get an $11k/month bill, but the vast majority of the services can simply cut off usage at a limit. Even storage could prevent adding new data if you hit a pre-specified limit, so you'd only pay for the data you already had.
If I know my service should never use more than 1TB total I'd like to be able to set a limit at (say) 2TB total with warnings at 0.6TB & 1TB, thus limiting spend to $46/month on storage. Sure, my service will fail if I hit the limit, but if it's using double the storage I expect it to use something went wrong & I want to require manual action to resolve it instead of allowing it to leak storage unbounded.
This is not a particularly difficult problem to make significant improvements on. There are some edge cases (there always are) but even if spending limits were only implemented for non-storage services it'd still be better for customers than the status quo.
Provide the user the tools to make these choices. Give the option to explicitly choose how durable to extreme traffic you want to be. Have the free tier default to "not very durable"
Bam, you said. They’d do it if they cared, but they don’t and prefer the status quo. 100k surprise bill is the type of thing people kill themselves over. Horrific
You mean like having a billing alert send an event that allows you to trigger custom actions to turn things off? That already exists. It has for years.
So why isn't it the default yet? Why isn't unlimited scaling something you have to turn on?
Because how you personally decide to handle cost overruns is up to you. AWS by itself can’t make that decision for you.
The opposite problem when you do set low limits by default is that you constantly have to submit tickets to AWS to ask for service limit increases.
How is AWS suppose to know whether you want to immediately scale or not?
And before July of this year, there was no such thing as a “free tier AWS account”. There were services that allowed certain amount free.
> How is AWS suppose to know whether you want to immediately scale or not?
Ask? This is not some impossible problem.
Yes, there is a UX challenge to be solved.
But also, doing so is well within the capabilities of a company like Amazon.
They simply have no incentive to help out since there is less money to be made by making it easier to spend less money. And, purely capitalistically, if you have to pick between a potential bug or misconfiguration that causes extra spending you can walk back with customer support, and a bug or misconfiguration that results in extra downtime for your 7+ figure customers, you pick the latter.
Their choice makes sense for their bottom line.
It's still bad UX for many users.
And AWS is suppose to do that across all 230+ services?
But as of July 15th of this year, there is actually a “free tier” that won’t let you spend over $200.
Before there were services with a free tier.