Skip to content

Repoint Power BI and Optimization Engine to the new instance size flexibility open data #2200

Description

@RolandKrummenacher

Summary

Follow-up to #2090 / #2199. PR #2199 adds the new InstanceSizeFlexibility open data dataset (sourced from the Azure Reservations Catalogs API). This issue tracks repointing the remaining consumers off the deprecated blobs on ccmstorageprod.blob.core.windows.net and onto the new dataset.

Do this only after #2199 ships in a release, so consumers reference a published URL rather than a not-yet-available one.

New source:

  • Release asset: https://github.com/microsoft/finops-toolkit/releases/latest/download/InstanceSizeFlexibility.csv
  • Raw (dev): https://raw.githubusercontent.com/microsoft/finops-toolkit/dev/src/open-data/InstanceSizeFlexibility.csv

Schema: InstanceSizeFlexibilityGroup, ArmSkuName, Ratio (raw Microsoft ratios).

Optimization Engine (low effort — effectively a URL swap)

The deprecated isfratioblob.csv was already a 3-column file (ISFGroup, ArmSKUName, Ratio), so the new dataset is a 1:1 match. Repoint the externaldata(...) references in:

  • src/optimization-engine/views/workbooks/benefits-simulation.json
  • src/optimization-engine/views/workbooks/reservations-potential.json
  • src/optimization-engine/views/workbooks/reservations-usage.json

Note: the new file keeps a header row, so keep ignoreFirstRecord=true. Confirm the column order matches the externaldata schema declaration.

Power BI (higher effort — model rework, not just a URL swap)

The deprecated AutofitComboMeterData.csv had 9 columns and the Power BI model uses several of the extras (notably x_CommitmentDiscountKey, which participates in a relationship, plus x_SkuComboMeter/x_SkuHardwareMeter/x_SkuSoftwareMeter/x_SkuTypeNormalized/RegionId). Those columns are Cost Management connector artifacts that the Catalogs API does not expose, so they cannot be reproduced in the open data file.

Repoint and rework:

  • src/power-bi/storage/Shared.Dataset/definition/tables/InstanceSizeFlexibility.tmdl
  • src/power-bi/kql/Shared.Dataset/definition/tables/InstanceSizeFlexibility.tmdl

Required changes:

  • Point the source at the new CSV (3 columns instead of 9).
  • Re-derive the relationship that currently uses x_CommitmentDiscountKey so the ISF table joins on ArmSkuName (the new dataset is region-independent, so a region component is no longer needed).
  • Remove/replace measures or columns that referenced the dropped connector columns.
  • Verify Rate Optimization / commitment discount visuals still resolve correctly.

Out of scope

The KQL ingestion path already derives InstanceFlexibilityGroup/InstanceFlexibilityRatio from Cost Management export data, so it is unaffected by the blob retirement. Integrating the full ISF catalog into hubs for new-reservation recommendations (mentioned in #2090) can be tracked separately.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions