Whether you consider yourself a FinOps practitioner, someone who’s enthusiastic about driving cloud efficiency and maximizing the value you get from the cloud or were just asked to look at ways to reduce cost, the FinOps toolkit has something for you. This month, you’ll find the much-anticipated support for Microsoft Fabric in FinOps hubs, support for Azure Gov and Azure China in both FinOps hubs and Power BI reports, updates for the FinOps Framework 2025, and more! Read on for details.
New to the FinOps toolkit?
In case you haven’t heard, the FinOps toolkit is an open-source collection of tools and resources that help you learn, adopt, and implement FinOps in the Microsoft Cloud. The foundation of the toolkit is the Implementing FinOps guide that helps you get started with FinOps whether you’re using native tools in the Azure portal, looking for ways to automate and extend those tools, or if you’re looking to build your own FinOps tools and reports. To learn more about the toolkit, how to provide feedback, or how to contribute, see FinOps toolkit documentation.
Leverage the power of Microsoft Fabric with FinOps hubs
I first shared a peak into our vision of FinOps on Microsoft Fabric in November 2023. As a unified platform for analytics with AI-powered tools designed to support every FinOps stakeholder and capability, the possibilities are endless. FinOps thrives on data and Fabric is a platform within which data can thrive. And now, with FinOps hubs orchestrating seamless integration with Microsoft Fabric Real-Time Intelligence, you can experience FinOps in a way never before seen, bringing analytics and insights into reach for everyone in the organization—all within a unified, AI-enhanced platform.
Getting started with Microsoft Fabric starts by creating and configuring your Fabric eventhouse, deploying a new or upgrading an existing FinOps hub instance to connect to your eventhouse, and granting your hub access to the eventhouse. From there, all newly ingested data will land in Fabric. From here, the world of Fabric is at your fingertips.
Since we’re talking about FinOps, I’d be remiss not to mention the fact that, if you’re already using shared Fabric capacity, utilizing Fabric could reduce the cost of running your FinOps hub instance by sharing that capacity instead of running a dedicated Data Explorer cluster. This is because Fabric eventhouses can run with virtual, on-demand capacity where you’re only charged for active usage (ingestion and querying) without the complexity of scheduling startup and shutdown of your Data Explorer cluster.
Not convinced? If you’re already running a FinOps hub instance with Data Explorer and want to see what Fabric can offer in a matter of minutes? Create an eventhouse with shortcut (follower) databases that link to your existing cluster. This will come at extra cost, but it does give you an option to explore Fabric (even during a trial) within minutes, without having to manage a large backfill process to get all historical data.
And if you’re still using FinOps hubs with storage, I have to say you don’t know what you’re missing. While I do respect the desire to keep costs down, instantaneous, always up-to-date data in your reports is worth it. No more data refresh delays. No more scheduled refresh. Just open your report and data is ready in seconds.
Whether you’re new to FinOps hubs or a seasoned veteran, you can get started with the new deployment tutorial. This tutorial will walk you thru each option, whether you’re deploying to storage, Data Explorer, or Fabric. To learn more, see How to create and update FinOps hubs.
Expanded support in Azure Gov and Azure China
As we’ve announced each new release of the FinOps toolkit, we continue to see growing interest from organizations using Azure Government and Azure China. Especially for Power BI reports and FinOps hubs, which enable cross-tenant and cross-cloud analytics aligned with the FinOps Open Cost and Usage Specification (FOCUS). But FOCUS hasn’t traditionally been available for these accounts. With the latest Cost Management release, Azure Government and Azure China customers can now setup FOCUS exports!
And if unlocking a more standardized approach to FinOps reporting and analytics wasn’t enough, this also means that FinOps hubs and FinOps toolkit Power BI reports are now available in Azure Government and Azure China! Whether you’re looking to leverage these reports directly on top of FOCUS exports in storage for small-scale cost and savings reporting or you’re looking for the speed and power of big data analytics with Azure Data Explorer or Fabric Real-Time Intelligence, the FinOps toolkit has you covered.
This update adds to the existing tools and resources available today, underscoring Microsoft's commitment to FinOps accessibility and ensuring that cost management and optimization tools are available across all Microsoft Cloud environments. If you manage resources in any Microsoft Cloud environment and aren’t familiar with these tools, you’ll want to check them out to see what you’re missing and let us know what you’d like to see next.
FinOps Framework 2025 updates
As FinOps teams are gaining resounding success with cloud cost management and optimization, many organizations are seeing their scope expanding to cover other areas of technology spend, like SaaS providers and on-premises costs. While we at Microsoft have always considered SaaS to be a subset of cloud and on-premises to be an extension of the cloud (or maybe it’s the other way around?), it’s great to see the FinOps Framework updating to more explicitly cover these different areas with the introduction of FinOps “scopes”.
If we break it down to its bare essentials, a “FinOps scope” is simply the area of responsibility for your team. Your scope defines what you’re responsible and accountable for. That may be usage and spend while another team is responsible for sustainability, or maybe it’s just a single service in the cloud, on-premises, or potentially both. That’s it. Not much to it. But what’s important about scopes is really acknowledging and supporting the fact that every team and every organization will prioritize different technologies and capabilities based on their needs. This is your scope. And your scope can change over time as you mature and grow to cover new areas or possibly narrow your focus to go deeper.
Over time, you can expect to see the Implementing FinOps guide continue to expand to cover different aspects of the Microsoft Cloud throughout our guidance around FinOps capabilities and best practices as well as our support for all cloud costs being available in Microsoft Cost Management for Microsoft Customer Agreement (MCA) accounts. That’s right, if you have an MCA account, you can see and manage your Microsoft 365, Dynamics 365, and other costs in one place, using FOCUS! This consolidated cloud management practice has been a cornerstone of our approach to FinOps from the beginning and we’re eager to hear what you’d like to see us cover and evolve to meet your growing needs.
Data quality improvements in FinOps hubs
I talked about this last month, but one of the key advantages of FinOps hubs is data quality and completeness. Each month, we try to identify and resolve issues and gaps to minimize the amount of work you need to do to get the answers you need. In April, we continued this mission with a few changes to our ingestion process to address missing and incorrect data, with a primary focus on improving the calculation of negotiated and commitment discount savings.
First, we fixed x_EffectiveUnitPrice when there’s a rounding error compared to x_BilledUnitPrice and ContractedUnitPrice. This happens when the data isn’t available and the value must be calculated from EffectiveCost. This should be minimal impact but will help ensure numbers aren’t off by small amounts.
Next, we populate PricingQuantity and ConsumedQuantity when there’s a cost but no quantity. This one’s fairly straightforward. We’re just filling a small data gap. This one won’t impact your cost and savings calculations, but it can impact usage analysis and reconciliation efforts when validating price x quantity compared to cost.
Next, and possibly most importantly, we set ListCost based on ListUnitPrice when the cost is missing. If ListUnitPrice is also missing (or the same as the ContractedUnitPrice), we set ListCost to be the same value as ContractedCost. This is assuming we aren’t able to populate the values from the prices you export from your account. FinOps hubs always prefers accurate prices from the official price sheet over populating based on other numbers.
Lastly, we fixed a small conformance gap with the x_InvoiceSectionId and x_InvoiceSectionName by removing “-2” and “Unassigned” values. These were not in accordance with the FOCUS null handling requirements. Another small fix, but one that helps us get a little closer to full FOCUS conformance.
It’s important to note that these changes were made to the Data Explorer (and Fabric) ingestion process and will not impact historical data that is already available. To apply these fixes to historical data, you can re-ingest data into Data Explorer using the ingestion_ExecuteETL pipeline in your hub Data Factory instance. You can accomplish that by re-exporting data in Cost Management for the desired months or by manually triggering the pipeline for the scopes and months you’re interested in.
Stay tuned for updates, keep your hub instance upgraded to the latest release, and let us know if you spot any gaps or unexpected results by posting a question in the discussion forum or creating a new issue.
Other new and noteworthy updates
Many small improvements and bug fixes go into each release, so covering everything in detail can be a lot to take in. But I do want to call out a few other small things that you may be interested in.
In FinOps hubs:
- Rearchitected the internal bicep code to facilitate a new extensibility model. This is a work in progress, but we’re hopeful that we can share more about this later this year. In the meantime, we’ll make small updates each month while also delivering other capabilities based on your feedback.
- Fixed an issue where vnet subnets might be misconfigured due to internal deployment template processing.
In Power BI reports:
- Documented that SAS tokens may require configuration at the storage account (and not a container) level.
- Documented additional errors and mitigation steps.
- Updated documentation to clarify the ADLS storage requirement.
- Updated Azure Resource Graph (ARG) queries to work around limitations, including:
- Query errors when there are no results (applies to all ARG queries).
- NetworkSecurityGroups query size limits.
- PolicyDefinitions query size limits.
- Duplicate IDs in the Resources query:
- This is caused by a bug in ARG. If you receive this error, please file a support request against the ARG team to resolve the bug creating duplicate rows.
- As a workaround, you can enable the new "Remove Duplicate Resource IDs" parameter. This parameter is not recommended as it may return incorrect or incomplete data.
- Removed the Virtual machines page in the Workload optimization report.
- Fixed the reservation recommendation query for raw MCA exports.
- Fixed a parsing issue with the HubScopes query.
In FinOps alerts:
- Fixed an issue causing the template to not deploy.
- Fixed issue with Remediate-LongDeallocatedVMsFiltered runbook that was skipping the remediation of eligible VMs due to Az.Compute module breaking changes.
- Fixed issue with the Reservations Usage workbook that was listing multiple display names for the same reservation in case its name changed over the course of the lookback period.
- Fixed issue with the Recommend-AdvisorCostAugmentedToBlobStorage runbook that was failing when Azure Advisor recommends virtual machine right-sizing for SKUs with large disk throughput capabilities.
- Fixed issue with deployment script that was using a retired and no longer needed Log Analytics workspace naming validation endpoint.
- Documented the Add-FinOpsServicePrincipal PowerShell command.
- Updated the Start-FinOpsCostExport examples to include the -Scope parameter.
In open data:
- Added the "100000000 /Day" unit of measure.
- Added the "ussgovarizona" region.
- Added 39 new and updated 10 existing resource types.
What’s next
I’m excited about what’s coming over the next few months. Here are a few of the things we’re looking at:
- FinOps hubs will add recommendations, similar to what you see in Azure Optimization Engine and FinOps workbooks, a new extensibility model to support customizations at scale, and continued data quality improvements on top of what Cost Management provides.
- FinOps hubs and Power BI will both get updated to the latest FOCUS release.
- Power BI will continue to get recurring updates and expand to more FinOps capabilities.
- FinOps workbooks will continue to get recurring updates, expand to more FinOps capabilities, and add cost from FinOps hubs.
- Azure Optimization Engine will continue to receive small updates as we move its capabilities into FinOps hubs in upcoming releases.
- Each release, we’ll try to pick at least one of the highest voted issues (based on 👍 votes) to continue to evolve based on your feedback, so keep the feedback coming!
To learn more, check out the FinOps toolkit roadmap, and please let us know if there’s anything you’d like to see in a future release. Whether you’re using native products, automating and extending those products, or using custom solutions, we’re here to help make FinOps easier to adopt and implement.