Storage is the foundation of many Microsoft Azure services; you can use it to store performance information, gather website logs, store virtual machines and much more. Storage has never been simple and that’s how an Azure novice might feel when you check out their deployment options. I will explain those options in this article so you will know what you need to price when deploying storage in Azure for infrastructure-as-a-service (IaaS).
Azure storage is actually much simpler than on-premises storage, and that simplicity is what causes a lot of the confusion for IT pros. When you deploy storage on-premises you:
You’ll use that mount point or driver letter to store shared folders, place website files, or locate virtual machine files.
We worth with something called a storage account in Azure. This is a much simpler device that is stored in Azure’s cloud-scale software-defined storage. The process is:
You then use the storage account based on the name or URL for the other Azure services that you deploy. Note that I didn’t mention drive letters or sizes. A storage account is elastic; it can grow up to 500 TB and you are billed based on your storage use (capacity and transactions).
Most of the time people will deploy standard storage. This is shared HDD based storage in the Azure fabric. Another form of shared storage is Premium Storage. This is shared SSD capacity that offers greater IOPS and throughput with lower latency, but at a higher cost. Premium Storage has a different design and deployment system that is intended for Azure virtual machines with very high performance requirements. I will focus the rest of this article on Standard Storage.
There are four Azure storage services; these are ways that you can use a storage account and each one has a different billing rate:
When you create a storage account, you provide it with a unique name. This name is appended with a URL for each of the above possible services. You then use that URL to access the associate service. The below image shows the Microsoft-generated URLs for a storage account called demopetri.
You should always locate your Azure storage in the same region as the service(s) that you want to deploy. For example, it makes no sense to create storage in South Central US and then try to deploy virtual machines in North Europe; the latency would be too high!
Note that the desired location and fault tolerance of your Azure storage does have an effect on peak storage performance.
Azure always stores multiple a minimum of three copies of your storage account. You can choose how and where the copies are stored by selecting a redundancy option.
You can convert storage accounts between different redundancy levels. However, you cannot convert to/from ZRS to any other redundancy level.
Say you want to deploy virtual machines with data storage disks. You’re going to be using Page Blobs and Disks. You cannot use ZRS and RA-GRS makes no sense. So you’ll either use LRS (maybe providing DR by deploying duplicate VMs in another region) or use ZRS to asynchronously replicate the VM files to another region.