Azure Storage offers several types of storage accounts. Each type supports different features and has its own pricing model. The most used types of storage account I see every day on cloud projects are the following:
- Standard general-purpose v2: standard storage account type for blobs, file shares, queues, and tables. Recommended for most scenarios using Azure Storage.
- Premium block blobs: premium storage account type for block blobs and append blobs. Recommended for scenarios with high transaction rates or that use smaller objects or require consistently low storage latency.
The Premium tier stores data on modern solid state drives (SSDs), while the Standard tier uses hard disk drives (HDDs).
Premium Blob Storage provides:
- Lower latency for accessing blobs and block blobs
- Consistent, guaranteed response times for both read and write operations
- Better performance for smaller blob sizes
The Premium storage is absolutely recommended for handling virtual machines storage and for workloads that need low latency and high I/O performance(for example transactional databases or big data systems). Standard storage is instead a great option in terms of costs and performances for less demanding workloads like traditional file storage.
In a Dynamics 365 Business Central project normally the Azure Blob Storage is used to handle files (upload and download of files). A question that often customers raise is the following: do I have benefits in terms of upload and download velocity of files (latency) if I use a Standard or a Premium storage?
In this case, what impact the most is not the storage itself but the network latency (latency from you and the Azure Storage location). Saying that, is it recommended to use a Premium storage to have better upload/download latency for files?
I’ve done a little experiment creating two storage accounts (Standard and Premium) in the same Azure Region (West Europe).
This is the Standard storage:
This is the Premium storage:
On each of these storage accounts I’ve created a Blob container for blobs, created with Anonymous access for simplicity of the test (add your user as a Storage Blob Data Owner if you want to upload the file).
Then I want to test the following scenarios:
- Downloading 100 files from each of the Blob storage accounts (Standard and Premium storage) measuring the latency.
- Uploading a file of 1 Mb for 100 times on each of the Blob storage accounts (Standard and Premium storage) measuring the latency.
To do that, I’ve used a Powershell script. This script does the download of a provided blob file url and the upload of a local file to the blob storage container for N times (100 in my test, but you can change the repetitions as you want). The script is available here if you want to play.
Results are the following.
Download of 100 files from the Standard storage account:
Download of 100 files from the Premium storage account:
Upload of 100 files to the Standard storage account:
Upload of 100 files to the Premium storage account:
These results show that Standard and Premium storage types have not a big impact on upload and download latency for files. If you want to use the storage as a backend for cloud systems, the two storage types makes the difference. But if your problem is only handling files from/to the ERP and you want to measure latency, the impact is quite the same (here network speed count the most).