Advanced recommendations for Reservations

Prev Next

Overview

Advanced recommendations for Reservations surfaces Turbo360's own reservation recommendations for your Azure resources, going beyond Azure Advisor's Basic recommendations with deeper analysis scoped to each resource's usage pattern and reservation coverage.

Business value

Advanced recommendations give your team a richer basis for reservation decisions than Azure Advisor alone, combining VM family-level coverage visibility, five granular recommendation types, Explain with AI analysis, and a group-wide Reservation impact tracker that surfaces unused capacity before it renews, so you can act on the right resources with confidence rather than guessing from aggregate data.

Prerequisites

Required permissions

Azure

Reservation Reader access must be granted to the service principal in Azure to view reservations and reservation-based recommendations. To provide Reservation Reader access to the service principal:

  1. Navigate to the Reservations section in the Azure portal by searching Reservations in the search bar.
  2. Select the Role assignment option.
  3. Select Add role assignment > Reservation Reader from the available job function roles.
  4. Click Next and select the required service principal using the Select members option.
  5. Click Select and complete the process by selecting Review + assign.

Turbo360

In addition to the Azure permissions, the following Turbo360 role permissions control access to Advanced recommendations within Cost Analyzer:

Role Permission level Access
Account owner, Owner, Contributor - Full access to Advanced recommendations and Explain with AI
Custom role Optimization feature enabled + Reservations: Read View Advanced recommendations and Reservation impact tracker
Custom role Optimization feature enabled + Reservations: Manage Full access to Advanced recommendations
Custom role AI Agents: Enable, Optimization: Enable, Reservations: Read (or Manage) Access Explain with AI on any recommendation. Under Specify feature permissions, both AI Agents and Optimization must be set to Enable. Under Specify optimization tab permissions, Reservations must be toggled on with at least Read access. If any of the three is missing, the Explain with AI option is not available.

How it works

VM family grouping with reservation coverage

The VM family view combines active virtual machine usage with Azure reservation coverage, grouped by VM family (for example, Dv2, Ev4, Fsv2) and subscription, on a single screen. For each VM family, the view provides:

  • VM count: the total number of active VMs deployed within the family, useful for assessing how widely it's utilized.
  • Total cores: the cumulative number of virtual CPU cores consumed by all VMs in the family, useful for understanding compute demand.
  • Reserved cores: how many of the total cores are currently covered by active Azure Reservations, useful for tracking reservation utilization.
  • Unreserved cores: the number of cores not covered by any active Azure Reservation within the family.

You can drill down into each VM family to view the virtual machines deployed across subscriptions, including subscription name, resource group, VM size (SKU), region, and allocated cores.

Types of recommendations

Recommendations are currently available only for the following resource types, based on their SKU:

  • App service plan
  • SQL Database
  • SQL Managed instance
  • Virtual Machine

Cost Analyzer provides five recommendation types for supported resources:

  1. Consider Reservation: you can optimize cost by purchasing a reservation with a one-year or three-year pricing commitment.
  2. Change SKU and Consider Reservation: the resource's SKU should change to one compatible with reservations, and a reservation can then be purchased.
  3. Change SKU and Use Existing Reservation: the resource's SKU should change to one compatible with reservations so it can use an existing unused reservation.
  4. Already with Reservation: the resource is already using a purchased reservation.
  5. Partially Reserved: the SQL database resource has a purchased reservation, but its current vCore count exceeds what was purchased.

Recommendation data refresh

Reservation recommendations are updated every 48 hours from the time the cost group is created. A manual refresh is available at the root cost group level to view the latest recommendations immediately without waiting for the next scheduled update.

Understanding resource usage charts

Clicking a resource listed in Advanced recommendations shows its usage pattern, with the time range customizable through Time settings to focus on a specific interval. This widget also shows the current and recommended SKUs.

Resource status calendar

The resource usage option, accessible from an advanced reservation recommendation, provides a calendar view of your Azure resource status over time, with multiple toggle modes for accessibility. Resource status is one of:

  • Active
  • Idle

Status is determined by a metric specific to each resource type:

  • App service plan: CPU Percentage
  • SQL Database: CPU Percentage
  • SQL Managed instance: CPU Percentage
  • Virtual Machine: CPU Percentage

The Agenda view displays a day's active and idle hours in a grid format.

Reservation impact tracker

The Reservation impact tracker gives you a single, consolidated view of how all Azure reservations in a cost management group are being used over time. Reserved hours you don't consume are still billed. This tracker surfaces that waste across the entire group at a glance, so you can act before a reservation renews.

Open the tracker by clicking Impact tracker within the Reservations view of the Advanced recommendations tab. Use the preset buttons to switch between 7d, 1m, 3m, 6m, and 1y views, or select Custom to define a specific date range using the Set time range dialog; up to 13 months of history is available, through yesterday. Clicking any point on the utilization chart focuses the grid below on that specific period.

Note:

Reservations: Read is the minimum permission required to access the Reservation impact tracker. Azure utilization data may be delayed by up to 24 hours. The latest day always reflects yesterday.

Three summary tiles at the top of the tracker give an at-a-glance health check for the selected period:

  • Reservations: total count broken down by utilization status: Well utilized, Partially used, and Unused.
  • Overall utilization: combined utilization percentage, calculated as used reserved hours out of total reserved hours.
  • Wasted capacity: total unused reserved hours and the percentage of purchased capacity they represent.

Data is collected daily and backfilled historically, so the trend is available as soon as you open the tracker. Removed or expired reservations remain in the history.

The Utilization tab plots daily used versus unused hours on the Overall reservation utilization chart. Toggle the y-axis between Percentage and Hours using the Unit control. Below the chart, a grid ordered by highest wastage first lists each reservation with its name, display name, utilization status badge, subscription, type, unused hours per day, used hours, reserved hours, and expiry date. Click any reservation name to open its live consumption details in the Azure portal. Select Download as excel to export the grid.

The Wastage drivers tab identifies which reservations are driving unused capacity and when. The Wastage by reservation chart stacks unused hours by reservation over time, with the top 10 drivers shown and the rest grouped as Others. Switch to Table view for a per-reservation, per-period matrix with a Total column. Select Download as excel to export the matrix.

Steps

Go to Cost Analyzer > Optimization > Reservations > Advanced recommendations to access the actions described in this section.

Understanding the recommendations list

The recommendations list includes the following columns to help you assess and prioritize action:

  • Last updated: when Turbo360 last recalculated this recommendation. The value refreshes on every analysis run.
  • Age: how long the current recommendation type has been open since it was first identified, color-coded by urgency: green (up to 30 days), orange (31 to 90 days), and red (over 90 days, stale). The age counter resets only when the recommendation type changes during a scheduled refresh. There is no recommendation history; the counter reflects the current recommendation state only.

Refresh recommendations

A Refresh recommendation button is available at the top right of the Advanced recommendations view when viewing from the root cost group. Use it to trigger an immediate recalculation of recommendations without waiting for the next scheduled 48-hour update. The button is shown with a warning indicator when the current data may be stale.

View VM family coverage

The Advanced recommendations view opens in the VM family grouping by default. Each row shows the VM family, VM count, total cores, reserved cores, and unreserved cores for the selected cost management group. Select any VM family row to drill down and view the individual virtual machines within it, including subscription, resource group, SKU, region, and allocated cores.

Act on a recommendation

  1. In the VM family drilldown, locate the resource you want to act on.
  2. Review the recommendation type shown for the resource (for example, Consider Reservation or Change SKU and Consider Reservation).
  3. Follow the implementation steps appropriate for the recommendation type. For resources where a reservation purchase is needed, proceed in the Azure portal using the details surfaced in Cost Analyzer.

Trigger a manual refresh

To update recommendation data without waiting for the next 48-hour cycle:

  1. Navigate to the root cost group in the Cost Analyzer tree view.
  2. Open Advanced recommendations.
  3. Use the manual refresh option to trigger an immediate data update.

Recommendation settings

Recommendation settings lets you control the evaluation duration and currency type used to generate Advanced recommendations. Changes apply to the current cost management group.

Option Description
Apply to child groups When enabled, the currency and evaluation duration configured here are also applied to child groups whose advanced recommendations are enabled.
Currency The currency in which cost and savings figures are displayed within the recommendations view.
Evaluation duration (days) The number of days of usage data analysed to generate recommendations. The maximum evaluation duration is 90 days. A longer duration smooths short-term usage spikes and produces more stable recommendations.

To open Recommendation settings, click the Recommendation settings button in the top-right corner of the Advanced recommendations view. After making changes, click Update to save.

Explain with AI

Explain with AI generates a structured nine-section breakdown of the selected Turbo360 reservation recommendation, covering current reservation status, savings context, implementation steps, risk assessment, and renewal guidance, without leaving Cost Analyzer.

Note:

AI-generated content: The analysis produced by Explain with AI is generated by Azure OpenAI, based on the selected recommendation's data at the time you open it. Review the output before committing to any reservation purchase.

To open Explain with AI:

  1. Go to Cost Analyzer > Optimization > Reservations.
  2. Select the Advanced recommendations tab.
  3. Hover over a recommendation row and click the Explain with AI icon (✦) that appears.
  4. The AI Insights panel opens with a full analysis of the selected recommendation.

The AI Insights panel covers nine sections:

  1. Savings summary: displays the recommendation type (Consider Reservation, Change SKU and Consider, Change SKU and Use Existing, Already Reserved, or Partially Reserved), along with the current monthly cost, the monthly savings with the recommended term applied, and the projected annual savings, giving a clear view of whether action is needed or the existing commitment is already aligned.
  2. Context: a highlighted summary comparing the on-demand cost against the 1-year and 3-year reservation costs, and the cumulative savings (or savings already realized) over the full term, so the financial basis for the recommendation is clear at a glance.
  3. Recommendation summary: explains the current reservation coverage status, what action is needed (if any), and what to monitor to ensure the commitment continues to deliver positive ROI.
  4. Reservation coverage check: shows the resource's Category, Region, and Family, along with how many existing reservations were scanned for a match. When an active reservation already covers the resource, this section displays a Covered by callout with the reservation name, 30-day utilization, quantity used versus purchased, SKU, region, term, scope, and expiry date. When no reservation covers the resource, it displays a Not covered callout instead.
  5. Reservation fit and scope options: states whether an existing reservation already covers the resource (Already Covered) or whether no existing reservation can be applied (No Existing Fit), with a brief explanation of why.
  6. Implementation steps: lists the actions needed based on the recommendation type, each with an estimated time and the Turbo360 tool required, such as Turbo360 Reservation Utilization monitoring, Turbo360 Reservation Expiry alerts, or Turbo360 Cost Analyzer.
  7. Risk and impact assessment: covers the key risks associated with the recommendation, which vary by type, including Drift Risk (usage shifting before the reservation renews), Commitment Risk (multi-year exposure if the workload changes before term end), and Coverage Risk (the reservation no longer applying if the SKU, region, or family changes), and provides an Overall Safety rating (for example, P95 Safe) for the current cycle.
  8. Rollback plan: describes whether any rollback is applicable. For Already Reserved recommendations where no purchase or change is made, this section confirms no rollback is needed. For new purchases, it outlines Azure's reservation exchange and refund options if the workload changes before term end.
  9. Recommendation justification: explains why the recommendation was generated based on the monitored usage pattern and savings opportunity, and provides recommended timing (Why Recommended and Recommended Timing) for the next review, renewal, or purchase.

Troubleshooting

  1. No recommendations appear in Advanced recommendations
    Cause: The service principal may lack Reservation Reader access in Azure, or no supported resource types (App service plan, SQL Database, SQL Managed instance, Virtual Machine) exist within the selected cost management group's subscriptions.
    Fix: Confirm the service principal has Reservation Reader access in the Azure portal. Verify that supported resource types are present in the subscriptions in scope.

  2. Recommendation data appears outdated
    Cause: Advanced recommendations refresh every 48 hours. Recently purchased reservations or resized resources may not yet be reflected.
    Fix: Use the manual refresh option at the root cost group to trigger an immediate update, then reload the view.

  3. Explain with AI option is not available
    Cause: One or more of the three required permissions is missing: AI Agents must be set to Enable, Optimization must be set to Enable, and Reservations must have at least Read access under the custom role configuration.
    Fix: Review the custom role settings and confirm all three conditions are met. Refer to the Required permissions table above.

  4. VM family drilldown shows no virtual machines
    Cause: The selected VM family may contain resources that are stopped or deallocated and therefore not surfaced as active in the current view.
    Fix: Confirm the VMs in that family are running in Azure. Stopped or deallocated VMs are not included in the active usage data.

  5. Resource usage chart shows no data after clicking a recommendation
    Cause: Insufficient usage history exists for the selected resource within the evaluation window, or the resource was recently provisioned.
    Fix: Extend the time range using Time settings, or allow additional time for usage data to accumulate before reviewing the chart.

FAQs

  1. What is the difference between Basic and Advanced recommendations?
    Basic recommendations surface Azure Advisor's reservation suggestions with no additional configuration. They are fast to access but rely entirely on Azure Advisor's analysis. Advanced recommendations are Turbo360's own analysis, scoped to each resource's actual usage pattern and existing reservation coverage across VM families. Advanced recommendations support five recommendation types and include deeper context such as the Reservation coverage check and VM family grouping.

  2. Why do I only see certain resource types in Advanced recommendations?
    Advanced recommendations are currently available for App service plan, SQL Database, SQL Managed instance, and Virtual Machine resources only. Other resource types are not yet supported. If a resource type you expect to see is missing, confirm it falls into one of these four categories.

  3. Does the manual refresh update data for all cost management groups or just the current one?
    The manual refresh triggers an update for the root cost group you are currently viewing. Navigate to the root cost group before triggering the refresh to ensure the broadest scope of data is updated.

Related articles