Microsoft Azure High-Performance Storage for Virtual Machines

Microsoft Azure Storage

Microsoft Azure Storage provides a scalable, load balanced, replicated data store that is used to support the storage requirements of Azure cloud services such as virtual machines (VM), websites, and applications. There are currently two levels of Azure Storage: Standard and Premium. Azure Standard Storage can be used to create a data store across all the service types available in Azure. Currently, Azure Premium Storage only provides data storage for Azure Virtual Machines.

Azure Standard Storage

Azure Standard Storage stores data on hard disk drives (HDD) and supports four data storage types that include:

  • Blob storage – Supports unstructured data such as text or binary data through block blobs (up to 200 GB in size optimized for streaming and storing cloud objects) and page blobs (up to 1 TB in size optimized for random writes)
  • Table storage – Supports structured data storage in the form of a key-attribute store such that every value in a table is stored with a typed property name
  • Queue storage – Supports asynchronous messages (up to 64 KB in size) for workflow applications and between cloud service components
  • File storage – Supports storage through SMB 2.1 file shares

In order to use Microsoft Azure Standard Storage, you need to create a storage account under an Azure subscription. With Standard Storage, you get up to 500 TB of data storage for any combination of the four supported data types, and a maximum 500 Input/Output Operations per Second (IOPS) per disk. In Figure 1, you can see the Standard Storage redundancy options that are available to use with Azure Services. Each of these provides a different replication pattern that can span local, regional, or multi-regional facilities. The selection that you make should be based primarily on the data redundancy and reliability requirements for your service, as well as the anticipated budget limitations of your project.

Image
Figure 1: Storage Options during Standard Storage Account Creation

You can see from Figure 1 that as the number and location of replication copies of the data increase, so does cost. With the Locally Redundant Storage option (LRS), Azure Storage maintains three synchronous copies of data within a single facility in a single region with a 99.9% SLA on read/write. LRS protects data from local component failures, but not failure of the primary facility. Geographically Redundant Storage (GRS) improves on LRS by maintaining 3 copies of data within the primary region, and 3 asynchronous copies in a secondary region. If data storage fails in the primary region, you can fail over and access the data stored in the secondary region. Another option is Read-Access Geographically Redudant Storage (RA-GRS) which is similar to GRS except with read access to data in the secondary region during a primary region outage. With Zone Redundant Storage (ZRS), Azure Standard Storage maintains three copies of data across two to three facilities within a single region or across two regions. ZRS provides a higher level storage service, but does not support page blobs used for persistent storage of VHDs.

Azure Premium Storage

In order to achieve a higher level of disk performance, Azure Premium Storage stores data on Solid State Drives (SSD). At the time of writing this article (April 2015), Azure Premium Storage is in the public preview phase which means that it is not yet available in all Azure regions, and that it does not support all Azure services. In this initial preview phase, Azure Premium Storage is available only in the West US, East US 2, and West Europe regions. In addition, it currently only supports page blobs to store virtual machine data in VHDs. A page blob is a collection of 512-byte data pages that are optimized for random read and write operations, and ideal for VHD storage.

In order to use Azure Premium Storage, you must sign up for access to the public preview as shown in Figure 2.

Image
Figure 2: Azure Premium Storage Public Preview Request

Once you are granted access, you create a Premium Storage account to select and provision disks for a VM. You can create and attach multiple disks to a single VM, selecting from three different Premium Storage disk types that include:

  • P10 –128 GB in size, support for 500 IOPS (per disk), and offer a throughput of 100 MB/sec (per disk)
  • P20 – 512 GB in size, support for 2300 IOPS (per disk), and offer a throughput of 150 MB/sec (per disk)
  • P30 – 1 TB in size, support for 5000 IOPS (per disk), and offer a throughput of 200 MB/sec (per disk)

Using a single Azure Premium Storage account, you can configure a VM with up to 32 TB of storage supporting 50K IOPS and low latency for read operations. Azure will round up your disk specifications to the closest matching disk size. For example, if you specify a 256 GB disk, Azure will match this to a P20 disk with its associated performance levels. Using Azure Premium Storage also requires that you use a DS series VM which are configured to run workloads that require high-performance, and low-latency I/O. As part of their base configuration, these high-performance VMs include a local SSD disk with 25 percent of the space used for temporary storage and 75 percent used as a data cache for persistent disks attached to the VMs. The local SSD size varies for the DS VMs as shown in Table 1.

DS Series VM

Local SSD Disk (GB)

Standard_DS1

7

Standard_DS2

14

Standard_DS3

28

Standard_DS4

56

Standard_DS11

28

Standard_DS12

56

Standard_DS13

112

Standard_DS14

224

Table 1: DS VM Local SSD Disk Size

Data stored on a local SSD disk is not guaranteed to be persistent. In the case of a physical hardware failure, data on the local SSD disk may be lost, unlike operating system data or other attached data disks that represent persistent disks in Azure Storage.

DS Series VMs support the use of both Standard and Premium Storage disks, allowing you to select the mix of storage that best fits the VM workload requirements. Although not able to currently leverage the Premium Storage in its preview phase, Microsoft made available G Series VMs. G Series VM comes in 5 types (G1 to G5) that range from 2 to 32 CPU cores, with local SSD disks from 384 GB to 6,144 GB, and able to support between 4 to 64 1TB data disks. The G5 VM with 32 CPU cores configured with 64 TB is advertised to support up to 32,000 IOPS (64 disks x 500 IOPS per disk).

In terms of workload performance requirements, you can use storage from multiple Premium Storage accounts to achieve your scability targets. For example, if you need to provide 75 TB of storage (the limit for a single Premium Storage account) to an application, then you would need to distribute the storage across 3 Premium Storage accounts since each account has a 35 TB limit.

Currently, Premium Storage only supports LRS storage maintaining three synchronous copies of data in one single region. In order to provide additional redudancy, Microsoft recommends that you create a snapshot of each persistent disk, and copy the snapshots to a GRS or RA-GRS storage account.

Conclusion

With Azure Premium Storage, Microsoft wants to enable customers to migrate on premise workloads with large data sets (that require low-latency, high-performance storage) to Azure Virtual Machines. While Premium Storage is in the initial preview phase, you can only use it to store data for DS Series VMs. With the potential of combining Azure G Series VMs with Premium Storage when fully released, Microsoft is taking another step to compete and even surpass some of the top offerings of cloud vendors such as Amazon AWS.

Leave a Comment

Your email address will not be published.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top