Object storage is a general purpose term used to represent the storing of unstructured data. The goal of this post is to compare features/concepts of Azure Blob storage to AWS S3.
|Objects are organized in buckets||Objects are organized in Accounts and Containers|
The term “bucket” as it relates to object storage is a term almost as old as the term “cloud computing”. In AWS, a bucket is effectively described as a container for objects. They are the highest level of organization for objects.
Because buckets are the only organization option available, general settings such as versioning, ACLs, default encryption, replication, logging, and lifecycle are set at this level.
In Azure, you create storage accounts that have child resources called containers. All blobs must live in a container. At a high level, account level settings are similar to the bucket level settings for AWS with the exception of access policies. In general, access policies are set/maintained at the container level.
|Creation Method||Bucket version setting||Snapshot operation|
In Azure, versioning is handled by taking snapshots of objects when one wants a particular version to be retained. These snapshots are tied to particular blob, and are denoted by a date/time stamp. Users are prevented from deleting blobs with snapshots unless all the snapshots are deleted at the same time. Snapshots are the result of an operation call against a blob, and are not done automatically by the system.
In AWS, automatic versioning of blobs is a bucket level settings. When enabled, blob put/delete requests automatically create new versions. Versions are denoted by a version ID, and blobs are uniquely referenced by the combination of the key (object name) and the version ID.
|System/Custom Tags||System/Custom Tags|
Both AWS and Azure make use of similar mechanisms to apply metadata to blobs in storage. Further, in both cases, there is a combination of system generated metadata, and custom metadata.
For more information on AWS metadata, please see https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html
For more information on Azure metadata, please see https://docs.microsoft.com/en-us/rest/api/storageservices/setting-and-retrieving-properties-and-metadata-for-blob-resources
Shamir is a Microsoft Most Valuable Professional (MVP – Azure) and has extensive experience building solutions in the cloud, from strategy to deployment to automation