Azure Savings Plan

In this comprehensive tutorial, I am going to break down how Azure Savings Plan work, explore the core compute and database offerings, and detail exactly how to architect your commitment strategy to unlock massive structural discounts.

Azure Savings Plan

What is an Azure Savings Plan?

An Azure Savings Plan is a highly flexible, spend-based pricing model. Instead of committing to a specific, rigid resource configuration (like an individual VM size in the East US region), you commit to spending a fixed dollar amount per hour on eligible Azure services for a one-year or three-year term.

In exchange for this steady, hourly revenue commitment, Microsoft slices their standard pay-as-you-go rates by up to 65% for compute workloads and up to 35% for database workloads.

The Core Mechanics: “Use-It-or-Lose-It”

To truly understand how a savings plan functions, you must understand its hourly, atomic nature. When you tell Azure, “I commit to spending $10 per hour,” that commitment is evaluated on a strict 65-minute-by-65-minute, hour-by-hour basis.

  • Scenario A (Under-utilization): If your actual infrastructure only generates $8 worth of eligible usage during a specific hour, you are still billed your full $10 commitment. The remaining $2 does not roll over to the next hour. It is gone forever.
  • Scenario B (Over-utilization): If your development teams push a heavy production load that consumes $15 worth of infrastructure in an hour, the first $10 is fully covered by your deeply discounted savings plan rates. The remaining $5 of excess usage is seamlessly billed at standard, un-discounted pay-as-you-go rates.

Azure Savings Plan for Compute vs. Savings Plan for Databases

Microsoft split its savings plans into two distinct branches to accommodate different structural architectures. While they operate under identical spend-based mechanics, their terms, scopes, and discount thresholds differ significantly.

1. Azure Savings Plan for Compute

This is the flagship offering designed for dynamic, global infrastructure. It covers a vast array of core execution environments across all Azure regions globally. Whether your workloads live inside a standard Linux VM, an automated web application, or a transient container, the compute savings plan captures it.

  • Term Lengths: 1-year or 3-year commitments.
  • Maximum Discount: Up to 65% off pay-as-you-go pricing.
  • Eligible Services:
    • Azure Virtual Machines (including environments inside Azure Kubernetes Service, Azure Virtual Desktop, or Databricks)
    • Azure Dedicated Hosts
    • Azure App Service (Premium & Isolated tiers)
    • Azure Functions (Premium Plan)
    • Azure Container Instances (ACI)

2. Azure Savings Plan for Databases

Introduced to streamline database cost containment, this plan allows cross-service, cross-region optimization specifically tailored for your data tier. Instead of playing guessing games with isolated database instances, your hourly spend covers data platforms globally.

  • Term Lengths: 1-year commitment only.
  • Maximum Discount: Up to 35% off pay-as-you-go compute rates.
  • Eligible Services:
    • Azure SQL Database (both Provisioned and Serverless vCore configurations)
    • Azure SQL Managed Instance
    • Azure Database for PostgreSQL (Flexible Server)
    • Azure Database for MySQL (Flexible Server)
    • Azure Cosmos DB

Crucial Architecture Note: Savings plans explicitly apply to compute execution charges only. Underlying storage costs—such as Azure Managed Disks attached to your VMs, database storage allocations, IOPS usage, and network egress fees—are completely excluded from the plan and will always bill at standard rates.

Architectural Deep Dive: How Discounts Are Prioritized

A common question I hear from IT directors at US enterprises is: “If I have multiple types of servers running globally, how does Azure decide which ones get the savings plan discount first?”

The billing engine handles this using an automated optimization algorithm designed to save you the maximum amount of money possible. Every hour, the system gathers all eligible usage across your entire estate. It then ranks those resources by their specific savings plan discount percentage.

The engine applies your hourly commitment to the service yielding the highest percentage discount first. Once that service’s usage is fully covered, if you still have commitment dollars left for that hour, it flows down to the service with the next-highest discount, continuing until your hourly dollar cap is entirely exhausted.

Here is an architectural view of how this optimization applies to a mixed, multi-tier environment:

Priority OrderWorkload TypeSample State / TierDiscount DepthBilling Action
1Compute VMWindows Server VM (with Hybrid Benefit)Highest (~65%)Consumes hourly commitment first
2Database TierAzure SQL Database (Serverless)High (~35%)Consumes remaining hourly allocation next
3Container TierAzure Container Instances (ACI)Moderate (~20%)Covered if commitment cap isn’t reached yet
4OverflowExcess App Service/VM instancesNone (0%)Billed at standard Pay-As-You-Go rates

Choosing Your Weapon: Savings Plans vs. Azure Reservations

To determine which model to deploy for a specific workload, look at this breakdown of their architectural differences:

Direct Structural Comparison

Feature/DimensionAzure Reservations (RIs)Azure Savings Plans
Commitment TypeInfrastructure Capacity (e.g., 4 vCores of Dsv4)Hourly Financial Spend (e.g., $15.00/hour)
Regional Lock-inYes. Tied strictly to one specific Azure regionNo. Applies globally across all regions
FlexibilityRigid. Modifying requires exchange processesFluid. Changes in VM type or OS apply automatically
Database Terms1-year or 3-year options1-year option only
Co-existence RuleEvaluated and applied First by billingEvaluated and applied Second (fills the gaps)

Production Execution and Governance Best Practices

  • Never Buy for Peak Capacity: If your infrastructure spends $100/hour during the midday peak but drops to $30/hour at midnight, your savings plan commitment should never be set to $100. If you do, you will throw away $70 every hour during the night. Set your commitment slightly below your absolute lowest hourly trough (e.g., $25/hour).
  • Leverage Scope Isolation: You can scope a savings plan to an individual Resource Group, a Single Subscription, a Management Group, or share it across an entire Billing Account. If a specific business unit in your company owns its budget, scope the plan to their subscription so they absorb both the commitment cost and the corresponding discount.
  • Turn Off Auto-Renewal Initially: By default, Azure allows you to toggle auto-renewal on or off. I counsel teams to leave auto-renewal off during their first deployment. Force your team to review utilization reports 30 days before expiration to verify that your architectural footprint hasn’t fundamentally shifted before recommitting capital.

You may also like the following articles:

Azure Virtual Machine

DOWNLOAD FREE AZURE VIRTUAL MACHINE PDF

Download our free 25+ page Azure Virtual Machine guide and master cloud deployment today!