I wouldn't mind putting my credit card in azure to access to bypass the capacity issue, and get their paid vm, but I am worried about messing up, and getting an expensive charge, but is there any reason with cloud providers like azure I can't prepay?
They'd also rather give refunds for accidental overages than build in billing shutoffs. There are two reasons for this:
1) Their infrastructure doesn't have realtime tracking for usage so they can't detect you're over budget until some time after you've surpassed it already.
2) There is a decision that most customers would rather go over budget when something happens than have their services get shut off.
I did check into their Budget screens, but holy cow - there are 1900 services there! And besides, setting a budget doesn't help if someone breaks in while I'm sleeping, racks up $10's of thousands of dollars of charges, and I get a notice the next day. So I never did that.
Canceling the billing account lets me sleep at night. And if I absolutely, positively have to get back on, it looked fairly simple to reactivate the billing account.
IMO the reason they don't do this is because you would have to design every system with billing as a critical path dependency
For example say you have a service that lets people run batch jobs
What happens if the pre-pay credit of the account runs out mid way through the job?
Does your job service have to constantly check the remaining balance as its running and abort halfway through? What happens if the account balance service goes down?
Or would you somehow reserve the credit before the job starts? Well in that case how do you know how long the job will run?
Its possible to do in theory but it would be a pain to support
I do all my spin-up/spin-down testing at Digital Ocean, Vultr, or Hetzner ... even if I happen to forget something's up and running, it's never more than ~$5-10 in a month (and I get the billing statement every month, so I can quickly nix stuff if I did happen to forget about it)
It doesn't even make sense as a competitive advantage since it costs more to maintain than what it brings in. If I owned the cloud service I would only set the capability if the customers demanded it to the point of them switching to a competitor en masse.
As an aside on this topic, I'm finding that they don't have capacity for some paid VM types as well in some regions. If I'm looking for specific instance types that don't exist in my default region (e.g. GPU optimized compute) I have to go to other regions to find one where those are available.
But if you want my actual protip, then check out Oracle's cloud product. I'd mostly steer you away from Oracle, but in this case their cloud has a good always free tier and will not allow you to overrun the free boundaries. It's also basically an AWS clone so what you learn will have some carryover as well.