> There are entire consulting businesses based on the idea of helping people understand their AWS bill.
More broadly, there's a whole cottage industry of businesses that exist only because the UI for the major cloud providers is terrible. Stuff like security auditing or even telling exactly WTF is going on (let alone over time) is so painful that it's worth paying someone else to provide a better UI. Same for billing.
It's a valid one. Engineering teams work with AWS kinda in the same way mass market 90s C code was written. They get it running, but boy are there huge leaks and crashes hiding in plain sight.
From that perspective, I think it might be ok to say that most eng folk complaining about AWS billing need a safer language (higher level abstraction) where they are protected from causing harm or being harmed.
One thing that would make a difference on small accounts is the ability to do prepaid billing only. That way you define your budget in advance and they enforce it. The problem with the current billing is that people who are new to the system have no hope of understanding what is going on and they have to accept the open-ended nature of the billing system to learn.
One issue is what gets shut down when you hit the max? If you have an EC2 instance running and you hit the max, do they shut it off? Would customers understand that and be ok with it? What if you have an S3 bucket? Should they just delete the data? That's probably not what you want.
You can basically do max bill now -- you can set up a cloud watch alarm for billing and when it reaches a certain price, run a script. Your script could just shut everything down and delete everything, or do whatever is appropriate for your account. That's their solution to this.
Also they don't have instant feedback on usage -> cost. They batch process it. So if you get a huge spike in usage, AWS may not even know that for a while. They could in theory be willing to eat the cost of usage between it happening and their processing, but are probably unwilling.
There must be a process for unpaid bills, whatever that process is they could just enact it at the user's threshold instead of their own threshold. Ideally a soft limit that would disable networking and resource creation and then later a hard limit where your account is wiped out.
Because of the potential overhang before the billing system catches up I think it would be appropriate to lower the service quotas on this type of account. I'm not sure if the customer can lower their own quotas which would be an alternate cost control strategy but a beginner wouldn't know to think of that anyway. The solution with billing alerts is good at a company level but too much for a beginner in my opinion.
I know unexpected costs were a concern for me when I started using AWS as a student in 2008 and it is still a concern for people in the same situation, just with so much more complexity on top of it all. It will be a tiny fragment of their revenue but as time goes on a higher and higher level of expertise is required to get started, even though you can accomplish a lot with just the free tier. The amount of progress they've made on this issue in the last 13 years is just not impressive.
Yeah, shut off EC2 instances, block access to all resources, etc. Preserve bucket data and other storage for N days or $M max allowance (ultimately billable) before deleting. AWS could limit how much storage they make available to someone with a budget, reducing their risk substantially.
It's pretty easy stuff, IMO, but the upside for them is low -- after all they are already #1.
That might work for you, but not everyone. They might even have legal trouble with such a system, if they delete data that was required to be retained for example. You're not thinking of all the edge cases.
Their egress bandwidth pricing definitely wasn't designed to meet my needs. I forget how many orders of magnitude above market it was when I priced it out, but it was ugly.
The complexity is to meet customer needs, not the prices themselves. But aren't you glad they have bandwidth tiers so the more you use the cheaper it gets? :)
But I'm not sure what the tradeoff is. They have a lot of services with a lot of options. The pricing is designed to meet everyone's needs.