How To Select the Correct Azure Storage Service for Your Operation
Selecting an Azure Storage Service doesn’t have to be difficult, yet you can take some steps to make sure you make good decisions. In this blog post, Microsoft MVP Rick Vanover provides some of his perspectives and tips to allow you to make the right choices upfront.
What are Azure Storage Services?
Before we go and create a storage resource in Azure, it would be a good time to overview that there are six main types of storage offered in Azure that each have their own use case. For example, what you would use Disk Storage for is different than what you may use Azure NetApp Files for and those are completely different than what you would use Azure blobs and queues for. I spend most of my time using blob and disks, as that is specific to my use cases; I recommend taking a look at this Azure doc about core Azure Storage services to dive deeper.
Main Types of Azure Storage
The core services that are, in my opinion, the heart of the Azure storage offering are Blobs, Disks, Files, Queues, and Tables. That’s the order I use them but everyone may be different. Some may only use one service and not the others.
When you go to create something new in Azure, there should be a disciplined list of considerations so that you do it efficiently and in an organized fashion. I try to do this in my test and development activity as well as what I do for production use cases. My logic is a sloppy lab and test behavior leads to sloppy production implementations, so be as organized as you can everywhere. In this blog post, I’ll give you some clarity to some of the questions you are asked when you create a storage account and other options like shown below:
Options to Create Azure Storage Resources
The first option I recommend when selecting an Azure storage service is to work through this progression of the existing organizational constructs in Azure for the top three parts of an Azure Storage instance: Subscription, Resource and Storage Account. Here are some points for each:
- Subscription: Ask yourself what subscription should this Azure Storage belong to? Is it suitable for a new one or an existing one? Pro Tip: Have multiple subscriptions for hard-separated use cases (like test and production as well as different people in your organization).
- Resource Group: Ask yourself what resource group this Azure Storage should be placed in. If it is part of a collection of applications for a similar purpose, that’s a good sign. If it is something totally different, consider a new one. This is especially important if the storage account is part of other existing resources (such as Azure VMs and their associated disks). Pro Tip: Select a name for your resource group that is completely self-describing and consistent with your other resource groups.
- Storage Account: Much like the previous two questions, does this new storage resource best reside in an existing storage account or a new one? Depending on what you are doing, some configurations may make it harder to interconnect with other services you implement later. Pro Tip: If you do make a new storage account, you can optionally create a new resource group with it.
After the “Top 3” are determined, you can get into some other points that can make sense for your specific storage resource creation. Here are some tips for the basics part of the storage account creation. Keep in mind that the storage account serves as a “parent object” for many individual services inside. Meaning, if you have files and blobs, their characteristics would be very much predicated by the properties of the storage account.
Azure Storage Account Details
There are a number of areas where you have to provide selections, entries and such to create an Azure storage instance and they are important options. Here are some points of advice for each:
- Storage Account Name: This has to be unique in all of Azure. So long gone are “azuretest” and others, but give some thought to a nomenclature that makes sense to you. Much like what you may have done with your servers and on-prem resources.
- Location: This is important! A storage account can span regions, but this makes some service delivery complicated. Some services may want multiple region implemented by design, but give explicit thought to that versus this service and others you plan to use.
- Performance and Replication: These options will assign (along with location) the pricing characteristics of what you deploy I always recommend every time you provision a new storage account to revisit the Azure pricing. I think everyone has had the surprise cloud bill, but be careful as some Storage services can be 2x more expensive in other regions for the same service! Also keep in mind that not all services are available in all regions, I recommend checking the service map.
- Storage Account Kind: The default will be StorageV2 and I only recommend creating general purpose v1 if you have a specific use case. Anyways I’m sure there will be a V3 so you want upgrades to be seamless!
Now, these are the minimum sets of questions you can process, but you may also want to give thoughts about networking, data protection, tags and more.
This is a good start (and I have more content coming!) on some practical tips on how to select an Azure storage service. Do you have tips on creating an Azure storage service? Share them below!