Up until fairly recently, Azure VM pricing has relied on an hourly billing model, based on the “size” of VM you are looking to run. Within this cost, you have both the Infrastructure and Licensing costs combined – so for example an Ubuntu machine will be charged at simply the price of the bare VM (due to lack of required license), whereas a Windows VM will consist of both an Infrastructure and License cost (rolled up into a single charge per hour).
This model recently changed however, with the introduction of Reserved instances. Reserved Instances (RIs) allow you to commit to running infrastructure within Azure for either 1 year or 3 years, with possible discounts of up to 72% for a VM as opposed to running on basic monthly billing.
Azure RIs are purchased for a particular VM type, for example a D2 or E4. This RI is then applied at the enrollment or subscription level, meaning they can apply to any VM of that series that you operate (enrollment level) or to a particular department or region (subscription level, depending on how regions/departments are assigned subscriptions within your organization). Once applied, the RI will provide a discount for the Infrastructure cost of that particular VM type.
For example, if we looked at a subscription containing 2 F2 machines, with one F2 RI purchased, on an hourly basis one of these machines would be covered under the RI. If however one of the machines was powered off, the RI is not bound to a particular VM, and as such the other machine is covered. Additionally, VMs can be run partially throughout that hour: for example, if both machines were run for 30 mins of that hour, totaling 1 hour of operation, this would be covered under the RI.
Whilst a 1 or 3-year commitment may seem quite bold for customers starting to consider cloud offerings, Azure does offer the ability to cancel the commit, with a charge of 12% on the remaining usage. Additionally, RIs can be moved between VM types should strategies or workloads change. For example, an RI based on the F2 VM type could be exchanged for an RI on F4 VMs, with the cost of the new RI offset by the currently owned one.
When looking to use RIs within Azure, it is important to consider how best to deploy your infrastructure in order to maximize their benefit. For example, scoping the Ri to a specific subscription may mean that the RI is not completely utilized, whilst VMs in other subscriptions may require it. Below are some simple steps to take to ensure maximum value from purchased RIs:
- Monitor RIs for effective utilization: if RIs have been purchased for a specific VM type, ensure that this VM type continues to be selected for future workloads, or transfer these RIs to another VM type
- Ensure RIs are distributed efficiently: if RIs are scoped to a particular subscription, ensure RIs are not being underutilized. If possible, distribute unused ones to other subscriptions to maximize benefits
- Standardize on particular VM types: If the intention is to use RIs for particular long term applications, or infrastructure that is integral to your Azure footprint, ensure to use a standardized set of VM types so that the RI benefit applies across all of these machines, as opposed to a small subset on a specific VM type
Azure RIs can offer significant savings on infrastructure costs, with a good degree of flexibility on how they are allocated. Care must be taken however to ensure that their utilization is monitored, and enterprise strategy caters for their allocation to specific VM types within Azure.