Azure provides various storage options for Block, Object & File storage. Azure Disks are Microsoft’s Block-level storage volumes for Azure VMs used for mission-critical instances. Azure Blob is Microsoft’s object store for text and binary data. Azure Files is their managed file sharing for cloud or on-premises deployments.
When it comes to Infrastructure-as-a-service (IaaS), organizations focus on setting up their Virtual Machines (VMs) in Azure. An Azure virtual machine is an on-demand, scalable computer resource, generally used to host applications when the customer requires more control over the computing environment.
But, when it comes to cloud cost optimization, optimizing your VMs does not necessarily translate to storage optimization.
Several myths similarly undervalue the importance of Azure storage, some that downplay their dependence on Azure Disks, while some that are borne purely out of lack of visibility.
Today, we would like to take a look at these inherent challenges and figure out a way forward to understand if your Azure Disk is optimized or not.
When choosing between AWS and Azure for your block storage needs, one primary differentiation is how both the cloud providers allow provisioning. With AWS, you have the ability to set any provision size starting 1GB to 10TB. And it allows an increment by 1GB.
However, the same changes for Azure cloud storage. They are only available as disk types with pre-set size options. Compared to AWS where you are priced per GB-of-use, Azure’s disk sizes go up in multiples of 2.
Azure Disk bills can constitute 10-20% of your Cloud costs.
This means you have lesser control over optimizing your storage. One of the bigger factors in over-provisioning is that this data is not easily available with Azure. So you might be provisioning a 400GB of storage, but that will be billed based on the next available type, i.e 512GB.
So the extra 112GB shows up later as unexpected costs and results in Azure disks fairing much worse when it comes to cost optimization.
Do you actively monitor your disk utilization? Because 9 /10 customers we spoke with don’t.
And the reason? - Azure doesn’t give these metrics out of the box.
More often than not, organizations assume they are properly utilized, only to fall short of their own expectations.
Now, there are two alternate ways to acquire disk utilization metrics: You either Individually log into each virtual machine & find the utilization numbers. As you may agree, this gets cumbersome if you have 100+ VMs.
9 / 10 Customers don't track their disk utilization.
The second alternative is to install a monitoring tool in all of your VMs like Datadog or Newrelic to pull the disk utilization numbers. Considering that these tools are costly, organizations end up installing them only on production workloads & not worry about the rest.
Based on a survey, the average disk utilization of firms is only 25%
So we decided to test this approach and ran a survey across 100+ organizations to see if they are properly utilized. The average disk utilization came out to be only 25%. This means that you are paying for 75% of the buffer every day, a buffer that you don’t use.
If you look at the graph closely, you will find that it’s not an exception but a norm. So it might be high time you go back and check if you are properly utilizing your cloud storage.
The introduction of Kubernetes helped change the cloud infrastructure landscape. It became one of the most efficient ways available to developers, to enable virtualization ensuring the use of all available resources, as well as minimizing the overhead.
On top of that, the in-built orchestration features like auto-scaling and logical volume management meant that organizations were spending less time on capacity planning and management.
However, in all this, we all skip the thought, that in the end, even managed services like AKS run VMs with disks attached to them.
In other words, all the technical and logical challenges being faced when provisioning an Azure disk storage, like downtime during scaling and required buffer time, still persist.
Azure Blob or Azure’s simple storage services is a type of object-level data storage meant to store unstructured data.
Considering their use for latency-insensitive data like big data, it usually gives the impression that it is more used just by the sheer volume it stores. However, Azure Blob is 4x cheaper than Azure Disks. So it also means that if you store 1 TB of data in Blobs, it will take only 250 GB of disk storage to match the spends.
So the question to ponder is are you sure that your root volume, your self-hosted databases, and application logs are not accounting for data volumes that match your object storage spends?
Regardless of the fact that you might be recreating your VMs every week, effective storage provisioning of your disks can significantly reduce your cloud bills. In Azure, resizing disks is not possible for stateful workloads. So whenever you create a virtual machine, this becomes a major constraint and you end up over-provisioning. Although the instances are/can be recreated, the configuration used to create them is static.
As a result, the provision is kept in mind for the peak workload for the week, but the utilization would instead occupy an average figure seldom touching the peak.
Click here to know more.