At first glance Amazons Simple Storage Service and Windows Azure blob storage appear to offer the same functionality but there are a few subtle between these two storage abstractions in the cloud. In this post I’ll explain what the differences are.
Here’s a quick refresher on the terminology
Amazon simple storage service (S3)
In Amazon speak every object stored in S3 is contained in a top level bucket. Bucket names are unique across all of Amazon S3. Within a bucket you can use any names you like for your objects. Although the hierarchy is two levels deep you can fake deep object graphs suing a naming prefixes. Plenty of folks store static content for their websites in S3 and back the data store with a CDN to ensure fast delivery to the browser. S3 is great for WORM data ( write once read many times).
Azure’s blob storage
In azure speak objects are stored in blob storage. Every object stored in blob storage is associated with one top level container. The container partitions everything by a unique namespace across all of azure blob storage. Within a container you can use any names for your objects.Again its common to store static content and back it with a CDN to serve out static data to your website.
What they have in common
- cheap, durable, reliable storage
- REST API to get at the data
- Hierarchy 2 levels deep
- ACL’s to lock down who can see what
- Multi-part upload
The main differences
|REST API Protocols||HTTP||HTTP & SOAP|
|(optional) delete item after a specified amount of time||N||Y|
|Encrypt data at rest||N||Y|
hope this helps!