I generally think AWS is better than GCP and azure, but them not allowing spending caps is a big worry source for me and something that has made me pause and rethink using them. A bad click or a bad actor can create tens of thousands of dollars of spend nearly instantly and they can, and will, bill you for it. I can understand that stopping services is hard but some system would be good. For instance, if they had a two tier system where you could stop new services and active things like EC2 would shut down (but not delete) if spend is > x, that kind of thing. Some sort of 'stop the bleeding' concept would give me a lot of piece of mind using them.