Jaa


FinOps hubs

FinOps hubs are a reliable, trustworthy platform for cost analytics, insights, and optimization – virtual command centers for leaders throughout the organization to report on, monitor, and optimize cost based on their organizational needs. FinOps hubs focus on three core design principles:

  • Be the standard
    Strive to be the principal embodiment of the FinOps Framework.
  • Built for scale
    Designed to support the largest accounts and organizations.
  • Open and extensible
    Embrace the ecosystem and prioritize enabling the platform.

FinOps hubs extend Cost Management to provide a scalable platform for advanced data reporting and analytics, through tools like Power BI and Microsoft Fabric. FinOps hubs are a foundation to build your own cost management and optimization solution.

Note

Estimated cost: Starts at $120/mo + $10/mo per $1M in cost being monitored.

Estimated monthly cost includes $120 for a single-node Azure Data Explorer cluster, plus $10 in Azure storage and processing cost per $1M being monitored. Exact cost will vary based on discounts, data size (we estimate ~20GB per $1M), and Power BI license requirements. Cost without Data Explorer is $5 per $1M. For details, refer to the FinOps hub cost estimate in the Azure Pricing Calculator.


Note

FinOps hubs requires an Enterprise Agreement (EA), Microsoft Customer Agreement (MCA), or Microsoft Partner Agreement (MPA) account (including Cloud Solution Provider subscriptions). If you have a Microsoft Online Services Agreement (MOSA, often called pay-as-you-go) or a Microsoft internal subscription, you need to use FinOps hubs 0.1.1. Power BI reports weren't tested extensively with MOSA and MS Internal subscriptions. Speak to a Microsoft representative or file a billing support request to ask about migrating your subscription to Microsoft Customer Agreement.


Why FinOps hubs?

Many organizations that use Microsoft Cost Management eventually hit a wall where they need some capability that isn't natively available. When they do, their only options are to use one of the many third party tools or build something from scratch. While the cost management tooling ecosystem is rich and vast with many great options, they might be overkill or perhaps they don't solve specific needs. In these cases, organizations export cost data and build a custom solution. But it comes with many challenges, as these organizations aren't staffed with the data engineers needed to design, build, and maintain a scalable data platform. FinOps hubs seek to provide that foundation to streamline efforts in getting up and running with your own homegrown cost management solution.

FinOps hubs streamline implementing the FinOps Framework. They're being designed to scale to meet the largest enterprise needs. And, they're open and extensible to support building custom solutions without the hassle of building the backend data store. FinOps hubs are designed for and by the community. Join the discussion and let us know what you'd like to see next or learn how to contribute and be a part of the team.

Join the conversation   Learn how to contribute


Benefits

FinOps hubs provide many benefits over using Cost Management exports.

  • Report on cost and usage across multiple accounts and subscriptions in separate tenants.
  • Run advanced analytical queries and report on year over year cost trends in seconds.
  • Report on negotiated and commitment discount savings for EA billing accounts and MCA billing profiles.
  • Full alignment with the FinOps Open Cost and Usage Specification (FOCUS).
  • Clean up duplicated data in daily Cost Management exports (and save money on storage).
  • Convert exported data to parquet for faster data access.
  • Extensible via standard Data Factory and Power BI capabilities to integrate business or other providers cost data.
  • Connect Power BI to Azure Government and Azure China¹.
  • Connect Power BI to Microsoft Online Services Agreement (MOSA) subscriptions¹.

¹ Azure Government, Azure China, and MOSA (or pay-as-you-go) subscriptions are only supported in FinOps hubs 0.1.1. FinOps hubs 0.2+ requires FOCUS cost data from Cost Management exports, which aren't supported for MOSA subscriptions. Contact support about transitioning to a Microsoft Customer Agreement account.


What's included

The FinOps hub template includes the following resources:

  • Azure Data Explorer (Kusto) as a scalable datastore for advanced analytics (optional).
  • Storage account (Data Lake Storage Gen2) as a staging area for data ingestion.
  • Data Factory instance to manage data ingestion and cleanup.
  • Key Vault to store the Data Factory system managed identity credentials.

Once deployed, you can report on the data directly using Data Explorer queries, Data Explorer dashboards, Power BI, or by connecting to the database or storage account directly.

Note

This article contains images showing example data. Any price data is for test purposes only.

Here are some examples of the reports:

Screenshot showing the Cost summary report.

Screenshot showing the Services cost report.

Screenshot showing the Commitment discounts coverage report.

Browse reports   See the template


Explore the FinOps reports

Each report in the FinOps toolkit is available as a PBIX or PBIT file. The PBIX file contains sample data that can be viewed in Power BI desktop without connecting to your account.

To visualize the reports available, download the PBIX Power BI report file from the desired release and open the report in Power BI Desktop. From there, you can navigate through the different pages of the report, which are prefilled with test data.

Screenshot of the Rate optimization report with test data.


Create a new hub

To create a new FinOps hub, follow these steps:

  1. Deploy your FinOps hub.

    Deploy To Azure

  2. Configure scopes to monitor.

    FinOps hubs use Cost Management exports to load the data you want to monitor. You can configure exports manually or grant access to your hub to manage exports for you.

    For more information, see Configure scopes.

  3. Connect to your data.

    You can connect to your data from any system that supports Azure Data Explorer or Azure storage. For ideas, see get started with hubs. We recommend using prebuilt Power BI starter templates to get started quickly.

    For more information, see Connect to your data.

If you run into any issues, see Troubleshooting Power BI reports.

Note

If you need to deploy to Azure Gov or Azure China, use FinOps hubs 0.1.1. Instructions are the same except you will create an amortized cost export instead of a FOCUS export.

Deploy To Azure Gov   Deploy To Azure China

If you run into any issues, refer to the Troubleshooting guide.

A scope is an Azure construct that contains resources or enables purchasing services, like a resource group, subscription, management group, or billing account. The resource ID for a scope is the Azure Resource Manager URI that identifies the scope (for example, "/subscriptions/###" for a subscription or "/providers/Microsoft.Billing/billingAccounts/###" for a billing account). For more information, see Understand and work with scopes.


Get started with hubs

After you deploy a hub instance, there are several ways for you to get started:

  • Customize the prebuilt Power BI reports.

    Our Power BI reports are starter templates and intended to be customized. We encourage you to customize as needed. Learn more.

  • Create your own Power BI reports.

    If you want to create your own reports or add cost data to an existing report, you can copy queries from a prebuilt report. Or you can connect manually using the Azure Data Lake Storage Gen2 connector.

  • Connect to Microsoft Fabric for advanced queries.

    If you use OneLake in Microsoft Fabric, you can create a shortcut to the ingestion container in your hubs storage account to run SQL or KQL queries directly against the data in hubs. Learn more.

  • Access the cost data from custom tools.

    Data is stored in Azure Data Explorer and an Azure Data Lake Storage Gen2 account. You can use any tool that supports Azure Data Lake Storage Gen2 to access the data. Refer to the data dictionary for details about available columns.

  • Apply cost allocation logic, augment, or manipulate your cost data using Data Factory.

    Data Factory is used to ingest and transform data. We recommend using Data Factory as a cost-efficient solution to apply custom logic to your cost data. Don't modify built-in pipelines or data in the msexports container. If you create custom pipelines, monitor new data in the ingestion container and use a consistent prefix to ensure they don't overlap with new pipelines. Refer to data processing for details about how data is processed.

    Important

    Keep in mind this is the primary area we are planning to evolve in upcoming FinOps toolkit releases. Get familiar the roadmap to avoid conflicts with future updates. Consider contributing to the project to add support for new scenarios to avoid conflicts.

  • Generate custom alerts using Power Automate.

    You have many options for generating custom alerts. Power Automate is a great option for people who are new to automation. You can also use Data Factory, Functions, or any other service that supports custom code or direct access to data in Azure Data Lake Storage Gen2.

No matter what you choose to do we recommend creating a new Bicep module to support updating your solution. You can reference finops-hub/main.bicep or hub.bicep directly to ensure you can apply new updates as they're released.

If you need to change hub.bicep, be sure to track those changes and reapply them when upgrading to the latest release. We generally don't recommend modifying the template or modules directly to avoid conflicts with future updates. Instead, consider contributing those changes back to the open source project. Learn more.

If you access data in storage or are creating or customizing Power BI reports, please refer to the data dictionary for details about the available columns.


Required permissions

Required permissions for deploying or updating hub instances are covered in the template details.

You need one or more of the following to export your cost data:

Scope Permission
Subscriptions and resource groups (all account types) Cost Management Contributor.
EA billing scopes Enterprise Reader, Department Reader, or Account Owner (also known as enrollment account).
MCA billing scopes Contributor on the billing account, billing profile, or invoice section.
MPA billing scopes Contributor on the billing account, billing profile, or customer.

CSP customers need to configure exports for each subscription in order to ingest their total cost into FinOps hubs. Cost Management doesn't support management group exports for MCA or CSP subscriptions (as of May 2024).

For for information, see Cost Management documentation.


Related FinOps capabilities:

Related products:

Related solutions: