October 7, 2006
@ 04:55 PM

Jeremy Zawodny has a blog post entitled A List of Amazon S3 Backup Tools where he writes

In an effort to replace my home backup server with Amazon's S3, I've been collecting a list of Amazon S3 compatible backup tools to look at. Here's what I've discovered, followed by my requirements.

...

  • s3DAV isn't exactly a backup tool. It's provides a WebDAV front-end (or "virtual filesystem") to S3 storage, so you could use many other backup tools with S3. Recent versions of Windows and Mac OS have WebDAV support built-in. Java is required for s3DAV.
...

I was chatting with a coworker last week and one thing we couldn't figure out is why Amazon S3 doesn't use WebDAV as their REST protocol. Besides the fact that there are WebDAV clients widely deployed on major operating systems from Mac OS to Windows (including Windows Explorer and Microsoft Office), adopting WebDAV wouldn't even require that many changes to the Amazon S3 REST API. All you'd need to do is

  1. Replace the URLs for listing keys with supporting the PROPFIND method.

  2. Replace the usage of custom HTTP headers prefixed with "x-amz-meta-" for adding or retrieving user-defined metadata for objects with supporting PROPPATCH and PROPFIND methods for setting and getting the object's metadata.

  3. Support the COPY and MOVE methods by translating them to PUT and PUT + DELETE operations respectively

  4. Return an HTTP 501 error code when applications attempt to perform LOCK or UNLOCK operations since Amazon S3 doesn't support locking objects.

The last one is tricky because there are a number of WebDAV clients that don't fail gracefully if the server doesn't support LOCK and UNLOCK but in general I think supporting WebDAV would have made the reach of S3 even greater. I wonder if the folks at Amazon even considered that as an option or whether it was an explicit choice?