CloudBudgetMasterCloudBudgetMaster

← All articles

Azure

Azure Reserved VM Instances & Hybrid Benefit: A Savings Playbook

June 15, 2026·4 min read·CloudBudgetMaster

Understand Azure Reserved VM Instances

Azure Reserved VM Instances (RIs) let you pre‑pay for a VM family, region, and term (1‑ or 3‑year) in exchange for a discount of up to 72% compared with pay‑as‑you‑go pricing. The reservation is scope‑bound: - Single subscription – applies only to resources in that subscription. - Shared (tenant‑wide) – applies across all subscriptions in the same Azure AD tenant.

Key points before you buy: - Instance size flexibility – within the same VM family (e.g., Dsv3) you can apply the reservation to any size, and Azure will automatically allocate the discount to the highest‑priced matching VM. - Regional vs Zonal – a regional RI covers any zone in the region; a zonal RI is tied to a specific availability zone and offers a slightly higher discount. - Exchange & refund – you can exchange a reservation for a different size, family, or term, or receive a partial refund within the first 30 days.

Leverage Azure Hybrid Benefit

The Azure Hybrid Benefit (AHB) lets you reuse existing Windows Server or SQL Server licenses with Software Assurance (or qualifying subscription licenses) to pay only for the underlying compute. When combined with an RI, the discount stacks: - Windows VMs – you pay the Reserved Instance price minus the on‑prem license cost, often resulting in >80% total savings. - SQL Server on Azure VMs – same stacking applies, but you must enable AHB at the VM level.

When AHB makes sense

Calculate Expected Savings Before Purchase

  1. Inventory current VMs bash az vm list --show-details --query "[?powerState=='VM running'].{Name:name, Size:hardwareProfile.vmSize, Region:location, OS:storageProfile.osDisk.osType}" -o table
  2. Export pricing – use the Azure Retail Prices API: bash curl -s "https://prices.azure.com/api/retail/prices?currencyCode=USD&serviceName=Virtual Machines" | jq '.Items[] | select(.armRegionName=="eastus" and .skuName=="Standard_D2s_v3" and .productName=="Virtual Machines Dsv3 Series")' > pricing.json
  3. Compute on‑demand cost (e.g., 730 hrs/month): python import json, math data=json.load(open('pricing.json')) price=data[0]['retailPrice'] on_demand=price*730 print(f"On‑demand monthly: ${on_demand:.2f}")
  4. Apply RI discount – look up the reservation price in the same API (reservationTerm field) or in the Azure portal under Reservations > Price.
  5. Add Hybrid Benefit – subtract the per‑core Windows license cost (e.g., $0.02/hr for Windows Server with SA). The final monthly cost is: final = (ri_price/12) - (license_per_core * cores)
  6. Compare – if the final cost is < 70% of on‑demand, the purchase is justified.

Purchase and Manage Reservations

Via Azure Portal

  1. Navigate to Cost Management > Reservations.
  2. Click AddReserve.
  3. Choose Virtual Machines, select Region, Instance family, Term, and Scope (shared or single subscription).
  4. Tick Apply Azure Hybrid Benefit if you have eligible licenses.
  5. Review the price, then Purchase.

Via Azure CLI

# Example: 3‑year reservation for Standard_D2s_v3 in East US, shared scope
az reservation order purchase \
  --reserved-resource-type VirtualMachines \
  --sku Standard_D2s_v3 \
  --term P3Y \
  --location eastus \
  --applied-scope-type Shared \
  --billing-plan Upfront \
  --quantity 1

Enable Hybrid Benefit on an existing VM

az vm update \
  --resource-group MyRG \
  --name MyWinVM \
  --license-type WindowsServer

The --license-type flag tells Azure to apply the on‑prem license you already own.

Ongoing Optimization: Exchange, Refund, and Scope Adjustments

Automate Detection with CloudBudgetMaster

CloudBudgetMaster continuously scans your Azure subscriptions, matches running VMs against active Reserved Instances and Hybrid Benefit eligibility, and surfaces the exact dollar impact of each optimization opportunity—so you can act on savings before the next billing cycle.

Stop guessing where your cloud money goes

CloudBudgetMaster scans AWS, GCP & Azure and finds idle, unused, and overspending resources automatically.

Try Free — No Credit Card