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 and Azure Storage has become a real player in the Cloud Storage game.
What is Azure Storage?
“Azure Storage is a cloud storage solution for modern data storage scenarios”
as reported in the Microsoft Azure documentation.
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.
In this article, we’ll explore Azure Storage’s benefits and features, the services/solutions it offers, and more.
Azure Storage features and benefits
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 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 is generally not recommended.
Azure Storage data are accessible from anywhere in the world over HTTP or HTTPS. A variety of languages are supported, such as NET, Java, Node.js, Python, PHP, Ruby, and Go.
Azure Storage Services
With an Azure Storage account, you can choose from different types of storage services:
- Azure Blob Storage (Azure Blobs)
- Azure File Storage (Azure Files)
- Azure Queue Storage (Azure Queues)
- Azure Table Storage (Azure Tables)
- Azure Disk Storage (Azure Disks)
Let’s give an overview of each Azure Storage Data Service.
Azure Blob Storage (Azure Blobs)
Azure Blob Storage is basically a 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. Azure Blob Storage can also be used for data or device backup.
Azure 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.
Azure File Storage (Azure Files)
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 (Azure Queues)
The Azure 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.
Azure Table Storage (Azure Tables)
Azure 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. Azure Table Storage is now part of Azure Cosmos DB.
Azure Disk Storage (Azure Disks)
Azure Disk Storage allows data to be persistently stored and accessed from an attached virtual hard disk. The available types of disks are ultra disks, premium solid-state drives (SSD), standard SSDs, and standard hard disk drives (HDD). Azure-managed disks are stored as page blobs, which are a random IO storage object in Azure.
Azure Storage Account Overview
An Azure Storage Account can be considered as a container that combines a set of Azure Storage services together. Integrating data services into a storage account allows you to manage them as a group. Azure Storage offers several types of storage accounts. Each type supports different features and has its own pricing model. Let’s take a look at each type of storage account you can choose.
Standard general-purpose v2
Supported storage services
Blob Storage (including Data Lake Storage), Queue Storage, Table Storage, and Azure Files.
Standard storage account type for blobs, file shares, queues, and tables. Recommended for most scenarios using Azure Storage.
Premium block blobs
Supported storage services
Blob Storage (including Data Lake Storage).
Premium storage account type for block blobs and append blobs. Recommended for scenarios with high transaction rates or that use smaller objects or require consistently low storage latency.
Premium file shares
Supported storage services
Azure File Storage.
Premium storage account type for file shares only. Recommended for enterprise or high-performance scale applications.
Premium page blobs
Supported storage services
Page blobs only.
Premium storage account type for page blobs only.
Learn about Azure Storage on Cloud Academy
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. As you move forward in your learning, we strongly recommend the course Introduction to Azure Storage.
If you’ve got something to add, please do add a comment below!