In Public Cloud, consuming resources is typically portrayed like you rent an item in a store. Once you don’t need it anymore you shut it down or even delete it altogether.
In some use cases, where you know that a resource will be used consistently for a longer period of time wouldn’t it make sense to get a discount from the cloud provider? Helo: Azure Reserved Instances!
A reservation can be made not only for a virtual machine but also for different Azure Databases, Storage, and more. Make sure to verify what is included in the reservation and what is not. The reservations can be paid upfront or monthly with no difference in price.
Once bought the reservation discount is applied to the resources in the applicable scope.
During the purchase process, the reservation can be applied using a “shared” (across multiple eligible subscriptions), “single subscription”, and “single resource group” scope.
The scope can be updated at any time. Microsoft partners can use this with a CSP subscription.
In the Azure Portal search and select the reservation service. An overview is presented of the current current reservations and you can add new one if you have the necessary permissions.
Choose the resource type you want to make a reservation for and proceed to select the billing subscription, scope, size, region, term billing frequency.
Notice that you receive recommendations from Azure on the number and size of VMs that could help you reduce your cost based on the previous 30 day usage (7 or 60 days can also be selected.
Additional more in-depth recommendations can obtained via the Cost Management Power BI App, Azure Advisor and a REST APIs.
This is all well and good but what if? Microsoft built in a lot of flexibility into the Azure Reserved Instances. The following changes can be applied:
- Update reservation scope
- Instance size flexibility (if applicable)
- Split or merge reservations
Instance size flexibility for VMs is very interesting. If you buy for example a very common Standard_DS4_v2 instance type which contains 8 CPU core’s. That is the ratio you can take and get the reservation applied when you run 8x Standard_DS1_v2 or combine 2x Standard_DS2_v2 and 1x Standard_DS3_v2 or half of the compute cost for a Standard_DS5_v2. You do need to stay within the same instance type.
If that is not enough it is always possible to exchange or cancel your reservation.
Exchange and cancelation
There are limitations when exchanging or canceling a reservation but it is certainly possible.
In general, an exchange is possible for the same type of resource (e.g. exchange a VM reservation for an other VM reservation but not for a SQL reservation), the lifetime commitment needs to be equal or greater than the returned reservation’s remaining commitment.
Refunds are currently not charged but a 12% early termination fee might be applied in the future. As a general rule you can refund up to 50.000 USD in a 12-month rolling window.
Azure Reservation can help in lowing cost (up to 72%) for resources that are used consistently within your Azure environment. It does require some research to retrieve the patterns for your Azure environment but it has enough built in flexibility to adapt to your needs in case they change!