Explanation
Why the waste happens and who it affects.
Those instances are billed at the hourly pay-as-you-go rate even though the baseline is predictable.
App Service has its own reservation type, bought per region and instance size, separate from virtual machine reservations. Teams that manage commitments only for VMs, or that sized plans once and never revisited coverage, leave these plans uncovered. Microsoft states that Premium v3 reservations can cut the monthly cost by as much as 55% per instance, and Azure Advisor raises a dedicated reservation recommendation for App Service. Plans still on Premium v2 are not eligible and must move to Premium v3 or later first.
Billing model
The pricing dimensions that drive this cost.
- Plan instance
- Each scaled-out instance is charged an hourly rate based on the plan's pricing tier, prorated to the second
- App Service reservation
- 1- or 3-year commitment for Premium plan (v3 and later) or Isolated plan (v2 and later) instances of a given size and region
- Use-it-or-lose-it
- The discount applies hourly to matching running instances; unused reserved hours are lost and you still pay for them
- Savings plan for compute
- Hourly spend commitment that also covers Azure App Service, with more flexibility and usually less discount than a reservation
How to detect
4 checks to find it in your estate.
- List App Service plans on Premium v3, Premium v4 and Isolated v2 SKUs and chart their instance count over the last 30 to 90 days; the lowest sustained count per region and size is the reservable baseline
- In Cost Management, filter to the App Service service and check the pricing model or benefit columns to see how much eligible usage is billed at pay-as-you-go rather than covered by a reservation or savings plan
- Review Azure Advisor for 'Consider App Service reserved instance to save over the on-demand costs' and the reservation purchase recommendations shown in the portal or benefit recommendation APIs
- Confirm that plans considered for reservation are not about to be resized, moved to another region or retired, since the reservation is tied to instance size and region
How to fix
5 ways to remove the waste.
- Purchase App Service reservations for the steady minimum instance count per region and instance size, choosing a 1- or 3-year term and a shared or management group scope so the discount can follow instances across subscriptions
- Choose Linux-specific reservations only for Linux-only estates; the Windows (platform agnostic) type can apply to Windows or Linux instances
- Leave autoscaled burst capacity above the baseline on pay-as-you-go, or cover it with a savings plan for compute if usage is spread across regions and services
- Migrate eligible workloads from Premium v2 to Premium v3 or later before buying, since Premium v2 is not reservation-eligible
- Track reservation utilization after purchase and use exchanges when plan sizes change, rather than leaving reserved hours unused
Documentation
Vendor references for pricing and configuration.
- Save for Azure App Service with reserved capacitylearn.microsoft.com
- Reservation discounts for Azure App Servicelearn.microsoft.com
- Plan and Manage Costs for App Servicelearn.microsoft.com
- Cost recommendations - Azure Advisorlearn.microsoft.com
- What are savings plans?learn.microsoft.com
- Azure App Service on Windows pricingazure.microsoft.com