Azure Storage is a real player in the Cloud Storage game. We’ll explore the services Azure Storage offers, including Blob, Table, File, and Queue.
The competition for customers among cloud vendors is driving a great deal of innovation. Services are becoming easier to use and more robust, scalable, and available. Not to mention cheaper. Both AWS and Azure storage options are constantly improving, with AWS’s S3 and Glacier emerging as mature and reliable platforms. But Microsoft certainly hasn’t been quietly watching from the sidelines.
Azure Storage capacity is virtually limitless. It uses a pay-as-you-go service model that will fit your business whether you’re storing only a few hundred GBs or trillions of objects. Under the hood it comes with Microsoft’s guaranteed, massively scalable, highly available, robust and economical architecture. For developers, Azure storage supports a variety of clients, such as .NET, Ruby, and Java for REST, and access from multiple Windows and Linux operating systems.
Azure Storage Types
Standard Storage account
With a Standard Storage Account, a user gets access to Blob Storage, Table Storage, File Storage, and Queue storage. Let’s explain those just a bit better.
Azure Blob Storage
Blog Storage is basically storage for unstructured data that can include pictures, videos, music files, documents, raw data, and log data…along with their meta-data. Blobs are stored in a directory-like structure called a “container”. If you are familiar with AWS S3, containers work much the same way as S3 buckets. You can store any number of blob files up to a total size of 500 TB and, like S3, you can also apply security policies. Blob storage can also be used for data or device backup.
Blob Storage service comes with three types of blobs: block blobs, append blobs and page blobs. You can use block blobs for documents, image files, and video file storage. Append blobs are similar to block blobs, but are more often used for append operations like logging. Page blobs are used for objects meant for frequent read-write operations. Page blobs are therefore used in Azure VMs to store OS and data disks.
To access a blob from storage, the URI should be:
For example, to access a movie called RIO from the bluesky container of an account called carlos, request:
Note that container names are always in lower case.
Azure Table Storage
Table storage, as the name indicates, is preferred for tabular data, which is ideal for key-value NoSQL data storage. Table Storage is massively scalable and extremely easy to use. Like other NoSQL data stores, it is schema-less and accessed via a REST API. A query to table storage might look like this:
Azure File Storage
Azure File Storage is meant for legacy applications. Azure VMs and services share their data via mounted file shares, while on-premise applications access the files using the File Service REST API. Azure File Storage offers file shares in the cloud using the standard SMB protocol and supports both SMB 3.0 and SMB 2.1.
Azure Queue Storage
The Queue Storage service is used to exchange messages between components either in the cloud or on-premise (compare to Amazon’s SQS). You can store large numbers of messages to be shared between independent components of applications and communicated asynchronously via HTTP or HTTPS. Typical use cases of Queue Storage include processing backlog messages or exchanging messages between Azure Web roles and Worker roles.
A query to Queue Storage might look like this:
Premium Storage account:
The Azure Premium Storage service is the most recent storage offering from Microsoft, in which data are stored in Solid State Drives (SSDs) for better IO and throughput. Premium storage only supports Page Blobs.
If you want to deepen your understanding of how Azure Storage works, try Cloud Academy’s Introduction to Microsoft Azure – How Azure Storage works course.
Azure Storage features
These features apply to all Azure Storage offerings:
Azure Storage data is replicated multiple times across regions. There are four ways you can make sure data is stored redundantly: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZNS), Geo-redundant Storage (GRS), and Read Access Geo-redundant Storage (RA-GRS).
Using LRS, three copies of all data are maintained in a single facility within a single region. With ZRS, three copies of your data will be stored in multiple facilities of two or three regions. Obviously, this will achieve greater durability than LRS. For GRS, six copies of data are stored across two regions, with three copies in a so-called primary region, and the rest in a secondary region, usually geographically distant from your primary region. In case of primary region failure, the secondary region is used as part of a fail-over mechanism. RA-GRS data will be stored just like GRS, except that you get read-only access to the secondary region.
Geo-redundant Storage (GRS) and Read Access Geo-redundant Storage (RA-GRS) provide the highest level of durability, but at a higher cost. GRS is the default storage redundancy mode. In case you need to switch from LRS to GRS or to RA-GRS, an additional one-time data transfer cost will be applied. But if you chose ZRS, you cannot subsequently change to any other redundancy mode.
With such durable features, storage services will automatically be highly available. If you chose GRS or RA-GRS, your data data will be replicated in multiple facilities across multiple regions. Any catastrophic failure of one data center will not result in permanent data loss.
Data is automatically scaled out and load-balanced to meet peak demands. Azure Storage provides a global namespace to access data from anywhere.
Azure Storage relies on a Shared Key model for authentication security. Access can be further restricted through the use of a shared access signature (SAS). SAS is a token that can be appended to a URI, defining specific permissions for a specified period of time. With SAS, you can access standard stores like Blob, Table, Queue, and File. You can also provide anonymous access, although that it is generally not recommended.
Azure storage service is a fine example of well-designed architecture that fits many use cases, including enterprise needs. With an SLA ranging from 99.9% – 99.99%, it is an easy choice for users looking for scalable, reliable, and effectively infinite space. Microsoft itself uses Azure Storage for its popular services like Skype, XBOX, Bing, and SkyDrive.
In this post, we introduced you to the basics of the Azure Storage service. In subsequent posts, we will explore the features, architecture, and hands-on experiences with Azure Storage in greater detail. In the meanwhile we strongly recommend this course: Introduction to Microsoft Azure: What is Azure?
If you’ve got something to add, please do add a comment below!