fabioberti.it - Fotolia
Azure Reserved Virtual Machine Instances can help enterprises reduce their cloud computing costs. In the past, however, they also required users to commit to a specific instance size and region upfront. This meant if an application ultimately required more or less compute capacity in a particular region, users were out of luck.
To address this limitation, Microsoft introduced what it calls size flexibility for Azure Reserved Instances (Azure RIs). This feature enables users to apply the reservation discount to different VM sizes within the same VM group.
To take advantage of this flexibility, though, users should first dig into the details -- and prepare to take on some additional management tasks.
Size flexibility in practice
Based on performance and other capabilities, Azure segments instances into categories that correspond to different hardware configurations. There are 30 different series of VM hardware, each with several sizes. Formerly, Azure Reserved Instances required users to specify the exact size they wanted within a series, as well as the region for deployment. To get the Reserved Instance discount -- which, according to Microsoft, can be up to 72% when compared to on-demand VM pricing -- they could only use that size in the chosen region.
Now, with size flexibility, if users buy a reservation for a VM size in the DSv2-series, such as the Standard_DS5_v2, the reservation discount can apply to the other four sizes in that same group: DS1_v2 through DS4_v2.
However, Azure Reserved Instances still require some planning, because the ability to apply discounts to different instance sizes depends on the size of the initial instance you reserve; the larger the instance, the more ways a user can divvy up the reservation. Think of it like reserving a ballroom with retractable walls that enable you to subdivide the space for smaller meetings; again, the larger the ballroom, the more ways you can carve it up to accommodate different sized groups.
Azure assigns a VM ratio to each instance in a series that defines the number of VMs the Azure Reserved Instances discount can accommodate. Microsoft quantifies each of the size ratios, but it's worth a quick example.
Let's say you have a composite application with several components that should run on separate servers. For maximal flexibility, you reserve the largest size of the Fsv2 series based on Xeon Skylake CPUs. A Standard_F72s_v2 has a sizing ratio of 36, which means you can subdivide a single reservation in many ways, such as:
In each case, the sum of the instance ratios adds up to 36, which is the capacity of the Standard_F72s_v2 reservation.
Size flexibility for Azure Reserved Instances also comes with some added management tasks. Admins, for example, will often need to:
- Change the scope of a reservation: A reservation can apply to either a single Azure subscription, or to all Azure subscriptions under your organization's billing umbrella -- a model called shared scope. Reservations constrained to a single subscription only apply to instances within that subscription, while the shared scope lets you apply the reservation to instances across multiple subscriptions.
- Split reservations: This process is similar to changing the scope of a reservation, except it applies to the instances within a reservation. For example, if you have 12 RIs under one subscription, admins can split them to assign six RIs to another subscription within the same organization.
- Adjust user accounts for reservation management: Any user within a subscription -- not just the account administrator or the person that purchased a reservation -- can manage the reservation. Admins can assign Reserved Instances management rights to any identity and access management account; however, these rights won't enable management of the subscription itself.
- Cancel or exchange reservations: Enterprises can cancel a reservation with a 12% penalty, with refunds capped at $50,000 per year. Alternatively, it's possible to exchange a reservation for another instance series of equal or greater value, which effectively creates a new reservation with a one- or three-year term.
- Change the optimization settings: Azure reservations come with a trade-off between either size flexibility and another feature called capacity priority, which prioritizes compute capacity for VM instances as admins launch them. Reservations with shared scope enable instance size flexibility by default and don't prioritize data center capacity for VM deployments.
Admins can handle all of these operations in the All services > Reservations section of the Azure portal.
Reserved Instances on competitive clouds
Size and regional flexibility for Azure Reserved Instances mirror similar AWS features. AWS' size flexibility feature lets users exchange larger Reserved Instances for multiple smaller ones, using a ratio that AWS calls a normalization factor. However, AWS size flexibility only applies to regional Reserved Instances. As in Azure, AWS regional Reserved Instances lets users apply the reservation to instances in any availability zone in a region and trade off a capacity reservation for the regional flexibility.
Google Cloud Platform has a similar feature called Committed Use Discounts, in which users buy a specific amount of vCPU and memory capacity for a one- or three-year term. Admins can divide that block of capacity between both predefined and custom instance types within a region, with the latter getting priority for the discount pool.
Unlike Azure, Google and AWS do not let users cancel any commitments.