If you are overspending on Microsoft Azure services, you only need to take four simple steps to reduce Azure bills. In this blog we explain why overspending occurs, the four steps to reduce Azure bills, and one final step you can take to ensure Azure bills remain under control.
Cloud waste is estimated to account for around 35% of Azure bills each year. Cost optimization is undoubtedly the best way to reduce Azure bills, but it’s also important to understand why overspending occurs in the cloud in order to keep Azure bills under control once cost optimization has been achieved.
Why do businesses overspend in the cloud?
One of the primary reasons businesses overspend in the cloud is because of the differences between operating on-premises versus in the cloud. For example, whereas in an on-premises environment, the majority of costs are “sunk costs” (i.e. you pay for your infrastructure whether you use it or not), the self-provisioning nature of cloud computing means there’s always likely to be ways to reduce Azure bills.
The “pay for what you use” myth is responsible for a lot of overspending in the cloud because it’s a concept that’s been widely used since the earliest days of cloud computing. Had cloud computing been marketed as “you only pay for what you provision”, rather than the misconception that once you finished using an asset you finished paying for it, businesses would’ve made sure assets were stopped or terminated once a project was completed.
Consequently, a mindset developed among some users that it’s okay to leave non-production VMs running, for unused assets to be left active, and to leave a little “wiggle room” when VMs are launched just in case extra capacity is required. Addressing these three issues are the first of our simple steps to reduce Azure bills.
Four simple steps to reduce Azure bills
In order to reduce your Azure bills, you need to have complete visibility over all the cloud services used by your business. Often there will be some level of Line of Business “Shadow IT”—cloud services not under the control of your central IT department—and you need to find out what services are being used by whom and why. This will enable you to identify if costs could be reduced and efficiency improved by integrating Shadow IT with authorized Azure services.
Once you have total visibility over your business’s cloud utilization, you can begin taking the steps that will enable you to reduce Azure bills. In the order the “mindset issues” were listed above, the first three steps you should take are to:
1. Schedule Start/Stop Times for Non-Production VMs
There are several ways you can do this. You could ask users to switch off assets manually, reassign developers to write scheduling scripts, or take advantage of scheduling software to apply start/stop times with the click of a mouse. Of the three options, scheduling software is the most reliable and cost-effective. Users can forget to switch off assets manually, while the writing and maintenance of scheduling scripts takes time .
Scheduling software varies in its capabilities, so be sure to use a cloud management platform such as CloudHealth that allows you to start and stop VMs on a schedule. Not every application needs to be running 24/7, especially those running in non-production environments. Start by identifying which workloads can be turned off on the weekday nights or weekends, then move to more dynamic schedules.
2. Identify and Terminate Unused Assets
Once you have total visibility of your assets, you’ll probably be surprised by just how many unused assets you have—and how much they’re costing your business. One of the biggest causes of overspending on Azure is premium disc storage. Microsoft attaches premium disc storage to all VMs by default whether premium storage is required or not. Then, when the VM is terminated, the disc storage attached to it doesn’t terminate automatically—you have to do it manually.
In addition to potentially thousands of “zombie” storage volumes, you’re likely to find obsolete snapshots, idle load balancers, unattached IP addresses, and unused SQL databases. The Azure console doesn’t make it easy to identify unused assets, whereas CloudHealth will flag them immediately. Later in this blog, we’ll discuss how you can configure CloudHealth to terminate zombie assets automatically so you don’t even have to look for them.
3. Rightsizing VMs
Rightsizing VMs is one of those projects many users approach with dread because of the potential scale of the task. There are a lot of over-provisioned VMs in Azure—not only due to users launching VMs with too much wiggle room or using a default template that has done the job before (and is size incorrectly for the new project), but because demand changes over time.
Again, CloudHealth can be used to simplify the task of rightsizing—simply by analyzing the utilization metrics of your assets and notifying you which assets are suitable for downgrading. CloudHealth will also flag any older generation VMs that should be upgraded to the latest generation.
4. Taking advantage of Azure reservations
Azure offers discounts for reserving capacity in advance and paying upfront for it. Depending on the type of asset and the length of the commitment , and whether you’re able to combine a reservation with the Azure Hybrid Benefit or a Microsoft Enterprise Agreement, you can save the following amounts compared with Azure’s pay-as-you-go pricing:
- Save up to 80% on Windows VMs
- Save up to 72% on Linux VMs
- Save up to 33% on SQL Databases, 55% with Hybrid Benefit
- Save up to 65% on Cosmos DB databases
Some businesses fail to take full advantage of these opportunities to reduce Azure bills because they believe they’re locked in for the length of the commitment and their circumstances may change during the specified term agreement. However, Microsoft has a scheme whereby, if you wish to withdraw from a prepaid commitment, you can cancel the agreement and Microsoft will refund unused credit less a small fee. Incidentally, CloudHealth has a capability that will alert you to opportunities to purchase Reserved VM Instances so you don’t have to spend hours studying a spreadsheet.
The final step to ensure Azure bills remain under control
The four steps to reduce Azure bills aren’t the start and finish of the cost optimization process. Cost optimization has to be ongoing, and in order to make this as easy as possible, it’s recommended to use CloudHealth’s automation capabilities to monitor your Azure environment and flag events that can help ensure Azure bills remain under control—or, in the case of identifying and terminating unused assets, do the job for you.
The automation process is really easy to implement—you simply create policies you want CloudHealth to monitor for, such as the minimum and maximum utilization of VMs, and when those policies are in danger of being breached, you receive a notification. In this way, automation is effectively hands-free management, and there are so many use cases it can be applied to— i.e. not just to reduce Azure bills, but also to enhance performance and security.