Wouldn’t it be good to give the user not only the possibility to get notifications when a certain threshold is exceeded for paid products, but also to directly set a limit how much he wants to spend? An example would be Spectrum if you want to use only up to 10 GB and then pay nothing more. Finally you don’t want to wake up with a 2000$ bill for a hobby project.
You can setup a billable usage notification. But, that doesn’t set a spending-cap though.
I already said that
I can definitely understand the fear of waking up to a giant bill. But, what should happen when you hit your limit? Suspend the site? Suspend a feature? Are there other side effects of randomly disabling (billable) features?
Suspend the used feature and return an error just like they already do it with workers
With workers, that makes sense, it can be suspended without serious consequences (something just goes down).
But that’s an easy one. How about rate limiting? Turning off rate limiting unexpectedly could be catastrophic (and even more expensive than leaving it on, if it starts allowing unwanted queries to an origin like Azure with a high price tag similar to what happened to Troy Hunt).
I suspect it would be a massive project to try and understand all the ways people use every single product and figure out how to suspend without causing more business interruption than necessary.
I’d personally be okay with a “suspend the whole zone rather than billing me thousands of unexpected dollars”, but you just know there would be people screaming that their whole site was down when Cloudflare could have failed in some other fashion, where their preferred failure is very situational.
And how much do you suspend? If you suspend “everything” you’ll knock out MX records, so that’s not good. Just web properties? Okay, but Spectrum can handle non-web services and has a billable component too which could take out a company’s ability to receive mail just like nuking a MX record. And if you do somehow disrupt email flow, you’ve now stopped a company from resetting their Cloudflare password so that they can login to fix the problem (remember for non-Enterprise only the main admin can fix billing issues, so their daily administrative account might not be good enough).
Or what if an MX record points at a load balancer (billable), do things work without the load balancer or did we just find another way to break a customer’s email?
It’s the edge cases, there are so many across Cloudflare’s services.
+1 from me for the concept though, I’d rather deal with this stuff than have Troy’s bill… But I bet it would cost more manhours for Cloudflare than just writing off the odd unexpected bill (I don’t know if they do this, never been in that situation).
Anyway, I’m just thinking aloud and not speaking authoritatively.