Workers Storage Concepts
gonna start a thread for some ideas i had for workers related to storage
9 Replies
🪄
yay
ok, i was just wondering why there are different products for "storage" with workers
i can understand that they are for different use cases but wouldn't it make more sense to just make one product (maybe just "Workers Storage") that could do everything?
maybe this theoretical product could have a ton of options for operations like consistency, storage tiers, etc.
Something like Automatic Storage Tiering? lol, the storage offerings are very different though.
im trying to think of how you could query this theoretical service that isnt just what workers kv already does
workers to me is the "do everything" service
r2 and all the other services that run on workers are cool but i dont see why they aren't just open source projects that you can just install yourself with workers
A lot more goes into KV/DO/R2 than just the code.
You can't replicate R2 with a lot of globally distributed storage nodes.
KV is replicated globally within 60 seconds.
i know that... im just wondering why someone like me couldn't just build my own r2 on workers and run it at the same cost as r2? i know that cloudflare has to make money but the pricing between all these similar yet different services confuses me
iirc r2 is built on durable objects but im guessing that you must be hooking into some custom storage api for that lower cost
KV is exclusively keys and values - think Redis
Durable Objects could be used as an atomic, strongly consistent KV but they have a lot more power than that like being used for long lived WebSockets
R2 is like other object stores, like S3 or GCS, and requires a lot of raw storage
R2 isn’t just a Durable Object with some code sprinkled on top; it’s just using Durable Objects for parts of the architecture
for some context im all for the "batteries included" stuff (for beginners/"it just works so we'll use it" companies) but i would love to have the option for "no batteries included" so people like me could build their own services on top of workers for bespoke use cases (or cool products), a raw "storage" api/product with tons of options for consistency, storage type/tier, etc. would allow me to use workers as a "do everything" platform
DO is fine but DO storage is just strongly consistent/atomic (ill have to research/refresh my memory on that term) KV, and R2 is just file storage but that could also be done with KV or DO storage
What couldn’t you do with DO/KV/R2 that you’d like to do?