Open Source Durable Objects for Postgres(solidobjects.dev) |
Open Source Durable Objects for Postgres(solidobjects.dev) |
It's amazing that we still lack the ability to set a hard cost cap on a lot of cloud services/API, as the consumer you usually have a rough idea of what something is going to cost (I say rough because pricing out AWS is always fun) and an idea of what the lower bound "oh shit that isn't right" limit should be, so why can we not set that.
You shouldn't be getting an unexpected $34K bill (unless it's within variance and you are running a very large system).
Cynically the opaqueness of this stuff has to be by design/intention at this point.
This is where this discrepancy occurs. AWS (etc.) aren't targeting "consumers," they're targeting enterprises. Enterprises want to use these services with minimal interference and overhead. They'll build out whatever features they need as they need them. It's the same thing with any other utility service: a factory isn't interested in having the electric company or water company shut off their services if their usage spikes. They'll manage their usage (and potential overages) in whatever way is specifically suitable for them.
Consumers have plenty of options to prevent such situations. Hell, AWS even offers Lightsail which is the consumer-friendly version of their services which is designed to be simple with a flat rate cost (including options of object storage).
If a consumer decides to tap into enterprise-grade services and ends up getting burned as a result, then I'm blaming the consumer rather than the provider of those services. These dynamics are all pretty clear and easy to understand (and even mitigate, with enough effort), so I don't see how you can claim they are "opaque" unless you're the kind of consumer who feels every company should dumb down their products to cater to the lowest common denominator.
I do not own a hyperscaler account as a private person and will never do, the financial risk is too high even IF the support will swift it away.
Although I admit, there should be spend warnings.
You also don't need any latency in the loop or moving parts that could wrongly interfere with the reliability of making that money.
Fortunately, the last thing this is is "opaque". You have all the observability you need to do what you want to do with unexpected usage.
What AWS (and every CSP) gives you is all the instrumentation and out of band tools to implement your own angel of death, to API kill a runaway thing if that's what you want to do.
You can also find countless TF and CDK patterns for it if you aren't sure how.
But please, no, do not ask to make critical systems subject to the whims of some billing decision enforcer.
The "why did they cut me off" complaints here far outnumber the "runaway bill" complaints.
celld and workerd give you Durable Objects if you run another daemon. This is a library your app loads, with state stored in the SQL database you already have (Postgres, MySQL and SQLite supported). No daemon required, no new infrastructure and monitoring, no broker, and no vendor account.
Pre-1.0, MIT, TypeScript, in browser (with WASM SQLite), and Ruby too. Happy to answer anything.
Where LLMs can be really actually quite useful, is situations where you have a lot of context and want to distil it. That's what I think happened here: the author has a lot of information to convey, and the LLM-generated output is relatively information-dense.
Unfortunately there's no objective measure for information density of an arbitrary piece of text.