Azure Storage Services:Overview (Part 1)

 

Series 

This article is a part of a series. Check the second part in this serie here: Azure Storage: Overview Of The Azure Storage Services (Part 2).

 

Introduction

In these post series, we will talk for one of the most used services on Azure, the Storage Services. Throughout this post, we will learn what a Storage Account is, its architecture, the Azure Storage Services, what are the limitations for this service.

 

Azure Storage Account

The storage account MUST be a globally unique name because this account is accessed from the internet and we can access the data by using public HTTP URL. Under the storage account we can select to use among four services, these are Blob, Files, Tables, and Queues, and for these services, there are three different types of storage accounts we can choose, Blobs, General-Purpose v1, General-Purpose v2.

Architecture 

We can access and use the Azure storage services via the Azure Portal or using Microsoft/3rd party tools. But, what happens behind the scene?

As the image below shows there are four layers before the final service.

Notice: Any data object like Blob, Table, Files, Queues is organized in a partition and every partition has a partitioning key. 

The partition key for every object is:

  • Blobs – ContainerName + BlobName
  • Entities – TableName + PartitionKey
  • Messages - QueueName

Layers 

  1. Distributed Replication (Partition) Layer: Data replicated across the facility or other facilities in other regions.
  2. ScaleOut And Auto Load Balancing Index (DFS) Layer: This layer offers auto load balancing for the partitions across the servers.
  3. Disk & Blob, Table, Files, Queue (Front End) Layer: This is the Top layer which receives the requests from every service and routes them to the partitions.

Back to top

Performance 

There are two tiers for storage performance, Standard and Premium.

Standard

This is the most known and usable storage tier for a storage account, where magnetic disks are used at the back end. The cost Per GB for this tier is very low.

Premium

This tier of disks can only be used with Virtual Machines Disks. Premium Disks are backed by SSD (Solid State Disks) and offer consistent and low latency performance. Of course, the cost is higher than a standard tier disk.

Standard SSD

Standard SSD disks were introduced to improve the performance of the Standard HDD disks for an affordable price. Standard SSD Disks can be used with all Azure VM SKUs. For more details on the scalability and performance of the Standard SSD Disks, click here.

Ultra SSD

Ultra SSD (Preview) disks are here to provide all the goodies we need from a storage which are high IOPS, high Throughput and Low latency. This offering is still in Preview and if we want to test it with our deployments, we should fill in a request access survey.

Back to top

Type Of Storage Accounts

Storage v2 (General purpose v2)

General purpose v2 support all the latest features. It supports Blobs, Tables, Files, Queues, and Disks. The general purpose v2 delivers the lowest Per GB prices and industry competitive transaction prices.

Storage (General purpose v1)

General purpose v1 is the standard storage account and provides access to Blobs, Tables, Files, Queues, and Disks. This kind of storage account may not have the latest features or the lowest cost per gigabyte.

Blob Storage

This kind of storage account is the best offer for solutions that need unstructured storing of data, as block blob. It supports block blobs, appends blobs but no page blobs.

Back to top

Blob Tiers

There are three available Blob Tiers.

Cool Tier

The Cool Tier is optimized for a large amount of data which are accessed infrequently. It's more cost effective than Hot Tier.

Hot Tier

The Hot Tier is optimized for frequent access, the cost is higher than the Cool Tier and when we create a new storage account this is the default value for this setting.

Archive Tier

The Archive Tier is the most cost-effective option for storing and access the data rarely. When accessing those data the cost is higher than Hot or Cool Tiers.

Back to top

Replication 

All data in Azure storage accounts are replicated to ensure high resiliency and availability. We can choose the replication technique that suites us, based on our needs and budget.

Locally redundant storage (LRS)

LRS provides high availability by keeping 3 copies of the data in separate nodes, inside a single data-center. LRS provides resiliency for node failures.

Zone-redundant storage (ZRS)

ZRS provides high availability by keeping 3 copies of the data, in separate zones inside a single region. ZRS provides resiliency in case of data-center failures.

Geo-redundant storage (GRS)

GRS provides high availability by keeping 6 copies of the data. 3 replicas are kept in the region where the storage account resides, and the other 3 are in a paired region. 

GRS provides resiliency even in case of a whole region outage.

Read-access geo-redundant storage (RA-GRS)

RA-GRS is similar with GRS in terms of resiliency, but offers read-access to the data in the paired region, so the data remain available even in case of a regional outage.

Back to top

Disks Type 

Unmanaged

Unmanaged disks are managed by Microsoft Cloud Services. In this case, we have a storage account and under this account one or more blobs (e.g vhd's).

For unmanaged disks there is a capacity limit of 500 TB per Storage Account.

Managed

Managed disks became known after the ARM was introduced. With managed disks, the disks management is more simplified than the unmanaged. Also, we can deploy cloud-scale VM scale sets more easily.

Limitations 

At the table below we can see the storage account limitations.

Resource  Default Limit 
Number of storage accounts per region, per subscription,  including both standard and premium accounts 200
Max Storage Account capacity 500TB 
Max number of blob containers, blobs, file shares, tables, queues, entities, of messages per storage account  No limit
Maximum request rate per storage account  20.000 requests per second
Max ingress per storage account (US Regions) 10 Gbps if RA-GRS/GRS enabled / 20 Gbps for LRS/ZRS 
Max egress per storage account (US Regions) 20 Gbps if RA-GRS/GRS enabled / 30 Gbps for LRS/ZRS 
Max ingress per storage account (Non-US regions) 5 Gbps if RA-GRS/GRS enabled / 10 Gbps for LRS/ZRS 
Max egress per storage account (Non-US regions) 10 Gbps if RA-GRS/GRS enabled / 15 Gbps for LRS/ZRS

 

Summary 

In Part 1 of the Storage Services overview, we read what a Storage Account is, about its architecture, the storage account types, performance, Disk types and the limitation of each. To complete the knowledge for Azure Storage Services, read the very interesting Part 2 from this link.

See Also 

 

Back to top