Gaurav Mantri's Personal Blog.

Comparing Windows Azure Blob Storage and Amazon Simple Storage Service (S3)–Summary

I wrote two detailed blog posts comparing Windows Azure Blob Storage and Amazon Simple Storage Service (S3). You can read those blog posts here: https://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/ and https://gauravmantri.com/2012/05/11/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-ii/. This blog post summarizes those posts.

Like the other posts, we’re going to refer Windows Azure Blob Storage as WABS and Amazon Simple Storage Service as AS3 in the rest of this blog post for the sake of brevity.

Following table provides a comparison summary of features in WABS and AS3.

  WABS AS3
Current service version 2011-08-18 2006-03-01
Storage limit Up to 100 TB Unlimited
File system in the cloud Yes Yes
Ability to ship disks for importing/exporting huge amount of data No Yes
Protocols supported HTTP / HTTPS HTTP / HTTPS / BitTorrent
Ability to charge your customers for the data they consume No Yes
Support for server-side encryption No Yes
Support for reduced redundancy storage No Yes
Hierarchy level supported 2 2
Blob Containers and Buckets
Ability to create blob containers/buckets Yes Yes
Number of blob containers/buckets Unlimited Unlimited
Min./Max. length for a blob container/bucket name 3/63 3/63
Case sensitivity for a blob container/bucket name Lower case Lower case
Valid characters in a blob container/bucket name Alphanumeric, and Dash (-) Alphanumeric, Dash (-) and Period (.)
Supports virtual hosting No Yes
Supports path-style hosting Yes Yes
Ability to set ACL at the time of creation Yes Yes
Default blob container/bucket ACL Private Private
Ability to specify custom metadata on a blob container/bucket Yes No
Ability to list blob containers/buckets Yes Yes
Maximum number of blob containers/buckets returned per call 5000 Not specified
Support filtering by prefix to fetch partial list of blob containers/buckets Yes Yes
Ability to delete blob containers/buckets Yes Yes
Blob container/bucket must be empty before deletion No Yes
Ability to list blobs/objects Yes Yes
Maximum number of blobs/objects returned per call 5000 1000
Ability to list less than maximum specified above Yes Yes
Support for delimiter to create an illusion of folder hierarchy Yes Yes
Support filtering by prefix to fetch partial list of blobs/objects Yes Yes
Ability to fetch a list of versioned blobs/objects Yes Yes
Ability to fetch a list of uncommitted blobs/objects Yes Yes
Ability to log requests made against blob containers/buckets Yes Yes
Ability to configure request logging for individual blob containers/buckets No Yes
Ability to fetch logging configuration for requests made against blob containers/buckets Yes Yes
Ability to set ACL on a blob container/bucket Yes Yes
Possible ACL values Container, Blob, Private READ, WRITE, READ_ACP, WRITE_ACP, FULL_CONTROL
Ability to different ACL values for different users No Yes
Ability to set custom metadata on a blob container/bucket Yes No
Ability to get custom metadata for a blob container/bucket Yes No
Supports versioning on objects Yes Yes
Once enabled, is versioning managed by the system No Yes
Ability to configure versioning on a blob container/bucket No Yes
Ability to get versioning configuration on a blob container/bucket No Yes
Can content in a blob container/bucket expire automatically after a certain period of time No Yes
Ability to configure automatic content expiration (lifecycle) on a blob container/bucket No Yes
Ability to get lifecycle configuration on a blob container/bucket No Yes
Ability to delete lifecycle configuration on a blob container/bucket No Yes
Ability to configure policies on a blob container/bucket to prevent unauthorized access No Yes
Ability to get blob container/bucket policy No Yes
Ability to delete blob container/bucket policy No Yes
Ability to receive notification on an event that has happened on a blob container/bucket No Yes
Ability to configure event notification receipt for an event that has happened on a blob container/bucket No Yes
Ability to get event notification configuration No Yes
Can another user pay for downloading from a blob container/bucket No Yes
Ability to configure who pays for downloading content from a blob container/bucket (request payment) No Yes
Ability to get request payment configuration No Yes
Ability to host static websites in a blob container/bucket with support for default document and error documents No Yes
Ability to configure a static website in a blob container/bucket with support for default document and error documents No Yes
Ability to fetch static website configuration hosted in a blob container/bucket No Yes
Ability to delete static website configuration hosted in a blob container/bucket No Yes
Blobs and Objects
Maximum size of a blob/object 200 GB / 1 TB 5 TB
Types of blob/object Block/Page
Ability to upload blobs/objects Yes Yes
Maximum size of blob/object which can be uploaded without splitting in chunks 64 MB No Limit
Ability to upload blobs/objects in chunks Yes Yes
Maximum number of chunks/upload 50000 10000
Minimum chunk size N/A 5 MB
Ability to set metadata at the time of upload Yes Yes
Ability to set ACL at the time of upload N/A Yes
Ability to specify reduced redundancy storage at the time of creation N/A Yes
Ability to perform conditional uploads Yes No
Ability to upload blobs/objects using HTML forms post No Yes
Ability to download blobs/objects Yes Yes
Ability to download blobs/objects in chunks Yes Yes
Ability to override response headers while downloading blobs/objects No Yes
Ability to download and distribute blobs/objects through torrent No Yes
Ability to get ACL for a blob/object No Yes
Ability to set ACL for a blob/object No Yes
Ability to get properties for a blob/object Yes Yes
Ability to set properties for a blob/object Yes No
Ability to get custom metadata for a blob/object Yes Yes
Ability to set custom metadata for a blob/object Yes No
Ability to delete blob/object Yes Yes
Support for Multi Factor Authentication (MFA) delete No Yes
Support for conditional deletes Yes No
Ability to delete multiple blobs/objects in a single request No Yes
Ability to copy blobs/objects Yes Yes
Support for conditional copy Yes Yes
Ability to take a snapshot (read-only copy) of a blob/object Yes No
Ability to acquire an exclusive lock on a blob/object Yes No

 

I hope you will find this comparison useful.


[This is the latest product I'm working on]