microsoft / finops-toolkit

Tools and resources to help you adopt and implement FinOps capabilities that automate and extend the Microsoft Cloud.
https://aka.ms/finops/toolkit
MIT License
305 stars 106 forks source link

[Hubs] Realized recommendation savings #1075

Open flanakin opened 3 weeks ago

flanakin commented 3 weeks ago

Customer Challenge:

A customer is struggling to accurately calculate cost savings from their cost optimization initiatives at the billing account level. They have a small team dedicated to various optimization tasks, such as right-sizing, storage optimization, and purchasing reservations and savings plans. The challenge is to provide detailed savings data per month, quarter, and year for each of their 20 billing profiles. The current tools, like Azure Advisor Cost Optimization Score, do not offer the granularity needed, and accumulating these numbers is complex due to the evolving infrastructure.

Proposed Solutions and Suggestions:

  1. Tracking Implemented Recommendations:

    • Approach: Identify which specific recommendations were implemented by either noting when recommendations disappear from the system (risky to assume) or by logging remediation actions.
    • Drawback: This requires historical data, which is not directly available via Azure Advisor recommendations, making it challenging to accurately track and verify the implementation of recommendations over time.
  2. Calculating Savings:

    • Approach: Compute the savings by comparing the costs of the remediated resources from one month ago to the present. For reservation recommendations, compare the overall effective cost of the reserved SKU, considering the same usage quantities, from one month ago to today.
    • Drawback: Accumulating realized savings from both reservations and savings plans can be complex. Additionally, calculating these savings at the billing profile level must account for the elasticity of a dynamically evolving infrastructure, such as autoscaling databases and compute clusters.
  3. Scoping Savings to Billing Profiles:

    • Approach: Determine the billing profile scope of the remediation by examining the billing data, as each billing line in the cost details contains the billing profile ID.
    • Drawback: While this method can help scope realized savings to specific billing profiles, it may still be challenging to accurately calculate savings due to the dynamic nature of the infrastructure.

Discussion Points:

Originally posted by @GregorWohlfarter in https://github.com/microsoft/finops-toolkit/discussions/1064