Why did S3/object storage succeed while WebDAV apparently failed?

Admiral Patrick@dubvee.org to No Stupid Questions@lemmy.world – 50 points –

WebDAV has been around a lot longer and does many of the same things as object storage. It also has support for random access read/writes where object storage requires you to download, edit, and re-upload the whole file. Seems like a no-brainer if you wanted to offer cloud storage to customers.

I thought maybe supporting large uploads was the draw, but WebDAV can support chunking, so you don't need to allocate extra server resources to accommodate large files.

I use both daily, and WebDAV just seems like it does everything better: object storage feels like throwing files in a junk drawer and WebDAV more like an organized filing cabinet.

Aside from Nextcloud and a few FOSS applications, the only big thing I recall that adopted WebDAV was Frontpage back in the day.

So, what am I missing? What makes object storage so compelling that it became ubiquitous while WebDAV is practically a legacy spec?

14

You are viewing a single comment

I'm only cursorily familiar with WebDAV, but I think the needs of cloud storage aligned much better to the object storage model than WebDAV's file/directory structure. For example, in a distributed cloud across continents, referencing a file in WebDAV might have a canonical path, but object storage would just need a key or hash. And by using a key/hash, automatic deduplication is achieved, since the same object should hash to the same key. File paths necessarily imply context, but the point of clouds is to be homogeneous. If paths need to be world-unique but locally-cached, then the path is just a unique identifier and we slowly end up with the database-like semantics of object storage anyway.

Phrased another way, a file/directory structure imparts an organization to the contents of those files. Cloud doesn't need that organization, so throwing stuff in the junk drawer is perfectly reasonable.

This is funny because most object storages now use keys that represents a path. For example, you can host a website on S3 with folders for js/css/etc and it "just works".

Thanks. So content-based addressing is the draw then? I guess I can see that. Unfortunately, that's one of the things I really dislike about it (and why it feels like throwing files in a junk drawer lol).