4 ms·
I have been thinking about this a lot lately. We have customers who run automation against us. They’re doing 10,000 API calls. Each one has to do a permission c
by et1337 3y ago
I have been thinking about this a lot lately. We have customers who run automation against us. They’re doing 10,000 API calls. Each one has to do a permission check, request signing, serialization, etc., etc. All just to mutate a blob of data less than say, 100MB. If they just downloaded the whole state, mutated it, and reuploaded it, the whole thing would be done in 2 seconds.
We already lock the entirety of each customer’s data when processing a request, in order to avoid data inconsistency from concurrent mutations.
One SQLite database per customer is a really appealing idea.
- rmbyrro 3y agoI'd think 100x before deploying this pattern to external customers. The use case shared by fly.io is for internal tooling. If you have a small team that most likely won't grow to more than a few dozen devs, maybe you can get away with it. Shipping it to several external customers will be a horrible nightmare in maintenance and dev productivity. I'd switch jobs if I was working in a project that started applying this. Paying for the HTTP API upfront is a cheap price to avoid the costs of not having it down the road.
- knallfrosch 3y ago> If they just downloaded the whole state, mutated it, and reuploaded it, the whole thing would be done in 2 seconds. Do you think your customers would accept this as a test? They would run against an in-memory database if they wanted to.