What is an Azure storage location?

When you create a storage account in Microsoft Azure, you need to pick an Azure location for it to live in.
Once the deployment starts, your account will be created in a storage location within the Azure location.

A storage location is a cluster of storage servers within the chosen Azure region or location.

Sounds good. So how do I know where my storage account is?

The easiest way to find out is to do an nslookup on the blob, file, table, or queue URI of an existing account. (see screenshot)

Performing a storage location look up
Performing a storage location look up

Why is this information useful?

If you are aiming to make a system as highly available as possible, it is important that resiliency is built into your design.
By placing accounts in different storage locations within a region, you can ensure that your services continue to run during an outage or performance problem on a specific cluster.

What determines the storage location that I get?

There are a number of things that influence it, but the naming convention of the storage account can influence the cluster placement. If one of your storage accounts starts with a similar prefix as another storage account, then these are more likely to be placed on the same cluster. If you are attempting to receive a certain cluster, you currently need to attempt the creation of an account several times, until the correct cluster is hit.

Note that there are several reasons why Azure might not place an account in a certain location.

So should I do this for every virtual machine?

Yes, the recommendation is to have one account per machine.

If you hit your account limit, you can place disks for more than one VM in a storage account. These should however be VMs that have different functions. (for example: domain controller and web server; rather than two web servers)