Microosft recently released Reserved Instances back to Microsoft Azure (Yes it was the before, but was pulled and is now back) which can provide a huge discount on running virtual machines in Azure which are static in nature. With Reserved instances you commit for a certain amount of compute capacity either 1 year or 3 year upfront. So how much is the difference on a single virtual machine? A single virtual machine running D4 v3 in West Europe without any discount will cost about $175 a month.
A price example from the MIcrosoft Azure price calculator, does not reflect EA prices.
Using 3 year reserved it will only cost 76$ (almost 56% discount) if with Windows is will cost 211$ discount (meaning only 32% lower cost) which shows that we get some discount of Windows as well but if we run with Hybrid Use Benefit it will cost the same 76$. So if we are running static workloads in Azure, meaning virtual machines that are running 24/7 and not being powered on/off it sounds like a best pratice to enable RI for those instances. This feature should not be enabled for virtual machines that are powered off during the night because with RI you will need to pay for the virtual machine regardless if it is running or not. This does give you some predictability when it comes to compute cost, but it does not apply to other services such as storage / bandwidth and such. However there are some limitations to RI as it is now.
* It is only available for Pay-as-you-go and EA agreements (no CSP and Open support, CSP coming Q1 2018)
* RI only apply to VMs, VM Scale Sets, and other services that spin up VMs in a customer subscription, such as Azure Batch in customer subscription mode
* Azure RIs are available for all VM families other than A-series, A_v2 series, or G-series (and also VM-series in Preview such as B-series)
* Enterprise Agreement (EA) customers, Azure Monetary Commitment can be used to purchase Azure Reserved VM Instances. In scenarios where EA customers have used all of their monetary commitment, RI’s can still be purchased, and those purchases will be invoiced on their next overage bill. For customers using pay-as-you-go Azure.com, at the time of purchase, the credit card on file will be charged for the full upfront payment of the Azure Reserved Instances.
* RI are scoped to a Azure region and instnace type (No option to choose amount of vCPU and RAM, but you need to choose instance type such as D2_v2)
You can enable reserved instances by going into the Microsoft Azure portal and going into the reserved instances panel in the portal, and from there selecting the amount of instances and size type and choosing accept.
It is a shame however that Microsoft still needs to have RI tied to a select set of virtual machines. GCP for instance allows us to apply commited discount use to the aggregate number of vCPUs or memory within a region so no need to define an amount of instances. This also allows us to be more flexible when it comes to the amount of virtual machines we need to use for static workloads as well. Also GCP allows us to still continue to use the pay-as-you-go model, since the Committed use discounts are applied to our bill every month.