View Only

IBM Turbonomic - Reading the Savings and Investments Widget and the data behind it

By Danisue Gilpin posted Mon February 05, 2024 10:44 AM


The question has been asked by many customers, and if you’re like me you may have struggled to answer it. They’ve started executing cloud actions in Turbonomic and want to share the value they are getting; however, the realized savings numbers don’t really add up or make sense based on cost associated with the actions executed. I have the list right here and they just don’t add up.

Below I will dig into the Savings and Investments widget and explain the data behind it, so you can answer this question when someone asks you.

The Savings and Investments Widget represents the total savings or investments cost impact from cloud actions executed in Turbonomic; scale, delete, park, and suspend.

A new version of this widget was introduced in v8.9.3


There are two chart types available to select from when configuring this widget.

Savings/Investments or Cumulative Savings/Investment. 

In each type the ‘Total Realized” amount is the same, however the charts graphically display them differently


When tracking actions and their associated savings/investments, Turbonomic gets the cost and sizing data directly from the cloud bill. Therefore, if the Billing target is not configured, this data will not be captured or populated in the widget.

How to read the chart – Savings Example

The data in this chart represents the total amount of savings each day.

  • Savings on 11/21 is $29.11
    • This does not mean that the actions were taken on 11/21, it reflects all actions taken by Turbonomic prior to 11/21 that impacted the savings
    • Moving to 11/22 – prior actions are still accounted for in the savings.

You might be wondering, If I took actions on 11/21 in the morning, would the savings associated with those actions be reflected in the widget on 11/21 in the afternoon?  or is it only represented in the widget the following day? 

It would only be represented in the widget the following day (based on the next time the bill data is pulled)

How to read the chart – Cumulative Savings Example

The data in this chart represents the total amount of savings day over day.

  • Cumulative Savings
    • In this view Turbonomic shows the $29.11 in saving from actions take prior to 11/21
    • On the next day 11/22, that amount is added to the day before, $29.11 + $29.11, on 11/23 $29.11 + $29.11 + $29.11 and would continue as long as the actions taken were still reflected in the bill.
    • At the end of the day/month/year… the Total Savings Realized is still the same amount.

- Uptime is incorporated (if the instance was only up for 50% of the time the savings would only be $14.55)

How to read the chart – Additional Observations

Observation 1 - Savings was high in August compared to the rest of the year

It does not necessarily mean that you executed a whole bunch of actions in August, but rather all the instances (VMs/DBs) were up and Turbonomic captured the savings for every minute of every day for any prior action that Turbonomic has executed.

Observation 2 - My savings were high in the August what are some reasons why the saving are not continuing to grow in September?

Instances were deleted

Changes were reverted

For example, if Turbonomic takes an action to scale from large to a small, then a few days later Terraform (or some other mechanism) changes it back to a large.

Turbonomic will read in the bill and discover the VM is now a large and no longer record the savings in Turbonomic.

But wait… if I download the list of all the actions taken it doesn’t exactly add up, why is that?    

This is primarily due to the various factors that come with executing scaling actions.

Executed actions are a projection of how much might be saved. The section below describes the factors that play into the realized savings. 

Scaling actions includes calculating savings and investments when scaling the following entities:

  •        VMs (AWS, Azure, and Google Cloud VMs)
  •        Volumes (AWS and Azure volumes)
  •        Databases (Azure SQL vCore or DTU)
  •        Virtual Machine Specs (Azure App Service plans)
  •        Database Servers (AWS RDS)

Turbonomic calculates savings and investment per entity. Calculation is based on the before-action and after-action costs.

  • Before-action cost
    • Cost of an entity before an action was executed. This is based on the cost snapshot on the day of action execution.
  • After-action cost
    • Cost of an entity as reflected in the daily billing report from the cloud provider.
  • Savings and investments are the total of all past scaling actions, with the exception that a scale in one direction (such as a scale up) reduces the amounts of previous actions in the opposite direction (such as a scale down), until one or more previous actions have no more effect.

Turbonomic reads the daily billing report from the cloud provider to determine the current daily cost of an entity. Calculation also takes into account workload uptime (for VMs) and the effect of consecutive scale actions on the same workload.

  •  Points to consider:
    • Calculation can adjust to varying VM uptime and discount coverage over time.
    • Calculation stops for terminated entities or entities that Turbonomic no longer discovers.
    • Calculation stops if there is a cost change in the entity that is not the result of a Turbonomic action.

Other action types that are represented in the savings widgets.

Delete actions always result in savings. These actions include Unattached volumes (AWS, Azure, and Google Cloud volumes) and Empty Virtual Machine Specs (Azure App Service plans). Turbonomic checks the daily cost of an entity on the day the entity was deleted and uses that cost to calculate savings from that day onward.

Park and Suspend actions always result in savings. These actions include parking (powering off) VMs and Suspending idle dedicated SQL pools (Azure Synapse)

Turbonomic checks the hourly cost of an entity's instance type at the time the action was executed, and then uses that cost to calculate savings for the duration of the action. Calculation stops as soon as the entity is powered on.

Additional details are available in the Turbonomic User Interface documentation.