The one thing I hate more than spending money is spending an unknown amount of money. I want my monthly bills to be consistent.
But cloud computing bills are inconsistent and depend entirely on usage. On one hand, this means if you don't get much traffic, your bill is less. But on the other hand, you could wake up to a $100,000 Firebase bill.
Basically, I'd much rather my site go offline than be charged $100,000.
In theory, so long as you make more revenue per user than that user costs, cloud computing doesn't sound that bad. Because no matter how high your bill gets, it'll be covered.
The problem is it isn't just legitimate users who can up your bill. Bots, hackers, or even recursive code can surprise you.
And Cloudflare won't always save you:
I had cloudflare in front of my stuff. Hacker found an uncached object and hit it 100M+ times. I stopped that and then they found my origin bucket and hit that directly.
I can't risk making a minor config mistake and having it cost me 100k.
It's more complicated. I won't say it's impossible, but you're going to have to get used to the linux command line.
Personally, I've worked on linux servers before. So I'm super interested in trying out a Ubuntu VPS for hosting all my projects. But I imagine there would be a lot to get used to for someone who has only ever used cloud computing.
I plan to make the switch to a VPS in the near future. Let me know if you'd like to see an article on this or if you have any tips! I think a "self hosting for serverless developers" guide would be sweet.
But what if we combined the best of both worlds? Combine the ease of cloud computing and the consistent billing of self hosting?
Here's an idea for cloud providers: add a spending limit.
Many cloud providers actually have complicated versions of this that are hard to use or require coding your own kill switch.
But cut the crap. I want a box where I can put how much I'm willing to spend. Then if the site goes down, I'm charged only exactly what I put in that box.
Will this hurt your sales? If by "sales" you mean unethically extracting every last penny from your users by making it hard or impossible to avoid paying you ridiculous overage fees because of an honest mistake, then probably yes. But will this improve your reputation and make you the go-to solution for cloud computing? Also yes, especially if you use it in your advertising.
If you're looking to get into the cloud computing business, this could be an interesting way to differentiate from the competition. Target the cloud computing developers. Take this idea, free of charge!
I've been looking to get a VPS for all my sites. Will it cost me more than I'm spending right now? Absolutely. But can I rest easy knowing my bills will be consistent? Also absolutely.
Just make sure whoever you buy your VPS from isn't hiding any secret overage fees.
Check out Serverless Horrors if you want some motivation to self host.
Fortunately, in most cases, it appears the cloud provider refunded them (but even still, it was a long and stressful process). But this is not a rule. One day, they could persist, and you'll need to seek a lawyer ASAP.
Also, please do not blame these unfortunate developers for their explosive bills being their own fault. Yes, a lot of the time, it is a rookie mistake that leads to these outrageous charges.
But it is also the cloud providers who let it happen by making it hard or impossible to set spending limits. And I don't think we should charge $100,000 for a "rookie mistake."
You can be pro cloud computing while also being pro spending limits.