Ankur Mandal

March 11, 2024

Azure Storage Cost Optimization Strategies


Ankur Mandal

Optimize your Azure storage without any trade-offs with performance and downtime.
March 11, 2024

As organizations increasingly rely on Azure for their storage needs, the associated expenses can quickly accumulate, impacting budgets significantly.

Strategic approaches to managing these costs are vital, leading to the need for Azure storage cost optimization strategies.

Optimizing storage costs within Azure isn't merely a financial consideration. It stands as a strategic imperative for organizations aiming to harness cloud storage benefits while maintaining financial prudence and operational efficiency.

Efficient resource utilization is key to avoiding unnecessary over-provisioning or incurring expenses on idle storage.

Implementation of optimization strategies empowers businesses to tailor their storage solutions to specific needs, yielding substantial cost reductions.

This blog will delve into various Azure storage types and the strategies available for optimizing Azure storage costs.

As the number of organizations relying on Azure cloud storage increases, so does the associated storage cost.

As per Virtana’s The State of Hybrid Cloud Storage report, 94% of the cloud decision-makers agreed that their storage cost is increasing, and a significant 54% said that their storage cost is growing relatively faster than the overall cloud bill.

To further understand the impact of storage on the overall cloud bill, we conducted a storage audit of leading organizations.

We discovered that their storage bill accounted for 40% of their overall cloud bill. Hence, while organizations primarily focus on compute resources, we must also implement strategies and invest in tools that optimize storage resource usage for cost-efficient Azure functioning.

Before diving deep into various Azure storage cost optimization strategies, we must understand the most commonly used storage types in Azure, their applications, and their importance. 

Introduction To Azure Cloud Storage

Azure Cloud Storage is a collection of cloud storage services offered by Microsoft Azure, an all-encompassing cloud computing platform. Azure presents a range of storage solutions that enable businesses and individuals to store and handle their data efficiently within the cloud. 

Azure Cloud Storage services provide a range of advantageous features, including redundancy, encryption, access control, and smooth integration with other Azure services. These storage services are purposefully built for scalability, durability, and exceptional availability.

While there are 4 types of storage in Azure, the two most commonly used are:

Disk: Azure Disk provides block-level storage primarily designed for virtual machines (VMs). It offers various types to cater to different workloads:

  • Premium Disk: Tailored for I/O-intensive workloads, Premium Disks deliver exceptional low-latency and high-throughput performance. These disks employ SSDs and suit applications requiring consistent and minimal latency data access. Examples include databases and transactional systems.
  • Standard Disk: Offering cost-effective storage, Standard Disks are well-suited for many workloads. While they may not reach the same performance levels as the Premium Disks, they provide dependable and consistent storage for applications with moderate I/O requirements.
  • Managed Disks: Simplifying disk management, Azure Managed Disks handle the complexities associated with storage accounts. They offer scalable, secure, and highly available disk storage for VMs.

In our study to find out the impact of storage on overall cloud bill, we also found that Managed Disk was responsible for 15% of the total cloud cost.

Moreover, over 65% of the disk in managed disk was overprovisioned, leading to only 35% disk utilization, and organizations were experiencing downtime despite overprovisioning.

Hence, considering their impact, we should focus on managed disks while developing strategies to optimize storage resources.

The Azure disk has the following applications:

  • Azure Disk is a frequent choice for the storage backend of VMs. It offers persistent storage for operating systems, applications, and data, ensuring consistency and reliability.
  • Premium Disks are extensively utilized for database storage, specifically when high I/O performance is crucial for efficient data retrieval and processing. The utilization of Premium Disks ensures optimal database performance.
  • Azure Disk proves advantageous for business-critical applications that necessitate uninterrupted and low-latency storage. These applications benefit from consistent and optimized storage performance by leveraging Azure Disk.

Blob: Azure Blob Storage is a cloud-based, highly scalable, and secure solution for object storage. This efficient storage system is specially designed to store and manage unstructured data, such as text and binary data. Following are the types of Blob Storage:

  • Block Blob: Block Blobs are enhanced explicitly for effectively handling the streaming and storage of significant volumes of unstructured data, such as documents, images, and videos.
  • Page Blobs: Page Blobs are mainly used for random read and write operations and are frequently used with virtual machine (VM) storage for operating systems and data disks.
  • Append Blobs: Append Blobs are intentionally designed for append operations, making them suitable for situations where additional data must be appended to an existing blob without altering the current data.

Blob Storage has the following applications:

  • Blob Storage is frequently utilized to back up and store data for extended periods, offering an economical and resilient solution.
  • The scalability provided by Blob Storage makes it a popular choice for storing and delivering media files like images, audio, and video.
  • Efficient delivery of static web content, such as images, stylesheets, and JavaScript files, is often accomplished by leveraging Blob Storage.

Azure Disk and Blob Storage are essential for constructing robust and scalable cloud solutions. Azure Disk is specifically designed to cater to the requirements of VM storage and demanding workloads, ensuring high performance. On the other hand, Blob storage efficiently manages unstructured data on a large scale.

Strategies To Optimize Your Azure Cloud Storage

Now that we know the basics of Azure storage let us dive into the different strategies we can implement to optimize Azure Cloud Storage.

Analyzing Usage And Identifying Cost Optimization Opportunities

Analyzing disk usage is essential in maximizing cost savings and improving efficiency within cloud environments, particularly when considering Azure. Gaining insights into utilizing storage resources aids in budget management and ensures the optimal allocation of resources.

Azure offers a range of native features that enable monitoring and tracking disk utilization, promoting effective cost management.

  • Azure Monitor: Azure Monitor is an all-inclusive platform designed to facilitate the monitoring, analysis, and visualization of diverse facets related to Azure resources, such as disk usage.
    By offering valuable insights into performance metrics, it empowers users to detect trends, anomalies, and potential optimization prospects effortlessly.
    With the aid of Azure Monitor, cloud service providers (CSPs) can acquire an up-to-the-minute comprehension of disk performance, usage patterns, and potential bottlenecks.
  • Azure Metrics: Azure Metrics, integrated into Azure Monitor, provides a comprehensive perspective on the performance metrics of Azure resources. It specifically renders insights on disk-related metrics, such as I/O operations, latency, and throughput.
    By meticulously examining these metrics, cloud service providers (CSPs) can easily detect disks that are being either underutilized or overutilized.
    This critical analysis allows them to make well-informed decisions regarding resource adjustments, ensuring optimal cost-effectiveness in their operations.
  • Azure Advisor: Azure Advisor provides suggestions for disk usage analysis, including recommendations for optimizing disk sizes, pinpointing dormant resources, or transitioning to storage alternatives that offer greater cost-effectiveness.

Using these monitoring tools would require expertise and investment of significant time in deployment. This can quickly escalate the cloud cost if not kept in check. This necessitates a tool that can automate the monitoring process.

Enter Lucidity!

Lucidity Storage Audit is a comprehensive, free-to-use, easily executable tool that automates monitoring and provides complete storage visibility with a button click. Our Storage Audit will help you analyze how you are spending, identify the areas of wastage, and capture the risk of downtime. 

Lucidity Storage Audit will provide you insights into:

  • Overall disk spending: We will provide you with the numbers on your spending, optimized bill, and how you can reduce disk spending by 70%.
  • Disk wastage: We will help you identify the root cause, which could be idle volume or overprovisioning. We will also offer you recommendations on how to eliminate them.
  • Disk downtime risk: We will help you prevent the possibility of any downtime, safeguarding you from reputational or financial damage.

Remove Idle/Unattached Unmanaged And Managed Disks

Unused or idle disks result in unnecessary expenditures that do not contribute to data storage or processing activities. Despite not adding value to the organization, these disks incur costs.

Unused unmanaged disks incur unnecessary storage costs as they are billed according to their allocated size. Moreover, when these disks remain unassociated with any virtual machine (VM), their existence serves no practical operational purpose.

Unlike unmanaged disks, unattached managed disks without association with any VM may lead to supplementary storage expenses. These disks are invoiced according to the allocated size, contributing to the total storage charges.

To find and delete unattached managed disks in Azure, follow the below steps:

  • To access the Azure portal, sign in first.
  • Proceed to search for Disks and click on it.
  • Upon reaching the Disks page, you will find a comprehensive list of all your disks. Identify and choose the disk you wish to delete, directing you to the disk's dedicated page.
  • Ensure that the disk state is unattached on this page, and finally, opt for the Delete option to complete the process.

Similarly, you can find and delete unattached unmanaged disks in Azure using the following steps:

  • To access the Azure portal, sign in with your credentials.
  • Navigate to the Disks (Classic) section by using the search function and selecting it from the search results.
  • Once in the Disks (Classic) section, you will see a comprehensive list of all your unmanaged disks. To identify unattached disks, check the "Attached to" column for any disk that contains a "-"
  • To delete an unattached disk, select the desired one from the list. This action will open the blade specifically dedicated to that individual disk.
  • Within the disk's blade, you can verify that the disk is indeed unattached.
  •  Finally, select the option to delete the disk.

Alternatively, a relatively simple process would be using Lucidity Storage Audit to identify any idle/unattached managed disk in Azure. Within 25 minutes of deployment, Lucidity Storage Audit will provide insights about idle resources- either due to resources attached to a paused VM or unattached resources.

Rightsize Resources

Rightsizing has become fundamental in cloud management, especially to prevent underutilized disk volume. Several factors contribute to underutilized disks, and understanding these is crucial to optimize storage usage. Some of them are mentioned below.

  • When setting up disks, there is a possibility of overestimating the storage requirements, leading to unnecessarily larger disk sizes than required.
  • Inadequate monitoring and reporting practices can make it challenging to detect underutilized disks, potentially impeding optimization efforts.
  • Assigning high-performance disks, such as Premium SSDs, to workloads that don't necessitate such performance levels can misallocate resources, leading to underutilized disks.
  • There might be delays in promptly identifying and removing unused or decommissioned resources, which can result in the persistence of underutilized disks.

An underutilized disk signals a lack of a dynamic scaling mechanism toward the changing workload environment.

When workloads encounter unpredictable surges in demand, the absence of flexible resource scaling may result in performance bottlenecks or, in severe instances, interruptions in service, leading to downtime.

Furthermore, Azure does not support shrinking disk volume due to the risk of data loss, although there is a workaround. You can follow the steps mentioned below:

Create a new disk

To add a new data disk in the Azure portal, you can follow these simple steps:

  • Navigate to the Azure portal and search for "Virtual machines." Choose this option from the search results.
  • From the list of virtual machines (VMs), choose the desired VM by selecting its Name value.
  • In the VM navigation pane, locate the "Settings" heading and click on "Disks."
  • Find the "Data disks" section on the VM disks page and select "Create and attach a new disk."
  • In the new data disk row, fill in or select values for the following columns:
  • LUN
  • Disk name
  • Storage type
  • Size (GB)
  • Max IOPS
  • Max throughput (MBps)
  • Encryption
  • Host caching
  • Once you have entered the required information, click "Save" in the menu of the VM disks page.
  • After completing these steps, the new disk will be created and automatically attached to the VM.

The next step is configuring the disk within the VM, which is different for Windows and Linux. You can check these steps here.

Move the file from the old data disk to the new data disk

  • Transfer the data from the old, larger disk to the new, smaller one. The duration of this task will vary depending on the amount of data that needs to be transferred.
  • After completing the transfer, verify the success of the data transfer. It is advised to double-check and ensure that all the data from the old disk has been successfully copied to the new disk.

Detach and delete the old disk

To remove the old disk, adhere to these instructions:

  • Open the Azure portal and locate the Virtual Machines section.
  • From the list of VMs, choose the Name value of the VM containing the old data disk.
  • In the VM navigation pane, find the Settings section and click on Disks.
  • On the VM disks page, under the Data disks section, click on the Detach icon (represented by an "X" symbol) at the end of the row displaying the old disk.
  • Select Save from the menu on the VM disks page. This action will successfully detach the old data disk from the VM.

To delete the disk, follow the instructions mentioned here.

However, manually shrinking disks in Azure can have several negative impacts. The disk shrinking process may necessitate a temporary offline status for the corresponding virtual machine (VM), leading to potential application downtime for those dependent on the VM.

Moreover, as you can see above, one must employ distinct commands and configurations to resize disks manually. Any mishap while executing the process, such as choosing an incorrect disk or entering inaccurate parameters, may result in unintended outcomes.

As mentioned above, one significant reason organizations have underutilized disk volume is that they overprovision resources. 

You must be wondering why they do so.

Efficiently optimizing storage demands often requires the creation of a tailored tool due to the limitations of features provided by Cloud Service Providers (CSPs).

However, developing a custom tool requires a significant increase in DevOps efforts and time investment. Conversely, solely relying on CSP-provided tools can lead to a cumbersome and manual process that is inefficient and consumes resources, making it impractical for daily operations.

Consequently, the compromise lies in over-provisioning to ensure uninterrupted application uptime, considering the significant impact such manual and resource-intensive practices can have on regular business operations.

The only reasonable solution here seems to be automated shrinkage, which is not yet available with any tool except Lucidity. Lucidity offers an industry-first autonomous storage orchestration solution that offers the block storage that your disk requires.

Sitting atop your block storage and cloud service provider, Lucidity Auto Scaler automatically shrinks and expands the storage resources without requiring any code change.

Lucidity Auto Scaler has been designed to offer the following benefits:

  • No downtime: Unlike manual provisioning, which is riddled with errors and subsequent downtime. Lucidity automates capacity management. This means the storage resource adjusts its capacity per the changing requirements.
    This leads to zero downtime as you scale seamlessly. Moreover, implementing Lucidity Auto Scaler is a quick and easy process, and it does not hamper the performance since the agent in Lucidity Auto Scaler only consumes 2% of the CPU or RAM usage. 
  • Automated expansion and shrinkage: With Lucidity, you can rest assured that you will never run out of space since it automatically expands and shrinks the storage resources with the fluctuating demand.
    Hence, regardless of a surge in requirement or a low activity period, you will always have the right amount of storage resources.
  • Up to 70% savings on storage cost: With Lucidity by your side, you will no longer be paying for idle or underutilized resources, saving up to 70% on the storage cost. The automated expansion and shrinkage will give you an impressively high disk utilization from 35% to 80%.

Utilize Reserved Capacity To Optimize Blob Storage Costs

Azure Blob Storage is designed to store and manage objects efficiently. It is essential to acknowledge that utilizing Azure Blob Storage can influence your Azure expenses, which depend on various factors.

  • The primary cost indicator for Azure Blob Storage is the volume of data stored. Azure computes charges based on the overall amount of data stored in your storage account, and the measurement is in gigabytes (GB) or terabytes (TB).
  • Employing Azure Blob Storage might lead to additional expenses related to data transfers. These costs apply to incoming and outgoing data transfers between Azure regions, storage accounts, and interactions between on-premises environments and Azure.

This is what makes optimizing Blob Storage cost important. You can optimize your Blob Storage cost with Azure Storage Reserved Capacity.

This feature offers a cost-effective solution by granting discounts on capacity for Block Blobs and Azure Data Lake Storage Gen2 data within standard storage accounts when you commit for one year or three years.

Committing to a reservation ensures a fixed amount of storage capacity throughout the reservation term, leading to potential savings on storage expenses.

Using Azure Storage Reserved Capacity significantly reduces Block Blobs and Azure Data Lake Storage Gen2 data costs.

The amount of savings depends on factors like reservation duration, capacity volume, and the chosen access tier and redundancy type for your storage account. It's important to note that reserved capacity offers billing discounts and does not affect the operational state of your Azure Storage resources.

Using Reserved Capacity For Azure Disk Storage

Utilizing Azure Disk Storage reservations in conjunction with Azure Reserved Virtual Machine Instances presents a robust strategy for cost reduction across virtual machines (VMs). This integration seamlessly extends reservation discounts to associated disks within the specified reservation scope.

What distinguishes this approach is its automated discount application, eliminating the need for individual assignment of managed disks for eligibility. This simplification streamlines the process, ensuring cost benefits without the complexities of manual assignments and optimizing overall expenses for Azure infrastructure.

Intelligent Tiering For Blob Storage

Azure Blob Storage offers three tiers designed to accommodate varying data access patterns and requirements. By efficiently distributing your data across suitable storage tiers determined by their usage patterns, you can enhance cost efficiency while maintaining vital performance standards.

  • Hot Tier: This tier is optimized for data needing frequent access with minimal latency. It's suitable for actively utilized data that requires immediate availability.
    Use the Hot Tier when rapid and regular access to data is essential.
    While slightly pricier, it ensures the continuous availability of crucial and frequently accessed information.
  • Cool Tier: The Cool Tier is perfect for data that is accessed infrequently. It offers an optimal combination of cost and access latency, making it a cost-effective solution for data that is not regularly accessed.
    Consider moving infrequently accessed data to the Cool Tier to take advantage of reduced storage expenses while still maintaining an acceptable level of access delay. This approach proves especially advantageous for inactive data but might be required sporadically.
  • Archive Tier: The Archive Tier is ideal for data that is seldom accessed, as it provides the most economical storage option. However, it entails supplementary charges for retrieval and exhibits higher latency. This makes it suitable for data that requires infrequent access and can accommodate longer retrieval durations.
    It is a cost-effective choice suitable for storing archival or compliance data in the long term, mainly when immediate access is not a primary consideration.

By strategically leveraging these tiers within a storage account, you can effectively manage costs by aligning storage options with the long-term usage characteristics of your data. This tiered approach optimizes cost efficiency while ensuring data remains accessible as needed.

Creating Lifecycle Policy

The lifecycle policies in Azure serve as automated tools for managing data from inception to disposal. These policies enable seamless data movement across storage tiers and initiate deletion when data is no longer needed.

For instance, a policy can be designed to automatically shift data from the hot to the cool storage tier after a designated period of inactivity. As data remains inactive for an extended duration, it can further transition to the archive tier, providing a cost-efficient storage solution.

This automated approach optimizes cost-effectiveness by dynamically placing data in the most suitable storage tier based on its usage patterns.

To illustrate this, here are steps to set up a lifecycle management policy for automatic transition from the hot to cool storage tier after a specified period of inactivity:

  • Log in to the Azure portal and locate your storage account.
  • Access the policy settings under the "Data management" section of the storage account page.
  • Select "Lifecycle Management" from the menu within the policy settings.
  • Navigate to the "List View" tab to view existing policies or add a new one by clicking "Add a rule."
  • Name the rule and define its scope, blob type, and subtype values.
  • Utilize the "Filter set" tab to further refine blob selection if needed.
  • Configure the conditions for applying the rule, such as transitioning blobs to cool storage if they remain unmodified for 90 days.
  • Choose between "Last modified" or "Last accessed" as the reference point for tracking time.
  • Optionally, incorporate additional criteria using the "Filter set" for more precise blob filtering.
  • Apply the settings by clicking "Add" to implement the new policy.

The Time for Azure Storage Cost Optimization is Now

Our blog delves into Azure Cloud storage complexities, particularly Premium Disks and Blob Storage. We emphasize optimizing Disk Storage performance through resource allocation evaluation and leveraging tools like Lucidity Auto Scaler.

We highlight Azure Storage Reserved Capacity's cost-saving potential and aligning Blob Storage tiers to usage patterns. Additionally, lifecycle policies' role in automating data management for efficient storage use is explored.

Adopting these strategies ensures a balanced approach to Azure Storage, optimizing performance, accessibility, and cost-effectiveness.

Facing rising storage costs or low utilization? Reach out to Lucidity for a demo on automating storage resource expansion and shrinkage, saving valuable time and resources.

You may also like!