The reason I don't like AWS is because billing is always at least like 24 hours behind. By time you realize you don't goofed, the bill's already probably more than you thought.
If you want fixed charges use AWS amplify or another service built on AWS primitives. But the whole reason for using AWS is flexibility and “pay for what you use”.
If you don’t understand what a button does then don’t press it until you understand it?
How would this actually work? Actually think a bit about how hard it would be to add a global, synchronised and immediate view of an accounts cost and check it on every single API call.
Take S3 for example: you set a 1$ limit then concurrently upload 10 1$ per month files. What happens? Should 9 of those uploads fail? How would you ever synchronise that? Or perhaps they complete, but should the bucket delete the contents after the ”storage cost per hour” limit is reached?
Perhaps you could reconcile the account cost usage every hour, and when reached the account should be locked somehow and no new writes or reads can be done on anything. Which is basically breaking the account and everything that runs on it. Most people don’t want that.
How would it even work with bandwidth? You’re serving a file from S3 or EC2 with your 10$ account limit. What happens after you use 10$ bandwidth? Should your accounts external internet connection be cut off? How would you even calculate that cost in real time at scale.
Use your brain. AWS are not stupid. It’s a minefield of complexity that would be super expensive to implement and that benefits nobody. The “if you mess up we will refund you up to 2 times” policy works absolutely fine.
What they could do is pause services immediately that can be paused and then give you grace on services where their billing technology has not caught up with real time. They don't necessarily have to actually stop services if they cannot technically do it instantly, just stop charging you at an agreed amount. That's all that's needed.
“Oh sorry I used 100tb of bandwidth over my 10$ limit, I guess your billing technology has not caught up with real time! Lucky you are so nice and stopped charging me at an agreed amount”.
I would like that.
No button would ever be pushed, and AWS would die as a platform.
Several years ago I signed up for a free tier account with AWS to play with . But I also didn't know what I was going to do with it - I didn't create any resources. Got distracted, a few weeks went by, they sent me an invoice! It wasn't for much, but it was not $0. I was very confused (and never figured out why I was charged). Fortunately I was able to reach customer service and get the costs dropped, and I promptly closed my account so that I didn't accidentally (through no action of my own) accumulate further charges!
I'd like to see "get charged more than expected" or "think you were on the free tier but somehow you weren't" on this purity test.