From 862ee972744b83f964894bf0ec79364aab031074 Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 11:18:37 -0700 Subject: [PATCH 01/13] docs(announce): add v15 release announcement draft Co-Authored-By: Claude Sonnet 5.5 --- announce/2026/2026-10_v15.md | 144 +++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 announce/2026/2026-10_v15.md diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md new file mode 100644 index 000000000..35c3cd672 --- /dev/null +++ b/announce/2026/2026-10_v15.md @@ -0,0 +1,144 @@ +# What's new in FinOps toolkit 15 – October 2026 + +Whether you consider yourself a FinOps practitioner, someone enthusiastic about driving cloud efficiency, or were just tasked with reducing cloud costs, the FinOps toolkit has something for you. This release is about working with your FinOps data wherever you already are. There's a new plugin that puts FinOps hubs inside Claude Code and GitHub Copilot CLI, a guide for running a hub on your own machine, and private networking modes for hubs that need to stay off the public internet. We also replaced the instance size flexibility files that Microsoft retired with open data the toolkit generates itself. Read on for details. + +## New to the FinOps toolkit? + +The FinOps toolkit is an open-source collection of tools and resources helping organizations learn, adopt, and implement FinOps in the Microsoft Cloud. The foundation includes the [Implementing FinOps guide](https://aka.ms/finops/guide) for getting started with native Azure portal tools or custom FinOps solutions. Learn more at the [FinOps toolkit documentation](https://aka.ms/ftk/docs). + +## Ask your coding agent about your FinOps data + +Most of us already have an agent open in a terminal all day. It can read your code, but it has no idea what your cloud costs. v15 fixes that with a new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin) for Claude Code and GitHub Copilot CLI. + +The plugin includes five agents: a CFO, a FinOps practitioner, a FinOps hubs database query agent, a hubs agent for deploying and troubleshooting, and an Azure capacity manager. There are four commands for connecting to a hub, checking its health, and running month-over-month and year-to-date cost reports. A FinOps hubs KQL skill gives the agents the schema and a query catalog, so they write queries against the real `Costs()`, `Prices()`, `Recommendations()`, and `Transactions()` functions instead of guessing at column names. + +The plugin also registers an Azure MCP server scoped to Data Explorer in read-only mode. It can query your hub, but it can't change anything in your environment. To install it, run `claude plugin add microsoft/finops-toolkit` in Claude Code or `copilot plugin install microsoft/finops-toolkit` in GitHub Copilot CLI. You'll need to be signed in with `az login` and have Database Viewer access to your hub's Data Explorer cluster. + +This is the first release of the plugin and we want to hear what's missing. Tell us which agents and commands you'd use every week. + +## Run a FinOps hub on your own machine + +Not every hub question needs a deployed hub. Sometimes you want to explore the data model, test a query against a large customer dataset, or work somewhere you can't reach Azure. The new [Run hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide walks through running a hub in the Kusto emulator, a free container. It uses the same KQL, transforms, and open data as a deployed hub, so what you learn locally carries over. + +You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command. The release also includes a `finops-hub-local-opendata.kql` file that loads the open data tables. It's generated from the open data CSV files at build time, so your local hub stays in sync with what we publish. + +A local hub isn't a replacement for a deployed one. It doesn't have scheduled ingestion, networking, or security. But for exploration, validation, and consulting work, it's a lot faster than standing up Azure resources first. + +## Private networking for FinOps hubs + +FinOps hubs now support virtual network and private network modes. If your organization requires data services to stay off the public internet, you can deploy a hub that way from the start. Private mode includes opt-in NAT Gateway support for outbound access. Keep in mind that NAT Gateway adds cost when you enable it. + +We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. + +Private deployments also got several fixes in this release. Private mode subnets no longer trip Azure Policy that requires default outbound access to be disabled, and deployments with Data Explorer no longer fail with a `ServiceIsInMaintenance` error when approving private endpoint connections. + +## Instance size flexibility without the retired files + +Reservation tooling depends on instance size flexibility (ISF) data to group SKUs and compare sizes. The external files we used for that were retired, which left hubs, Power BI reports, and the Azure Optimization Engine pointing at data nobody maintains anymore. + +v15 adds an [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) open data dataset that maps each ARM SKU to its flexibility group and ratio. It's sourced from the Azure Reservations Catalogs API, covers every physical Azure region instead of a fixed list, and refreshes weekly. New SKUs show up and retired SKUs age out without us republishing anything. The ratios use the same scale as the retired files and match them for 1,223 of the 1,291 rows the two share. Power BI reports and the Azure Optimization Engine workbooks now use it. + +The PowerShell module has two new commands to generate open data files: [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility). + +If you use the commitment discount eligibility dataset from v14, there are fixes you should know about. The weekly refresh was timing out, which left the dataset unchanged since v14. That's fixed, and retired meters now age out while previously missed meters are included. Also, `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility` had each other's values since v14. The spend column now reports savings plan pricing and the usage column reports reservation pricing. Prices ingested after you upgrade carry the corrected values, but rows you already ingested keep the old ones until you reingest them. + +## Other new and noteworthy updates + +**In the [Implementing FinOps guide](https://aka.ms/finops/guide):** + +- Added a [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) listing independent tools and organizations that build on or support the toolkit. +- Updated guidance to use current FinOps Framework capability names, like Usage optimization and Governance, policy, and risk. Power BI reports and workbooks use the same names. +- Fixed outdated descriptions of several cost and billing columns in the data dictionary to match FOCUS 1.2. + +**In [FinOps hubs](https://aka.ms/finops/hubs):** + +- Fixed hub redeploys and upgrades resetting data retention and purging historical data. Retention now stays as configured unless you specify a new value. +- Fixed commitment purchases inflating savings and effective savings rate in the dashboard. +- Fixed understated commitment discount savings when duplicate reservation price rows exist. +- Fixed FOCUS 1.0 cost data being labeled as FOCUS 1.2 in `x_SourceVersion`. +- Fixed managed exports failing with an `Unauthorized` error because Data Factory was missing a required role. +- Fixed Data Factory trigger deployment failures in regions without a time zone mapping, like Sweden Central. +- Fixed a `PathNotFound` error on the first ingestion for a scope, dataset, and month, most often hit by reservation recommendation exports. +- Changed hub queries to use case-insensitive comparisons that take advantage of the term index, so they run faster on large datasets. +- Updated the hub database guide to explain how columns are organized, added 27 missing columns, and corrected the `Costs()` column reference. +- Documented that the `config_RunBackfillJob` backfill option isn't supported on Microsoft Customer Agreement (MCA) billing accounts or profiles, and updated the backfill instructions to use `config_StartBackfillProcess`. + +**In [Power BI reports](https://aka.ms/ftk/pbi):** + +- Changed Azure Resource Graph queries to run per subscription batch to avoid payload size errors in the Governance and Workload optimization reports. +- Changed the default **Number of Months** in storage reports from 1 to 3 to show more cost history. +- Fixed storage reports showing no data for gzip-compressed CSV exports (`.csv.gz`). +- Fixed storage report refresh errors for FOCUS 1.2 exports and for exports that use earlier FOCUS versions. +- Fixed the Reservations tab in the Rate optimization report showing no data for MCA accounts. +- Fixed report templates opening with a preconfigured demo data source. + +**In [FinOps workbooks](https://aka.ms/ftk/workbooks):** + +- Fixed the savings plan workbook dropping recommendations. +- Fixed the Azure Hybrid Benefit workbook "VM Latest Change Last 7 days" tile always returning no rows, and SQL VM queries missing VMs with uppercase names. + +**In [FinOps alerts](https://aka.ms/ftk/alerts):** + +- Fixed idle application gateway and idle public IP queries silently dropping results. + +**In [Azure optimization engine](https://aka.ms/ftk/aoe):** + +- Added an [Azure Optimization Engine reference](https://microsoft.github.io/finops-toolkit/optimization-engine/reference) for runbooks, schedules, variables, and tables. +- Changed Log Analytics ingestion from the Data Collection API, which is deprecated in September 2026, to a Data Collection Rule and Ingestion API. +- Fixed reservations disappearing from the reservation workbooks when their SKU is no longer sold. +- Fixed Azure RBAC assignment exports calling the Azure Classic administrators endpoint, which was deprecated May 1, 2026. + +**In the [PowerShell module](https://aka.ms/ftk/ps):** + +- Fixed [Deploy-FinOpsHub](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/deploy-finopshub) failing with certain `-Version` values and concurrent deployments. +- Fixed [Get-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/get-finopscostexport) `-RunHistory` not returning the complete run history. +- Fixed [Start-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/start-finopscostexport) exporting the wrong period in positive UTC offsets. + +For the complete list, see the [changelog](https://aka.ms/ftk/changes#v15). + +Thanks to everyone who contributed to this release: @bpurchell, @danfiedler-msft, @TakumiSeo, @helderpinto, @RolandKrummenacher, @MSBrett, and @flanakin. Thanks also to @Christopherloof, @haflidif, @JacobStruiksma, @josesarsa, @sandhyakumili, @sharmilamusunuru, and @xan-archera for your support. + +## What's next + +The [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap) now covers the rest of 2026. Here's what's in development: + +- FOCUS 1.5 support across FinOps hubs, Power BI reports, agent plugins, and documentation. +- Quota, capacity, and savings plan recommendations in FinOps hubs, along with dashboards for AI billing, tokenomics, and capacity. +- Security hardening for hubs, including opt-in Key Vault role-based access control and the option to disable storage Shared Key access. +- A FinOps and capacity SRE Agent template, and AI-assisted triage to help us keep up with issues. +- Cross-cloud cost ingestion and a Terraform module for FinOps hubs. + +None of this has dates, and the roadmap is driven by what you tell us you need. [Create an issue](https://aka.ms/ftk/ideas) or [start a discussion](https://aka.ms/ftk/discuss) and let us know what you'd like to see next. + +## Preview snippet + +> FinOps toolkit 15 adds an agent plugin for Claude Code and GitHub Copilot CLI, a guide for running FinOps hubs locally, private networking modes for hubs, and a new instance size flexibility open data dataset that replaces retired external files. + +## Social media + +**LinkedIn:** + +> The #FinOpsToolkit v15 is out! +> +> You can now ask Claude Code or GitHub Copilot CLI about your #FinOpsHubs data with a new agent plugin, run a hub locally in a container, and deploy hubs in private network mode. We also replaced the retired instance size flexibility files with open data that refreshes weekly. +> +> Check it out and let us know what you'd like to see next! +> +> {{POST_URL}} + +**Twitter/X:** + +> #FinOpsToolkit v15 is out! +> +> - Agent plugin for Claude Code + GitHub Copilot CLI +> - Run #FinOpsHubs locally +> - Private networking modes +> - New instance size flexibility open data +> +> What do you want next? +> +> {{POST_URL}} + +**Internal:** + +> FinOps toolkit 15 is live: agent plugin for Claude Code and Copilot CLI, run hubs locally, private networking modes, and instance size flexibility open data. {{POST_URL}} From 068024faadd247c773580c6f22a726e8d643acd5 Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 12:32:28 -0700 Subject: [PATCH 02/13] docs(announce): address v15 announcement review feedback Center the plugin on AI assistants, add Agent Plugins platform list, clarify private networking changes, add FinOps hubs quality and ecosystem sections, reframe open data section, positive framing, and refresh social copy. Co-Authored-By: flanakin Co-Authored-By: Claude Sonnet 5.5 --- announce/2026/2026-10_v15.md | 138 +++++++++++++++++++++-------------- 1 file changed, 82 insertions(+), 56 deletions(-) diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index 35c3cd672..7b7c5ee76 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -1,126 +1,151 @@ # What's new in FinOps toolkit 15 – October 2026 -Whether you consider yourself a FinOps practitioner, someone enthusiastic about driving cloud efficiency, or were just tasked with reducing cloud costs, the FinOps toolkit has something for you. This release is about working with your FinOps data wherever you already are. There's a new plugin that puts FinOps hubs inside Claude Code and GitHub Copilot CLI, a guide for running a hub on your own machine, and private networking modes for hubs that need to stay off the public internet. We also replaced the instance size flexibility files that Microsoft retired with open data the toolkit generates itself. Read on for details. +Whether you consider yourself a FinOps practitioner, someone enthusiastic about driving cloud efficiency, or were just tasked with reducing cloud costs, the FinOps toolkit has something for you. FinOps toolkit v15 is about meeting you where you already work. A new agent plugin brings FinOps expertise and your cost data into the AI tools you already use, you can run a FinOps hub on your own machine, and private networking for FinOps hubs is easier to plan around. You also get new reservation and commitment discount data, plus improvements and fixes across Power BI reports, workbooks, alerts, the Azure Optimization Engine (AOE), and the PowerShell module. Read on for details. ## New to the FinOps toolkit? The FinOps toolkit is an open-source collection of tools and resources helping organizations learn, adopt, and implement FinOps in the Microsoft Cloud. The foundation includes the [Implementing FinOps guide](https://aka.ms/finops/guide) for getting started with native Azure portal tools or custom FinOps solutions. Learn more at the [FinOps toolkit documentation](https://aka.ms/ftk/docs). -## Ask your coding agent about your FinOps data +## Ask your AI assistant about your FinOps data -Most of us already have an agent open in a terminal all day. It can read your code, but it has no idea what your cloud costs. v15 fixes that with a new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin) for Claude Code and GitHub Copilot CLI. +Most of us already keep an AI assistant open all day, whether it's a favorite desktop app, VS Code, or a terminal. Now imagine asking it which Azure services drove last month's spend and getting an answer grounded in your own FinOps data. FinOps toolkit v15 makes that possible with a new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin). -The plugin includes five agents: a CFO, a FinOps practitioner, a FinOps hubs database query agent, a hubs agent for deploying and troubleshooting, and an Azure capacity manager. There are four commands for connecting to a hub, checking its health, and running month-over-month and year-to-date cost reports. A FinOps hubs KQL skill gives the agents the schema and a query catalog, so they write queries against the real `Costs()`, `Prices()`, `Recommendations()`, and `Transactions()` functions instead of guessing at column names. +The plugin includes five agents: a CFO, a FinOps practitioner, a FinOps hubs database query agent, a FinOps hubs agent for deploying and troubleshooting, and an Azure capacity manager. The CFO, FinOps practitioner, and capacity manager are ready to help with FinOps guidance and Azure capacity questions with or without a FinOps hub. Connect a FinOps hub and the query agent can answer questions about your cost data. A FinOps hubs KQL skill gives it the schema and a query catalog, so it writes queries against the real `Costs()`, `Prices()`, `Recommendations()`, and `Transactions()` functions instead of guessing at column names. -The plugin also registers an Azure MCP server scoped to Data Explorer in read-only mode. It can query your hub, but it can't change anything in your environment. To install it, run `claude plugin add microsoft/finops-toolkit` in Claude Code or `copilot plugin install microsoft/finops-toolkit` in GitHub Copilot CLI. You'll need to be signed in with `az login` and have Database Viewer access to your hub's Data Explorer cluster. +A few commands cover the most common tasks, like connecting to a FinOps hub, checking its health, and running month-over-month and year-to-date cost reports. The [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) has the full list. -This is the first release of the plugin and we want to hear what's missing. Tell us which agents and commands you'd use every week. +The plugin also registers an Azure MCP server scoped to Data Explorer in read-only mode. It can query your FinOps hub, but it can't change anything in your environment. To install it, run `claude plugin add microsoft/finops-toolkit` in Claude Code or `copilot plugin install microsoft/finops-toolkit` in GitHub Copilot CLI. You'll need to be signed in with `az login` and have Database Viewer access to your FinOps hub's Data Explorer cluster. + +The plugin is packaged for GitHub Copilot CLI and Claude, including Claude Code and Cowork. It builds on skills and MCP servers, the same building blocks as [Agent Plugins](https://agent-plugins.org), an open standard for packaging them across AI tools. These tools support the Agent Plugins standard: + +- GitHub Copilot +- ChatGPT and Codex +- Cursor +- Kiro +- Visual Studio Code + +If you'd like to use the FinOps toolkit plugin in one of them, tell us. We're also looking into a FinOps toolkit MCP server to take this even further, so now's a great time to share what you'd like to see next. You'll find the links at the end of this post. ## Run a FinOps hub on your own machine -Not every hub question needs a deployed hub. Sometimes you want to explore the data model, test a query against a large customer dataset, or work somewhere you can't reach Azure. The new [Run hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide walks through running a hub in the Kusto emulator, a free container. It uses the same KQL, transforms, and open data as a deployed hub, so what you learn locally carries over. +Not every FinOps hub question needs a deployed hub. Sometimes you want to explore the data model, test a query against a large dataset, or work somewhere you can't reach Azure. Sometimes you're on a Finance team that wants to get started without waiting on engineering to deploy Azure resources. The new [Run FinOps hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide walks through running a FinOps hub in the Kusto emulator, a free container. It uses the same KQL, transforms, and open data as a deployed hub, so what you learn locally carries over. -You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command. The release also includes a `finops-hub-local-opendata.kql` file that loads the open data tables. It's generated from the open data CSV files at build time, so your local hub stays in sync with what we publish. +You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The guide is written so you or your AI assistant can run each step. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command. The release also includes a `finops-hub-local-opendata.kql` file that loads the open data tables. It's generated from the open data CSV files at build time, so your local hub stays in sync with what we publish. -A local hub isn't a replacement for a deployed one. It doesn't have scheduled ingestion, networking, or security. But for exploration, validation, and consulting work, it's a lot faster than standing up Azure resources first. +A local hub complements a deployed one. It's built for exploring, validating, and supporting consulting work, so it doesn't include scheduled ingestion or sharing. Your cost data and databases live in folders you choose on your machine, and the guide mounts your exports read-only. ## Private networking for FinOps hubs -FinOps hubs now support virtual network and private network modes. If your organization requires data services to stay off the public internet, you can deploy a hub that way from the start. Private mode includes opt-in NAT Gateway support for outbound access. Keep in mind that NAT Gateway adds cost when you enable it. +FinOps hubs have supported private networking for several releases. FinOps toolkit v15 makes private deployments work in more environments. + +Private mode now includes an opt-in NAT Gateway that gives the FinOps hub explicit outbound access. That lets private deployments work in subscriptions with an Azure Policy that requires subnets to have default outbound access disabled. NAT Gateway adds cost when you enable it. To turn it on, set **Access** to **Private** on the **Advanced** tab of the deployment UI, then select **Deploy NAT Gateway for controlled outbound access**. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode private`. The new `-NetworkMode` parameter also accepts `public` and `vnet`, which uses private endpoints with default outbound access. + +Deployment options aren't remembered from one deployment to the next, so set the same network options every time you upgrade. In PowerShell, that means passing the same `-NetworkMode` each time. + +We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. And deployments with Data Explorer now complete when you approve private endpoint connections, without a `ServiceIsInMaintenance` error. + +## Faster, more reliable, more accurate FinOps hubs -We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. +FinOps toolkit v15 is a quality release for FinOps hubs, so it's a great time to upgrade. Here's what you get: -Private deployments also got several fixes in this release. Private mode subnets no longer trip Azure Policy that requires default outbound access to be disabled, and deployments with Data Explorer no longer fail with a `ServiceIsInMaintenance` error when approving private endpoint connections. +- **Performance:** Queries use case-insensitive comparisons that take advantage of the term index, so they run faster on large datasets. Dimension lookups during ingestion use a faster operator, and Data Factory puts less memory pressure on ingestion. +- **Reliability:** Redeploys and upgrades keep your data retention settings unless you specify a new value. Managed exports get the role they need through Data Factory. Triggers deploy in regions without a time zone mapping, like Sweden Central, and managed export triggers validate in Japan. The first ingestion for a scope, dataset, and month runs without a `PathNotFound` error, most noticeably for reservation recommendation exports. +- **Data quality:** Commitment purchases no longer inflate savings and effective savings rate in the dashboard. Commitment discount savings are accurate when duplicate reservation price rows exist. FOCUS 1.0 cost data is labeled correctly in `x_SourceVersion`. `ContractedCost` is only rewritten when it needs to be, which keeps the `x_SourceValues` audit trail clean. The SQL VMs without Azure Hybrid Benefit recommendation now includes VMs with uppercase names. -## Instance size flexibility without the retired files +Ready to upgrade? See [Create and update FinOps hubs](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/deploy). -Reservation tooling depends on instance size flexibility (ISF) data to group SKUs and compare sizes. The external files we used for that were retired, which left hubs, Power BI reports, and the Azure Optimization Engine pointing at data nobody maintains anymore. +## Plan reservations and savings plans with better data -v15 adds an [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) open data dataset that maps each ARM SKU to its flexibility group and ratio. It's sourced from the Azure Reservations Catalogs API, covers every physical Azure region instead of a fixed list, and refreshes weekly. New SKUs show up and retired SKUs age out without us republishing anything. The ratios use the same scale as the retired files and match them for 1,223 of the 1,291 rows the two share. Power BI reports and the Azure Optimization Engine workbooks now use it. +Planning reservations and savings plans runs on data: which SKUs flex together, which meters qualify for a commitment discount, and which columns tell you so. FinOps toolkit v15 improves all three with a new instance size flexibility dataset, a refreshed commitment discount eligibility dataset, and PowerShell commands to look both up. FinOps hubs also get a fix for the commitment discount eligibility price columns. -The PowerShell module has two new commands to generate open data files: [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility). +Reservation tools depend on instance size flexibility (ISF) data to group SKUs and compare sizes. Microsoft retired the static files that held this data, so v15 adds a new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset to open data. It maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every physical Azure region. Ratios use the same normalized scale as the retired files. Power BI reports and the Azure Optimization Engine workbooks were both updated to use this new dataset. -If you use the commitment discount eligibility dataset from v14, there are fixes you should know about. The weekly refresh was timing out, which left the dataset unchanged since v14. That's fixed, and retired meters now age out while previously missed meters are included. Also, `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility` had each other's values since v14. The spend column now reports savings plan pricing and the usage column reports reservation pricing. Prices ingested after you upgrade carry the corrected values, but rows you already ingested keep the old ones until you reingest them. +Two new PowerShell commands, [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility), give you programmatic access to this data in PowerShell. + +The [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset is up to date, too. It includes the latest meters and no longer lists retired ones. We refresh both datasets weekly in the dev branch, so the newest versions are always there. The files in each release are a snapshot from the time of the release. + +FinOps hubs also report the right values in `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility`. The spend column now reports savings plan pricing and the usage column reports reservation pricing, matching FOCUS. Upgrade to v15 and reingest your historical prices, and your whole price history lines up with the corrected values. + +## Find help in the FinOps toolkit ecosystem + +The FinOps toolkit is free and open source, and a growing ecosystem helps you get more out of it. The new [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) lists independent tools and organizations that build on or support the toolkit. Two stand out for the support they bring: + +- [Allyte](https://allyte.com) offers FinOps toolkit support and Microsoft FinOps advisory. +- [FinOpsHubs.com](https://finopshubs.com) is a web portal that extends your FinOps hubs instance. + +Other partners are listed there too. These organizations are independent of Microsoft. Know a tool or organization that belongs on the page? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). ## Other new and noteworthy updates **In the [Implementing FinOps guide](https://aka.ms/finops/guide):** -- Added a [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) listing independent tools and organizations that build on or support the toolkit. - Updated guidance to use current FinOps Framework capability names, like Usage optimization and Governance, policy, and risk. Power BI reports and workbooks use the same names. -- Fixed outdated descriptions of several cost and billing columns in the data dictionary to match FOCUS 1.2. +- Updated the data dictionary descriptions of several cost and billing columns to match FOCUS 1.2. **In [FinOps hubs](https://aka.ms/finops/hubs):** -- Fixed hub redeploys and upgrades resetting data retention and purging historical data. Retention now stays as configured unless you specify a new value. -- Fixed commitment purchases inflating savings and effective savings rate in the dashboard. -- Fixed understated commitment discount savings when duplicate reservation price rows exist. -- Fixed FOCUS 1.0 cost data being labeled as FOCUS 1.2 in `x_SourceVersion`. -- Fixed managed exports failing with an `Unauthorized` error because Data Factory was missing a required role. -- Fixed Data Factory trigger deployment failures in regions without a time zone mapping, like Sweden Central. -- Fixed a `PathNotFound` error on the first ingestion for a scope, dataset, and month, most often hit by reservation recommendation exports. -- Changed hub queries to use case-insensitive comparisons that take advantage of the term index, so they run faster on large datasets. - Updated the hub database guide to explain how columns are organized, added 27 missing columns, and corrected the `Costs()` column reference. -- Documented that the `config_RunBackfillJob` backfill option isn't supported on Microsoft Customer Agreement (MCA) billing accounts or profiles, and updated the backfill instructions to use `config_StartBackfillProcess`. +- Updated the backfill instructions to use `config_StartBackfillProcess`, which backfills every month in your retention window in one run. Microsoft Customer Agreement (MCA) billing accounts and profiles can backfill with Cost Management exports or `Start-FinOpsCostExport` instead. +- Updated the dashboard links for Governance, policy, and risk and for FinOps tools and services to go directly to the Microsoft Learn pages. **In [Power BI reports](https://aka.ms/ftk/pbi):** - Changed Azure Resource Graph queries to run per subscription batch to avoid payload size errors in the Governance and Workload optimization reports. - Changed the default **Number of Months** in storage reports from 1 to 3 to show more cost history. -- Fixed storage reports showing no data for gzip-compressed CSV exports (`.csv.gz`). -- Fixed storage report refresh errors for FOCUS 1.2 exports and for exports that use earlier FOCUS versions. -- Fixed the Reservations tab in the Rate optimization report showing no data for MCA accounts. -- Fixed report templates opening with a preconfigured demo data source. +- Storage reports now read gzip-compressed CSV exports (`.csv.gz`). This came up in the [October 28 office hours](https://aka.ms/ftk/office-hours). +- Storage reports refresh cleanly for FOCUS 1.2 exports and for exports that use earlier FOCUS versions. +- The Reservations tab in the Rate optimization report now shows data for MCA accounts. +- Report templates now open with empty storage and cluster settings, ready for your own data source. **In [FinOps workbooks](https://aka.ms/ftk/workbooks):** -- Fixed the savings plan workbook dropping recommendations. -- Fixed the Azure Hybrid Benefit workbook "VM Latest Change Last 7 days" tile always returning no rows, and SQL VM queries missing VMs with uppercase names. +- The savings plan workbook now shows every recommendation. +- The Azure Hybrid Benefit workbook "VM Latest Change Last 7 days" tile now returns results, and SQL VM queries include VMs with uppercase names. **In [FinOps alerts](https://aka.ms/ftk/alerts):** -- Fixed idle application gateway and idle public IP queries silently dropping results. +- Idle application gateway and idle public IP queries now return complete results. -**In [Azure optimization engine](https://aka.ms/ftk/aoe):** +**In [Azure Optimization Engine](https://aka.ms/ftk/aoe):** - Added an [Azure Optimization Engine reference](https://microsoft.github.io/finops-toolkit/optimization-engine/reference) for runbooks, schedules, variables, and tables. - Changed Log Analytics ingestion from the Data Collection API, which is deprecated in September 2026, to a Data Collection Rule and Ingestion API. -- Fixed reservations disappearing from the reservation workbooks when their SKU is no longer sold. -- Fixed Azure RBAC assignment exports calling the Azure Classic administrators endpoint, which was deprecated May 1, 2026. +- Reservations stay in the reservation workbooks when their SKU is no longer sold. +- Azure RBAC assignment exports no longer call the Azure Classic administrators endpoint, which was deprecated May 1, 2026. **In the [PowerShell module](https://aka.ms/ftk/ps):** -- Fixed [Deploy-FinOpsHub](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/deploy-finopshub) failing with certain `-Version` values and concurrent deployments. -- Fixed [Get-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/get-finopscostexport) `-RunHistory` not returning the complete run history. -- Fixed [Start-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/start-finopscostexport) exporting the wrong period in positive UTC offsets. +- [Deploy-FinOpsHub](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/deploy-finopshub) now works with single-part and `v`-prefixed `-Version` values, like `13` and `v14`, and with concurrent deployments. +- [Get-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/get-finopscostexport) `-RunHistory` returns the complete run history. +- [Start-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/start-finopscostexport) exports the correct period in positive UTC offsets. For the complete list, see the [changelog](https://aka.ms/ftk/changes#v15). -Thanks to everyone who contributed to this release: @bpurchell, @danfiedler-msft, @TakumiSeo, @helderpinto, @RolandKrummenacher, @MSBrett, and @flanakin. Thanks also to @Christopherloof, @haflidif, @JacobStruiksma, @josesarsa, @sandhyakumili, @sharmilamusunuru, and @xan-archera for your support. - ## What's next -The [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap) now covers the rest of 2026. Here's what's in development: +We're already starting the FinOps toolkit v16 release cycle with updates to FinOps Explorer and the Azure SRE Agent, and FOCUS 1.5 is coming in v17. Expect to hear more by the end of the year. Here's what's in development on the [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap): +- FinOps Explorer, an interactive, cross-platform terminal UI for FinOps scanning and exploration. +- An Azure SRE Agent template for FinOps and capacity management. - FOCUS 1.5 support across FinOps hubs, Power BI reports, agent plugins, and documentation. +- A FinOps toolkit MCP server, which we're looking into. - Quota, capacity, and savings plan recommendations in FinOps hubs, along with dashboards for AI billing, tokenomics, and capacity. -- Security hardening for hubs, including opt-in Key Vault role-based access control and the option to disable storage Shared Key access. -- A FinOps and capacity SRE Agent template, and AI-assisted triage to help us keep up with issues. -- Cross-cloud cost ingestion and a Terraform module for FinOps hubs. +- Security hardening for FinOps hubs, including opt-in Key Vault role-based access control and the option to disable storage Shared Key access. +- AI-assisted triage and repository automation with GitHub Agentic Workflows. -None of this has dates, and the roadmap is driven by what you tell us you need. [Create an issue](https://aka.ms/ftk/ideas) or [start a discussion](https://aka.ms/ftk/discuss) and let us know what you'd like to see next. +The roadmap is driven by what you tell us you need. [Create an issue](https://aka.ms/ftk/ideas) or [start a discussion](https://aka.ms/ftk/discuss) and let us know what you'd like to see next, including what you want from a FinOps toolkit MCP server. ## Preview snippet -> FinOps toolkit 15 adds an agent plugin for Claude Code and GitHub Copilot CLI, a guide for running FinOps hubs locally, private networking modes for hubs, and a new instance size flexibility open data dataset that replaces retired external files. +> FinOps toolkit 15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin, adds a guide to run FinOps hubs locally, improves private networking for FinOps hubs, and delivers new reservation and commitment discount data. ## Social media **LinkedIn:** -> The #FinOpsToolkit v15 is out! +> FinOps toolkit v15 is out! #FinOpsToolkit > -> You can now ask Claude Code or GitHub Copilot CLI about your #FinOpsHubs data with a new agent plugin, run a hub locally in a container, and deploy hubs in private network mode. We also replaced the retired instance size flexibility files with open data that refreshes weekly. +> Ask your AI assistant about your cloud costs with a new agent plugin, run a #FinOpsHubs instance on your own machine, and plan around private networking with opt-in NAT Gateway support. You also get new reservation and commitment discount data, plus improvements across Power BI reports, workbooks, alerts, the Azure Optimization Engine, and PowerShell. > > Check it out and let us know what you'd like to see next! > @@ -128,12 +153,13 @@ None of this has dates, and the roadmap is driven by what you tell us you need. **Twitter/X:** -> #FinOpsToolkit v15 is out! +> FinOps toolkit v15 is out! #FinOpsToolkit > -> - Agent plugin for Claude Code + GitHub Copilot CLI +> - Agent plugin for your AI assistant > - Run #FinOpsHubs locally -> - Private networking modes -> - New instance size flexibility open data +> - Private networking with opt-in NAT Gateway +> - New reservation and commitment discount data +> - Fixes across the toolkit > > What do you want next? > @@ -141,4 +167,4 @@ None of this has dates, and the roadmap is driven by what you tell us you need. **Internal:** -> FinOps toolkit 15 is live: agent plugin for Claude Code and Copilot CLI, run hubs locally, private networking modes, and instance size flexibility open data. {{POST_URL}} +> FinOps toolkit 15 is live: an agent plugin for your AI assistant, run FinOps hubs locally, private networking with opt-in NAT Gateway, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} From ddfd16b9b50e0da51ba9a64cf1bfebd23c3f1404 Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 12:32:28 -0700 Subject: [PATCH 03/13] docs: add positive tone, FinOps hubs, and version naming content standards Co-Authored-By: flanakin Co-Authored-By: Claude Sonnet 5.5 --- .claude/commands/announce.md | 1 + docs-wiki/Coding-guidelines.md | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.claude/commands/announce.md b/.claude/commands/announce.md index 3845d9cc7..6ad7ec1d5 100644 --- a/.claude/commands/announce.md +++ b/.claude/commands/announce.md @@ -84,6 +84,7 @@ Present the proposed outline via AskUserQuestion with options to approve, reorde 2. Determine the slug. For release announcements, use `v{N}` (e.g., `v14`). Otherwise, use a short kebab-cased topic (e.g., `azure-openai-costs`). 3. Write the draft to `announce/{year}/{yyyy-MM}_{slug}.md` using `Write`. 4. **Tone:** active voice, benefit-led, friendly but not breathless. Match the voice of recent releases in `announce/`. + - Apply the content standards in [Coding-guidelines.md](../../docs-wiki/Coding-guidelines.md#-content-strings-and-microcopy): stay positive, spell out "FinOps hubs" and "FinOps toolkit v##" on first reference per section (title, preview, and social posts included). 5. **Microsoft style:** sentence casing for headings (not Title Case), no end punctuation on short headings, follow [Coding-guidelines.md](../../docs-wiki/Coding-guidelines.md) content rules. 6. **Length:** release announcements run ~6–10 minute reads. Featured sections are 2–4 short paragraphs each. Don't pad. 7. **Links:** prefer `aka.ms` short links when they exist (check the changelog for examples). Use full Learn URLs for deep documentation. diff --git a/docs-wiki/Coding-guidelines.md b/docs-wiki/Coding-guidelines.md index 07ce72c65..c1ff7a0ae 100644 --- a/docs-wiki/Coding-guidelines.md +++ b/docs-wiki/Coding-guidelines.md @@ -42,6 +42,9 @@ We adhere to the [Microsoft style guide](https://docs.microsoft.com/style-guide/ - Remember the last comma – Always use a comma before "and" and "or" in a list of 3 or more items. - Don't be spacey - Revise weak writing +- Stay positive – Always put a positive spin on content and communications. Lead with what works, the right path, and what's better in the new version. Don't dwell on what was broken, missing, or unsupported. +- Spell out product names – Use the full name "FinOps hubs" for the first reference in each section, including titles, previews, and social posts. Shorter references like "hubs" or "hub" are fine later in the same section. Never use "hubs" alone to mean FinOps hubs since other products use the term. +- Qualify versions – Use "FinOps toolkit v15" for the first reference to a version in each section, never "v15" by itself. Later references in the same section can use "v15". [Learn more](https://docs.microsoft.com/style-guide/welcome) From 546a2dbe52237bdf47ec539dc5de0b4e3e605006 Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 13:51:18 -0700 Subject: [PATCH 04/13] docs(announce): address v15 announcement AI review feedback - Fix Claude Code plugin install commands (marketplace add, then install) - Remove unverified Cowork claim; list all compatible clients from agent-plugins.org - Reframe hub fixes and private networking positively; add upgrade notes (-DisablePublicAccess, -NetworkMode private, Az.Accounts 2.17.0, AOE ingestion) - Fix AOE reference link; add Advisor, Reservations Usage workbook, and gzip thanks - Use "FinOps toolkit v15" in title, preview, and internal post - Disclose Allyte relationship; refine voice and openings - Tighten Stay positive guideline; align announce title template Co-Authored-By: flanakin Co-Authored-By: Claude Sonnet 5.5 --- .claude/commands/announce.md | 2 +- announce/2026/2026-10_v15.md | 56 +++++++++++++++++++++------------- docs-wiki/Coding-guidelines.md | 2 +- 3 files changed, 36 insertions(+), 24 deletions(-) diff --git a/.claude/commands/announce.md b/.claude/commands/announce.md index 6ad7ec1d5..7407014c4 100644 --- a/.claude/commands/announce.md +++ b/.claude/commands/announce.md @@ -46,7 +46,7 @@ Propose an outline. The outline is **fixed** — do not invent new sections. Use this structure (matches `announce/2025/2025-08_v12.md` and `announce/2026/2026-02_v13.md`): -1. **Title** — `What's new in FinOps toolkit {N} – {Month} {Year}` +1. **Title** — `What's new in FinOps toolkit v{N} – {Month} {Year}` 2. **Intro paragraph** — One paragraph: who this release is for, what it emphasizes (themes, not full list), and a "read on for details" hook. 3. **New to the FinOps toolkit?** — Boilerplate intro for new readers. Reuse from the prior release; update links if they changed. 4. **Featured sections** (3–5) — Themed deep-dives on the biggest changes from the changelog. Each gets its own H2 with a benefit-led title (not just the feature name). This is the only part that varies per release. Inline contributor thanks belong here when relevant (e.g., "Thanks to @username for contributing this feature."). diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index 7b7c5ee76..e69cf6a86 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -1,6 +1,6 @@ -# What's new in FinOps toolkit 15 – October 2026 +# What's new in FinOps toolkit v15 – October 2026 -Whether you consider yourself a FinOps practitioner, someone enthusiastic about driving cloud efficiency, or were just tasked with reducing cloud costs, the FinOps toolkit has something for you. FinOps toolkit v15 is about meeting you where you already work. A new agent plugin brings FinOps expertise and your cost data into the AI tools you already use, you can run a FinOps hub on your own machine, and private networking for FinOps hubs is easier to plan around. You also get new reservation and commitment discount data, plus improvements and fixes across Power BI reports, workbooks, alerts, the Azure Optimization Engine (AOE), and the PowerShell module. Read on for details. +Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it know your cloud costs, too? FinOps toolkit v15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, plan around private networking with an opt-in NAT Gateway, and plan reservations and savings plans with new commitment discount data. Power BI reports, workbooks, alerts, the Azure Optimization Engine (AOE), and the PowerShell module all got improvements and fixes, too. Read on for details. ## New to the FinOps toolkit? @@ -8,23 +8,30 @@ The FinOps toolkit is an open-source collection of tools and resources helping o ## Ask your AI assistant about your FinOps data -Most of us already keep an AI assistant open all day, whether it's a favorite desktop app, VS Code, or a terminal. Now imagine asking it which Azure services drove last month's spend and getting an answer grounded in your own FinOps data. FinOps toolkit v15 makes that possible with a new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin). +Imagine asking your favorite AI desktop app, VS Code, or terminal which Azure services drove last month's spend and getting an answer grounded in your own FinOps data. FinOps toolkit v15 makes that possible with a new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin). The plugin includes five agents: a CFO, a FinOps practitioner, a FinOps hubs database query agent, a FinOps hubs agent for deploying and troubleshooting, and an Azure capacity manager. The CFO, FinOps practitioner, and capacity manager are ready to help with FinOps guidance and Azure capacity questions with or without a FinOps hub. Connect a FinOps hub and the query agent can answer questions about your cost data. A FinOps hubs KQL skill gives it the schema and a query catalog, so it writes queries against the real `Costs()`, `Prices()`, `Recommendations()`, and `Transactions()` functions instead of guessing at column names. A few commands cover the most common tasks, like connecting to a FinOps hub, checking its health, and running month-over-month and year-to-date cost reports. The [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) has the full list. -The plugin also registers an Azure MCP server scoped to Data Explorer in read-only mode. It can query your FinOps hub, but it can't change anything in your environment. To install it, run `claude plugin add microsoft/finops-toolkit` in Claude Code or `copilot plugin install microsoft/finops-toolkit` in GitHub Copilot CLI. You'll need to be signed in with `az login` and have Database Viewer access to your FinOps hub's Data Explorer cluster. +The plugin also registers an Azure MCP server scoped to Data Explorer in read-only mode, so it can query your FinOps hub without changing anything in your environment. -The plugin is packaged for GitHub Copilot CLI and Claude, including Claude Code and Cowork. It builds on skills and MCP servers, the same building blocks as [Agent Plugins](https://agent-plugins.org), an open standard for packaging them across AI tools. These tools support the Agent Plugins standard: +To install it in Claude Code, run `claude plugin marketplace add microsoft/finops-toolkit`, then `claude plugin install microsoft-finops-toolkit@finops-toolkit`. In GitHub Copilot CLI, run `copilot plugin install microsoft/finops-toolkit`. The plugin documentation covers the sign-in and permissions you need to connect to a FinOps hub. + +The plugin is packaged for Claude Code and GitHub Copilot CLI. It builds on skills and MCP servers, the same building blocks as [Agent Plugins](https://agent-plugins.org), an open standard for packaging them across AI tools. The [compatible clients](https://agent-plugins.org/compatible-clients) page lists the tools that support the standard: - GitHub Copilot - ChatGPT and Codex - Cursor +- Grok Bot +- Hermes Agent - Kiro +- NanoClaw +- OpenClaw +- OpenHands - Visual Studio Code -If you'd like to use the FinOps toolkit plugin in one of them, tell us. We're also looking into a FinOps toolkit MCP server to take this even further, so now's a great time to share what you'd like to see next. You'll find the links at the end of this post. +If you'd like to use the FinOps toolkit plugin in one of them, tell us. We're also looking into a FinOps toolkit MCP server to take this even further. You'll find ways to weigh in at the end of this post. ## Run a FinOps hub on your own machine @@ -32,25 +39,27 @@ Not every FinOps hub question needs a deployed hub. Sometimes you want to explor You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The guide is written so you or your AI assistant can run each step. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command. The release also includes a `finops-hub-local-opendata.kql` file that loads the open data tables. It's generated from the open data CSV files at build time, so your local hub stays in sync with what we publish. -A local hub complements a deployed one. It's built for exploring, validating, and supporting consulting work, so it doesn't include scheduled ingestion or sharing. Your cost data and databases live in folders you choose on your machine, and the guide mounts your exports read-only. +A local hub complements a deployed one. It's built for exploring, validating, and supporting consulting work. Your cost data and databases live in folders you choose on your machine, and the guide mounts your exports read-only. Use a deployed hub when you need scheduled ingestion and sharing. That's also where private networking comes in. ## Private networking for FinOps hubs -FinOps hubs have supported private networking for several releases. FinOps toolkit v15 makes private deployments work in more environments. +FinOps hubs have supported private deployments for a long time. FinOps toolkit v15 adds explicit network modes and makes private deployments work in more environments. Private mode now includes an opt-in NAT Gateway that gives the FinOps hub explicit outbound access. That lets private deployments work in subscriptions with an Azure Policy that requires subnets to have default outbound access disabled. NAT Gateway adds cost when you enable it. To turn it on, set **Access** to **Private** on the **Advanced** tab of the deployment UI, then select **Deploy NAT Gateway for controlled outbound access**. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode private`. The new `-NetworkMode` parameter also accepts `public` and `vnet`, which uses private endpoints with default outbound access. -Deployment options aren't remembered from one deployment to the next, so set the same network options every time you upgrade. In PowerShell, that means passing the same `-NetworkMode` each time. +When you upgrade, pass the same network options to keep your network setup: the same **Access** setting in the deployment UI or the same `-NetworkMode` in PowerShell. Private mode needs FinOps hubs version 15 or later. If your scripts use `-DisablePublicAccess`, it still works and maps to `vnet`, so move to `-NetworkMode` when you're ready. + +We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. Deployments with Data Explorer also complete smoothly when you approve private endpoint connections. -We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. And deployments with Data Explorer now complete when you approve private endpoint connections, without a `ServiceIsInMaintenance` error. +Networking isn't the only thing that got stronger. ## Faster, more reliable, more accurate FinOps hubs FinOps toolkit v15 is a quality release for FinOps hubs, so it's a great time to upgrade. Here's what you get: -- **Performance:** Queries use case-insensitive comparisons that take advantage of the term index, so they run faster on large datasets. Dimension lookups during ingestion use a faster operator, and Data Factory puts less memory pressure on ingestion. -- **Reliability:** Redeploys and upgrades keep your data retention settings unless you specify a new value. Managed exports get the role they need through Data Factory. Triggers deploy in regions without a time zone mapping, like Sweden Central, and managed export triggers validate in Japan. The first ingestion for a scope, dataset, and month runs without a `PathNotFound` error, most noticeably for reservation recommendation exports. -- **Data quality:** Commitment purchases no longer inflate savings and effective savings rate in the dashboard. Commitment discount savings are accurate when duplicate reservation price rows exist. FOCUS 1.0 cost data is labeled correctly in `x_SourceVersion`. `ContractedCost` is only rewritten when it needs to be, which keeps the `x_SourceValues` audit trail clean. The SQL VMs without Azure Hybrid Benefit recommendation now includes VMs with uppercase names. +- **Faster:** Large queries run faster, dimension lookups during ingestion are quicker, and Data Factory uses less memory during ingestion. +- **Smoother deployments and upgrades:** Redeploys and upgrades keep your data retention settings unless you specify a new value. Managed exports get the role they need through Data Factory. Data Factory triggers deploy in regions like Sweden Central, and managed export triggers validate in Japan. The first ingestion for a scope, dataset, and month runs cleanly, including for reservation recommendation exports. +- **More trustworthy numbers:** Savings and effective savings rate in the dashboard exclude commitment purchases. Commitment discount savings are accurate even when duplicate reservation price rows exist. FOCUS 1.0 cost data is labeled as FOCUS 1.0. Contracted cost values are only updated when they need to be, which keeps the audit trail clean. The SQL VMs without Azure Hybrid Benefit recommendation includes VMs with uppercase names. Ready to upgrade? See [Create and update FinOps hubs](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/deploy). @@ -58,19 +67,19 @@ Ready to upgrade? See [Create and update FinOps hubs](https://learn.microsoft.co Planning reservations and savings plans runs on data: which SKUs flex together, which meters qualify for a commitment discount, and which columns tell you so. FinOps toolkit v15 improves all three with a new instance size flexibility dataset, a refreshed commitment discount eligibility dataset, and PowerShell commands to look both up. FinOps hubs also get a fix for the commitment discount eligibility price columns. -Reservation tools depend on instance size flexibility (ISF) data to group SKUs and compare sizes. Microsoft retired the static files that held this data, so v15 adds a new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset to open data. It maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every physical Azure region. Ratios use the same normalized scale as the retired files. Power BI reports and the Azure Optimization Engine workbooks were both updated to use this new dataset. +Reservation tools depend on instance size flexibility (ISF) data to group SKUs and compare sizes. The new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset in open data replaces the previous static files. It maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every physical Azure region. Ratios use the same normalized scale you already use. Power BI reports and the Azure Optimization Engine workbooks were both updated to use this new dataset. Two new PowerShell commands, [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility), give you programmatic access to this data in PowerShell. The [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset is up to date, too. It includes the latest meters and no longer lists retired ones. We refresh both datasets weekly in the dev branch, so the newest versions are always there. The files in each release are a snapshot from the time of the release. -FinOps hubs also report the right values in `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility`. The spend column now reports savings plan pricing and the usage column reports reservation pricing, matching FOCUS. Upgrade to v15 and reingest your historical prices, and your whole price history lines up with the corrected values. +FinOps hubs also report the right values in `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility`. The spend column now reports savings plan pricing and the usage column reports reservation pricing, matching FOCUS. Upgrade to v15 and [reingest your historical prices](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade), and your whole price history lines up with the corrected values. And you don't have to do any of this alone. ## Find help in the FinOps toolkit ecosystem -The FinOps toolkit is free and open source, and a growing ecosystem helps you get more out of it. The new [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) lists independent tools and organizations that build on or support the toolkit. Two stand out for the support they bring: +The FinOps toolkit is free and open source, and a growing ecosystem helps you get more out of it. The new [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) lists independent tools and organizations that build on or support the toolkit. Two to know about: -- [Allyte](https://allyte.com) offers FinOps toolkit support and Microsoft FinOps advisory. +- [Allyte](https://allyte.com) provides official support for the FinOps toolkit, runs the FinOps toolkit office hours, and offers Microsoft FinOps advisory. Allyte is my company, and it also publishes this announcement. - [FinOpsHubs.com](https://finopshubs.com) is a web portal that extends your FinOps hubs instance. Other partners are listed there too. These organizations are independent of Microsoft. Know a tool or organization that belongs on the page? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). @@ -92,7 +101,8 @@ Other partners are listed there too. These organizations are independent of Micr - Changed Azure Resource Graph queries to run per subscription batch to avoid payload size errors in the Governance and Workload optimization reports. - Changed the default **Number of Months** in storage reports from 1 to 3 to show more cost history. -- Storage reports now read gzip-compressed CSV exports (`.csv.gz`). This came up in the [October 28 office hours](https://aka.ms/ftk/office-hours). +- Storage reports now read gzip-compressed CSV exports (`.csv.gz`). This came up in the [October 28 office hours](https://aka.ms/ftk/office-hours). Thanks to [RolandKrummenacher](https://github.com/RolandKrummenacher) on GitHub for contributing this fix. +- Advisor recommendation tables return complete results. - Storage reports refresh cleanly for FOCUS 1.2 exports and for exports that use earlier FOCUS versions. - The Reservations tab in the Rate optimization report now shows data for MCA accounts. - Report templates now open with empty storage and cluster settings, ready for your own data source. @@ -108,16 +118,18 @@ Other partners are listed there too. These organizations are independent of Micr **In [Azure Optimization Engine](https://aka.ms/ftk/aoe):** -- Added an [Azure Optimization Engine reference](https://microsoft.github.io/finops-toolkit/optimization-engine/reference) for runbooks, schedules, variables, and tables. -- Changed Log Analytics ingestion from the Data Collection API, which is deprecated in September 2026, to a Data Collection Rule and Ingestion API. +- Added an [Azure Optimization Engine reference](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/reference) for runbooks, schedules, variables, and tables. +- Log Analytics ingestion now uses a Data Collection Rule and Ingestion API, the supported path after the Data Collection API deprecation in September 2026. Existing deployments pick it up when you [upgrade by rerunning the deployment script](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/setup-options#upgrading-aoe). - Reservations stay in the reservation workbooks when their SKU is no longer sold. - Azure RBAC assignment exports no longer call the Azure Classic administrators endpoint, which was deprecated May 1, 2026. +- The Reservations Usage workbook works with the current consumption table schema. **In the [PowerShell module](https://aka.ms/ftk/ps):** - [Deploy-FinOpsHub](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/deploy-finopshub) now works with single-part and `v`-prefixed `-Version` values, like `13` and `v14`, and with concurrent deployments. - [Get-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/get-finopscostexport) `-RunHistory` returns the complete run history. - [Start-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/start-finopscostexport) exports the correct period in positive UTC offsets. +- The module now requires `Az.Accounts` 2.17.0 or later, so the `Get-AzAccessToken -AsSecureString` parameter is always available. Run `Update-Module Az.Accounts` if you're on an older version. For the complete list, see the [changelog](https://aka.ms/ftk/changes#v15). @@ -137,7 +149,7 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak ## Preview snippet -> FinOps toolkit 15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin, adds a guide to run FinOps hubs locally, improves private networking for FinOps hubs, and delivers new reservation and commitment discount data. +> FinOps toolkit v15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin, adds a guide to run FinOps hubs locally, improves private networking for FinOps hubs, and delivers new reservation and commitment discount data. ## Social media @@ -167,4 +179,4 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak **Internal:** -> FinOps toolkit 15 is live: an agent plugin for your AI assistant, run FinOps hubs locally, private networking with opt-in NAT Gateway, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} +> FinOps toolkit v15 is live: an agent plugin for your AI assistant, run FinOps hubs locally, private networking with opt-in NAT Gateway, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} diff --git a/docs-wiki/Coding-guidelines.md b/docs-wiki/Coding-guidelines.md index c1ff7a0ae..2dfcbf6c2 100644 --- a/docs-wiki/Coding-guidelines.md +++ b/docs-wiki/Coding-guidelines.md @@ -42,7 +42,7 @@ We adhere to the [Microsoft style guide](https://docs.microsoft.com/style-guide/ - Remember the last comma – Always use a comma before "and" and "or" in a list of 3 or more items. - Don't be spacey - Revise weak writing -- Stay positive – Always put a positive spin on content and communications. Lead with what works, the right path, and what's better in the new version. Don't dwell on what was broken, missing, or unsupported. +- Stay positive – Lead with what works, the right path, and what's better in the new version. Don't dwell on what was broken, missing, or unsupported. - Spell out product names – Use the full name "FinOps hubs" for the first reference in each section, including titles, previews, and social posts. Shorter references like "hubs" or "hub" are fine later in the same section. Never use "hubs" alone to mean FinOps hubs since other products use the term. - Qualify versions – Use "FinOps toolkit v15" for the first reference to a version in each section, never "v15" by itself. Later references in the same section can use "v15". From b2b06f17f79e6a5ed42e30e04be9b25a6bf73249 Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 16:12:54 -0700 Subject: [PATCH 05/13] Address v15 announcement feedback - Reframe AI plugin section, plugin compatibility, and install steps - Warm intros for local hubs and private networking - Restructure FinOps hubs quality and commitment discount sections - Generalize first-reference guidance in announce command Co-Authored-By: Claude Sonnet 5.5 --- .claude/commands/announce.md | 2 +- announce/2026/2026-10_v15.md | 70 ++++++++++++++++++------------------ 2 files changed, 35 insertions(+), 37 deletions(-) diff --git a/.claude/commands/announce.md b/.claude/commands/announce.md index 7407014c4..dc31a00e5 100644 --- a/.claude/commands/announce.md +++ b/.claude/commands/announce.md @@ -84,7 +84,7 @@ Present the proposed outline via AskUserQuestion with options to approve, reorde 2. Determine the slug. For release announcements, use `v{N}` (e.g., `v14`). Otherwise, use a short kebab-cased topic (e.g., `azure-openai-costs`). 3. Write the draft to `announce/{year}/{yyyy-MM}_{slug}.md` using `Write`. 4. **Tone:** active voice, benefit-led, friendly but not breathless. Match the voice of recent releases in `announce/`. - - Apply the content standards in [Coding-guidelines.md](../../docs-wiki/Coding-guidelines.md#-content-strings-and-microcopy): stay positive, spell out "FinOps hubs" and "FinOps toolkit v##" on first reference per section (title, preview, and social posts included). + - Apply the content standards in [Coding-guidelines.md](../../docs-wiki/Coding-guidelines.md#-content-strings-and-microcopy): stay positive, spell out product names and versions (like "FinOps hubs" and "FinOps toolkit v##") on first reference per section, and only abbreviate on secondary references (preview and social posts included; titles can drop the "v"). 5. **Microsoft style:** sentence casing for headings (not Title Case), no end punctuation on short headings, follow [Coding-guidelines.md](../../docs-wiki/Coding-guidelines.md) content rules. 6. **Length:** release announcements run ~6–10 minute reads. Featured sections are 2–4 short paragraphs each. Don't pad. 7. **Links:** prefer `aka.ms` short links when they exist (check the changelog for examples). Use full Learn URLs for deep documentation. diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index e69cf6a86..e95963596 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -1,79 +1,76 @@ -# What's new in FinOps toolkit v15 – October 2026 +# What's new in FinOps toolkit 15 – October 2026 -Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it know your cloud costs, too? FinOps toolkit v15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, plan around private networking with an opt-in NAT Gateway, and plan reservations and savings plans with new commitment discount data. Power BI reports, workbooks, alerts, the Azure Optimization Engine (AOE), and the PowerShell module all got improvements and fixes, too. Read on for details. +Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it help you understand and optimize your cloud costs, too? FinOps toolkit v15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, plan around private networking with an opt-in NAT Gateway, and plan reservations and savings plans with new commitment discount data. Power BI reports, workbooks, alerts, Azure Optimization Engine (AOE), and the PowerShell module all got improvements and fixes, too. Read on for details. ## New to the FinOps toolkit? The FinOps toolkit is an open-source collection of tools and resources helping organizations learn, adopt, and implement FinOps in the Microsoft Cloud. The foundation includes the [Implementing FinOps guide](https://aka.ms/finops/guide) for getting started with native Azure portal tools or custom FinOps solutions. Learn more at the [FinOps toolkit documentation](https://aka.ms/ftk/docs). -## Ask your AI assistant about your FinOps data +## Leverage AI to scale your FinOps impact -Imagine asking your favorite AI desktop app, VS Code, or terminal which Azure services drove last month's spend and getting an answer grounded in your own FinOps data. FinOps toolkit v15 makes that possible with a new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin). +Imagine working alongside an AI agent that understands FinOps and your data. Ask which Azure services drove last month's spend, then have it plan a fix, draft a proposal for engineering, or build the report your leadership asks for, all grounded in your own cost data. FinOps toolkit v15 brings that closer with a new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin). -The plugin includes five agents: a CFO, a FinOps practitioner, a FinOps hubs database query agent, a FinOps hubs agent for deploying and troubleshooting, and an Azure capacity manager. The CFO, FinOps practitioner, and capacity manager are ready to help with FinOps guidance and Azure capacity questions with or without a FinOps hub. Connect a FinOps hub and the query agent can answer questions about your cost data. A FinOps hubs KQL skill gives it the schema and a query catalog, so it writes queries against the real `Costs()`, `Prices()`, `Recommendations()`, and `Transactions()` functions instead of guessing at column names. +The plugin includes five agents: a CFO, FinOps practitioner, FinOps hubs database query agent, FinOps hubs agent for deploying and troubleshooting, and Azure capacity manager. The CFO, FinOps practitioner, and capacity manager can offer FinOps guidance, answer limited cost questions with the Azure Cost Management access you already have, and help with Azure capacity, with or without a FinOps hub. Connect a FinOps hub and the query agent goes further, tackling complex questions like month-over-month trends, anomaly detection, and forecasting across your full cost, price, and recommendation data. A FinOps hubs KQL skill gives it the schema and a query catalog, so it writes queries against the real Costs, Prices, Recommendations, and Transactions datasets instead of guessing. A few commands cover the most common tasks, like connecting to a FinOps hub, checking its health, and running month-over-month and year-to-date cost reports. The [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) has the full list. -The plugin also registers an Azure MCP server scoped to Data Explorer in read-only mode, so it can query your FinOps hub without changing anything in your environment. +The plugin also registers an Azure MCP server scoped to Data Explorer in read-only mode, so it can query your FinOps hub without changing anything in your environment. If you need to go further, you can add the full [Azure MCP server](https://github.com/Azure/azure-mcp) yourself. We kept the plugin's server scoped to avoid bloating your agent's context. -To install it in Claude Code, run `claude plugin marketplace add microsoft/finops-toolkit`, then `claude plugin install microsoft-finops-toolkit@finops-toolkit`. In GitHub Copilot CLI, run `copilot plugin install microsoft/finops-toolkit`. The plugin documentation covers the sign-in and permissions you need to connect to a FinOps hub. +The plugin builds on [Agent Plugins](https://agent-plugins.org), an open standard, so it works across the AI platforms that support the standard, such as GitHub Copilot, ChatGPT, and Claude. Refer to [compatible clients](https://agent-plugins.org/compatible-clients) for a full list of currently supported tools and platforms. -The plugin is packaged for Claude Code and GitHub Copilot CLI. It builds on skills and MCP servers, the same building blocks as [Agent Plugins](https://agent-plugins.org), an open standard for packaging them across AI tools. The [compatible clients](https://agent-plugins.org/compatible-clients) page lists the tools that support the standard: +To install it in GitHub Copilot CLI, run `copilot plugin install microsoft/finops-toolkit`. In Claude Cowork or Claude Code, run `/plugin marketplace add microsoft/finops-toolkit`, then `/plugin install microsoft-finops-toolkit@finops-toolkit`. Other tools have their own install commands, so check their documentation. The plugin documentation covers the sign-in and permissions you need to connect to a FinOps hub. -- GitHub Copilot -- ChatGPT and Codex -- Cursor -- Grok Bot -- Hermes Agent -- Kiro -- NanoClaw -- OpenClaw -- OpenHands -- Visual Studio Code - -If you'd like to use the FinOps toolkit plugin in one of them, tell us. We're also looking into a FinOps toolkit MCP server to take this even further. You'll find ways to weigh in at the end of this post. +Let us know where you'd like to see this go. We're also looking into a FinOps toolkit MCP server to take this even further. ## Run a FinOps hub on your own machine -Not every FinOps hub question needs a deployed hub. Sometimes you want to explore the data model, test a query against a large dataset, or work somewhere you can't reach Azure. Sometimes you're on a Finance team that wants to get started without waiting on engineering to deploy Azure resources. The new [Run FinOps hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide walks through running a FinOps hub in the Kusto emulator, a free container. It uses the same KQL, transforms, and open data as a deployed hub, so what you learn locally carries over. +Not every question needs a deployed FinOps hub. Maybe you want to explore the data model, test a query against a large dataset, or work somewhere you can't reach Azure. Maybe you just want to prototype FinOps hubs before engaging engineering and deploying Azure resources. The new [Run FinOps hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide walks through running a FinOps hub in the Kusto emulator, a free container. It uses the same KQL, transforms, and open data as a deployed hub, so what you learn locally carries over. -You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The guide is written so you or your AI assistant can run each step. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command. The release also includes a `finops-hub-local-opendata.kql` file that loads the open data tables. It's generated from the open data CSV files at build time, so your local hub stays in sync with what we publish. +You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The guide is written so you or your AI assistant can run each step. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command and loads all the tables and datasets, just like a normal FinOps hubs instance. -A local hub complements a deployed one. It's built for exploring, validating, and supporting consulting work. Your cost data and databases live in folders you choose on your machine, and the guide mounts your exports read-only. Use a deployed hub when you need scheduled ingestion and sharing. That's also where private networking comes in. +A local hub is a separate way to use FinOps hubs, not a replacement for a deployed one. It's built for exploring, validating, and supporting consulting work. It doesn't come with scheduled ingestion or a service level agreement (SLA) like a deployed hub does, so use a deployed hub when you need those and want to share data across your organization. Your cost data and databases live in folders you choose on your machine, so they're still there when you restart the container. ## Private networking for FinOps hubs -FinOps hubs have supported private deployments for a long time. FinOps toolkit v15 adds explicit network modes and makes private deployments work in more environments. - -Private mode now includes an opt-in NAT Gateway that gives the FinOps hub explicit outbound access. That lets private deployments work in subscriptions with an Azure Policy that requires subnets to have default outbound access disabled. NAT Gateway adds cost when you enable it. To turn it on, set **Access** to **Private** on the **Advanced** tab of the deployment UI, then select **Deploy NAT Gateway for controlled outbound access**. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode private`. The new `-NetworkMode` parameter also accepts `public` and `vnet`, which uses private endpoints with default outbound access. +If your organization needs to keep its FinOps hub off the public internet, FinOps toolkit v15 makes private networking easier to adopt. It adds explicit network modes, and private mode now includes an opt-in NAT Gateway that gives the FinOps hub explicit outbound access. That lets private deployments work in subscriptions with an Azure Policy that requires subnets to have default outbound access disabled. NAT Gateway adds cost when you enable it. To turn it on, set **Access** to **Private** on the **Advanced** tab of the deployment UI, then select **Deploy NAT Gateway for controlled outbound access**. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode private`. The new `-NetworkMode` parameter also accepts `public` and `vnet`, which uses private endpoints with default outbound access. When you upgrade, pass the same network options to keep your network setup: the same **Access** setting in the deployment UI or the same `-NetworkMode` in PowerShell. Private mode needs FinOps hubs version 15 or later. If your scripts use `-DisablePublicAccess`, it still works and maps to `vnet`, so move to `-NetworkMode` when you're ready. We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. Deployments with Data Explorer also complete smoothly when you approve private endpoint connections. -Networking isn't the only thing that got stronger. +## FinOps hubs are faster, more reliable, and more accurate + +FinOps toolkit v15 is a quality release for FinOps hubs, so it's a great time to upgrade. From performance and reliability to data quality, there's something for everyone. Here's what you get: + +**Faster queries and ingestion.** Large queries run faster because they now use the engine's term index instead of scanning every row. Lookups during ingestion are quicker, too, and Data Factory uses less memory when it filters out empty files. + +**Smoother deployments and upgrades:** + +- Upgrades protect your data. Redeploying or upgrading keeps your data retention settings unless you specify a new value, so historical data isn't purged by accident. +- Managed exports work out of the box. Exports that failed with an `Unauthorized` error because Data Factory was missing a required role now get that role automatically. +- Deployments work in more regions. Data Factory triggers failed to deploy in regions like Sweden Central, and managed export triggers failed validation in Japan. Both now work. +- New data ingests cleanly. The first ingestion for a scope, dataset, and month, which most often affected reservation recommendation exports, no longer fails with a `PathNotFound` error. -## Faster, more reliable, more accurate FinOps hubs +**More trustworthy savings.** Savings and effective savings rate (ESR) in the dashboard were inflated by commitment purchases. The Summary and Rate optimization tiles now exclude purchases consistently, so the numbers reflect what you actually saved. Commitment discount savings were also understated when duplicate reservation price rows existed. They now use the highest on-demand price, so savings are accurate. -FinOps toolkit v15 is a quality release for FinOps hubs, so it's a great time to upgrade. Here's what you get: +**Cleaner data:** -- **Faster:** Large queries run faster, dimension lookups during ingestion are quicker, and Data Factory uses less memory during ingestion. -- **Smoother deployments and upgrades:** Redeploys and upgrades keep your data retention settings unless you specify a new value. Managed exports get the role they need through Data Factory. Data Factory triggers deploy in regions like Sweden Central, and managed export triggers validate in Japan. The first ingestion for a scope, dataset, and month runs cleanly, including for reservation recommendation exports. -- **More trustworthy numbers:** Savings and effective savings rate in the dashboard exclude commitment purchases. Commitment discount savings are accurate even when duplicate reservation price rows exist. FOCUS 1.0 cost data is labeled as FOCUS 1.0. Contracted cost values are only updated when they need to be, which keeps the audit trail clean. The SQL VMs without Azure Hybrid Benefit recommendation includes VMs with uppercase names. +- Contracted cost values are only recalculated when they need to be. Before, hubs rewrote millions of values that were already correct, which cluttered the audit trail that records changes to each row. +- The SQL VMs without Azure Hybrid Benefit recommendation now includes every eligible VM. Matching was case sensitive, so VMs with uppercase names were skipped, and VMs with duplicate names were dropped. Ready to upgrade? See [Create and update FinOps hubs](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/deploy). ## Plan reservations and savings plans with better data -Planning reservations and savings plans runs on data: which SKUs flex together, which meters qualify for a commitment discount, and which columns tell you so. FinOps toolkit v15 improves all three with a new instance size flexibility dataset, a refreshed commitment discount eligibility dataset, and PowerShell commands to look both up. FinOps hubs also get a fix for the commitment discount eligibility price columns. +Planning reservations and savings plans depends on data: Which SKUs flex together, which meters qualify for a commitment discount, and where you can see that eligibility in your price data. FinOps toolkit v15 improves all three with a new instance size flexibility dataset, a refreshed commitment discount eligibility dataset, and PowerShell commands to look both up. FinOps hubs also get a fix for the commitment discount eligibility price columns. -Reservation tools depend on instance size flexibility (ISF) data to group SKUs and compare sizes. The new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset in open data replaces the previous static files. It maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every physical Azure region. Ratios use the same normalized scale you already use. Power BI reports and the Azure Optimization Engine workbooks were both updated to use this new dataset. +Reservation tools depend on instance size flexibility (ISF) data to group SKUs and compare sizes. The new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset in open data replaces the retired ISF ratio files that Power BI reports and the Azure Optimization Engine used to rely on. It maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every Azure region. If you're using Power BI reports or Azure Optimization Engine, you'll want to upgrade those as well to ensure you're leveraging the new ISF dataset. -Two new PowerShell commands, [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility), give you programmatic access to this data in PowerShell. +If you're building commitment discount automation via scripts, you may also be interested in the new [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility) commands in the FinOps toolkit PowerShell module. These give you programmatic access to the same data, in a more queryable manner that you can integrate cleanly into existing PowerShell or other scripts. The [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset is up to date, too. It includes the latest meters and no longer lists retired ones. We refresh both datasets weekly in the dev branch, so the newest versions are always there. The files in each release are a snapshot from the time of the release. -FinOps hubs also report the right values in `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility`. The spend column now reports savings plan pricing and the usage column reports reservation pricing, matching FOCUS. Upgrade to v15 and [reingest your historical prices](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade), and your whole price history lines up with the corrected values. And you don't have to do any of this alone. +FinOps hubs also report the right values in `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility`. The spend column now reports savings plan pricing and the usage column reports reservation pricing, matching FOCUS. Upgrade to FinOps toolkit v15 and [reingest your historical prices](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade), and your whole price history lines up with the corrected values. ## Find help in the FinOps toolkit ecosystem @@ -96,6 +93,7 @@ Other partners are listed there too. These organizations are independent of Micr - Updated the hub database guide to explain how columns are organized, added 27 missing columns, and corrected the `Costs()` column reference. - Updated the backfill instructions to use `config_StartBackfillProcess`, which backfills every month in your retention window in one run. Microsoft Customer Agreement (MCA) billing accounts and profiles can backfill with Cost Management exports or `Start-FinOpsCostExport` instead. - Updated the dashboard links for Governance, policy, and risk and for FinOps tools and services to go directly to the Microsoft Learn pages. +- Fixed FOCUS 1.0 cost data being labeled as FOCUS 1.2 in `x_SourceVersion`. FOCUS 1.0 rows also skipped 1.0-specific fixes, like the savings plan purchase charge frequency correction. **In [Power BI reports](https://aka.ms/ftk/pbi):** From b1cf27a3dbc8161ba9f6c95fac7093e2e171b415 Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 16:45:06 -0700 Subject: [PATCH 06/13] docs(announce): refine Allyte, AOE upgrade wording, and fix plugin install commands - Fold office hours into the Allyte official support bullet - Remove single-contributor thank-you - Match AOE upgrade line to the Upgrading AOE docs - Fix Claude Code install commands in the plugin overview and docs site Co-Authored-By: flanakin Co-Authored-By: Claude Sonnet 5.5 --- announce/2026/2026-10_v15.md | 6 +++--- .../agent-plugin/finops-toolkit-agent-plugin-overview.md | 3 ++- docs/agent-plugin.md | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index e95963596..ee5c04eea 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -76,7 +76,7 @@ FinOps hubs also report the right values in `x_CommitmentDiscountSpendEligibilit The FinOps toolkit is free and open source, and a growing ecosystem helps you get more out of it. The new [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) lists independent tools and organizations that build on or support the toolkit. Two to know about: -- [Allyte](https://allyte.com) provides official support for the FinOps toolkit, runs the FinOps toolkit office hours, and offers Microsoft FinOps advisory. Allyte is my company, and it also publishes this announcement. +- [Allyte](https://allyte.com) provides official support for the FinOps toolkit. The FinOps toolkit office hours, which Allyte runs, are a good place to start, and Allyte also offers more detailed support, when and where you need it, along with Microsoft FinOps advisory. Allyte is my company, and it also publishes this announcement. - [FinOpsHubs.com](https://finopshubs.com) is a web portal that extends your FinOps hubs instance. Other partners are listed there too. These organizations are independent of Microsoft. Know a tool or organization that belongs on the page? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). @@ -99,7 +99,7 @@ Other partners are listed there too. These organizations are independent of Micr - Changed Azure Resource Graph queries to run per subscription batch to avoid payload size errors in the Governance and Workload optimization reports. - Changed the default **Number of Months** in storage reports from 1 to 3 to show more cost history. -- Storage reports now read gzip-compressed CSV exports (`.csv.gz`). This came up in the [October 28 office hours](https://aka.ms/ftk/office-hours). Thanks to [RolandKrummenacher](https://github.com/RolandKrummenacher) on GitHub for contributing this fix. +- Storage reports now read gzip-compressed CSV exports (`.csv.gz`). This came up in the [October 28 office hours](https://aka.ms/ftk/office-hours). - Advisor recommendation tables return complete results. - Storage reports refresh cleanly for FOCUS 1.2 exports and for exports that use earlier FOCUS versions. - The Reservations tab in the Rate optimization report now shows data for MCA accounts. @@ -117,7 +117,7 @@ Other partners are listed there too. These organizations are independent of Micr **In [Azure Optimization Engine](https://aka.ms/ftk/aoe):** - Added an [Azure Optimization Engine reference](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/reference) for runbooks, schedules, variables, and tables. -- Log Analytics ingestion now uses a Data Collection Rule and Ingestion API, the supported path after the Data Collection API deprecation in September 2026. Existing deployments pick it up when you [upgrade by rerunning the deployment script](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/setup-options#upgrading-aoe). +- Log Analytics ingestion now uses a Data Collection Rule and Ingestion API, the supported path after the Data Collection API deprecation in September 2026. To upgrade an existing deployment, rerun the deployment script with the same options, or add `-DoPartialUpgrade` if you customized components. See [Upgrading AOE](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/setup-options#upgrading-aoe). - Reservations stay in the reservation workbooks when their SKU is no longer sold. - Azure RBAC assignment exports no longer call the Azure Classic administrators endpoint, which was deprecated May 1, 2026. - The Reservations Usage workbook works with the current consumption table schema. diff --git a/docs-mslearn/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview.md b/docs-mslearn/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview.md index 709ddbc51..fc7ed95f9 100644 --- a/docs-mslearn/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview.md +++ b/docs-mslearn/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview.md @@ -21,7 +21,8 @@ Install the plugin from the FinOps toolkit repository: ```bash # Claude Code -claude plugin add microsoft/finops-toolkit +claude plugin marketplace add microsoft/finops-toolkit +claude plugin install microsoft-finops-toolkit@finops-toolkit # GitHub Copilot CLI copilot plugin install microsoft/finops-toolkit diff --git a/docs/agent-plugin.md b/docs/agent-plugin.md index b596054a3..e355032a6 100644 --- a/docs/agent-plugin.md +++ b/docs/agent-plugin.md @@ -42,7 +42,8 @@ The FinOps toolkit agent plugin pairs role-specific agents, ready-to-run command ```bash # Claude Code -claude plugin add microsoft/finops-toolkit +claude plugin marketplace add microsoft/finops-toolkit +claude plugin install microsoft-finops-toolkit@finops-toolkit # GitHub Copilot CLI copilot plugin install microsoft/finops-toolkit From 5b9f8cb90ac615e0bd44f062d111c528259c94a0 Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 19:12:29 -0700 Subject: [PATCH 07/13] docs(announce): rewrite v15 announcement per owner review - Use "FinOps toolkit 15" / "FinOps hubs 15" naming; "v15" only standalone - Reframe AI plugin as collaboration; verified agents, install steps, MCP link - Rework local hubs, private networking, quality, ISF, and ecosystem sections - Generalize spell-out standard in Coding-guidelines and announce command - Revert announce title format to {N} Co-Authored-By: flanakin Co-Authored-By: Claude Sonnet 5.5 --- .claude/commands/announce.md | 4 +- announce/2026/2026-10_v15.md | 79 ++++++++++++++++++---------------- docs-wiki/Coding-guidelines.md | 4 +- 3 files changed, 46 insertions(+), 41 deletions(-) diff --git a/.claude/commands/announce.md b/.claude/commands/announce.md index dc31a00e5..ce005319d 100644 --- a/.claude/commands/announce.md +++ b/.claude/commands/announce.md @@ -46,7 +46,7 @@ Propose an outline. The outline is **fixed** — do not invent new sections. Use this structure (matches `announce/2025/2025-08_v12.md` and `announce/2026/2026-02_v13.md`): -1. **Title** — `What's new in FinOps toolkit v{N} – {Month} {Year}` +1. **Title** — `What's new in FinOps toolkit {N} – {Month} {Year}` 2. **Intro paragraph** — One paragraph: who this release is for, what it emphasizes (themes, not full list), and a "read on for details" hook. 3. **New to the FinOps toolkit?** — Boilerplate intro for new readers. Reuse from the prior release; update links if they changed. 4. **Featured sections** (3–5) — Themed deep-dives on the biggest changes from the changelog. Each gets its own H2 with a benefit-led title (not just the feature name). This is the only part that varies per release. Inline contributor thanks belong here when relevant (e.g., "Thanks to @username for contributing this feature."). @@ -84,7 +84,7 @@ Present the proposed outline via AskUserQuestion with options to approve, reorde 2. Determine the slug. For release announcements, use `v{N}` (e.g., `v14`). Otherwise, use a short kebab-cased topic (e.g., `azure-openai-costs`). 3. Write the draft to `announce/{year}/{yyyy-MM}_{slug}.md` using `Write`. 4. **Tone:** active voice, benefit-led, friendly but not breathless. Match the voice of recent releases in `announce/`. - - Apply the content standards in [Coding-guidelines.md](../../docs-wiki/Coding-guidelines.md#-content-strings-and-microcopy): stay positive, spell out product names and versions (like "FinOps hubs" and "FinOps toolkit v##") on first reference per section, and only abbreviate on secondary references (preview and social posts included; titles can drop the "v"). + - Apply the content standards in [Coding-guidelines.md](../../docs-wiki/Coding-guidelines.md#-content-strings-and-microcopy): stay positive, spell out references on first use per section (like "FinOps hubs" and "FinOps toolkit 15", no "v"), and only abbreviate secondary references (preview and social posts included). 5. **Microsoft style:** sentence casing for headings (not Title Case), no end punctuation on short headings, follow [Coding-guidelines.md](../../docs-wiki/Coding-guidelines.md) content rules. 6. **Length:** release announcements run ~6–10 minute reads. Featured sections are 2–4 short paragraphs each. Don't pad. 7. **Links:** prefer `aka.ms` short links when they exist (check the changelog for examples). Use full Learn URLs for deep documentation. diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index ee5c04eea..ec618ce9a 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -1,6 +1,6 @@ # What's new in FinOps toolkit 15 – October 2026 -Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it help you understand and optimize your cloud costs, too? FinOps toolkit v15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, plan around private networking with an opt-in NAT Gateway, and plan reservations and savings plans with new commitment discount data. Power BI reports, workbooks, alerts, Azure Optimization Engine (AOE), and the PowerShell module all got improvements and fixes, too. Read on for details. +Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it help you understand and optimize your cloud costs, too? FinOps toolkit 15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, deploy FinOps hubs on a private network even in subscriptions where Azure Policy turns off default outbound access, and see which SKUs your reservations flex across and which meters qualify for reservations and savings plans with new open data. Power BI reports, workbooks, alerts, Azure Optimization Engine (AOE), and the PowerShell module also got improvements and fixes. Read on for details. ## New to the FinOps toolkit? @@ -8,78 +8,83 @@ The FinOps toolkit is an open-source collection of tools and resources helping o ## Leverage AI to scale your FinOps impact -Imagine working alongside an AI agent that understands FinOps and your data. Ask which Azure services drove last month's spend, then have it plan a fix, draft a proposal for engineering, or build the report your leadership asks for, all grounded in your own cost data. FinOps toolkit v15 brings that closer with a new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin). +Picture a teammate who knows FinOps, can query your cost data, and never tires of follow-up questions. Together, you find which Azure services drove last month's spend, dig into why, plan the fix, and turn that plan into a proposal your engineering team can act on. Then you build the report your leadership asks for, all grounded in your own cost data. That's the idea behind the new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin) in FinOps toolkit 15: AI agents that do the work with you, not just answer questions. -The plugin includes five agents: a CFO, FinOps practitioner, FinOps hubs database query agent, FinOps hubs agent for deploying and troubleshooting, and Azure capacity manager. The CFO, FinOps practitioner, and capacity manager can offer FinOps guidance, answer limited cost questions with the Azure Cost Management access you already have, and help with Azure capacity, with or without a FinOps hub. Connect a FinOps hub and the query agent goes further, tackling complex questions like month-over-month trends, anomaly detection, and forecasting across your full cost, price, and recommendation data. A FinOps hubs KQL skill gives it the schema and a query catalog, so it writes queries against the real Costs, Prices, Recommendations, and Transactions datasets instead of guessing. +The plugin includes five agents: CFO, FinOps practitioner, FinOps hubs database query, FinOps hubs deployment and troubleshooting, and Azure capacity manager. The CFO, FinOps practitioner, and Azure capacity manager work with or without a FinOps hub. They offer FinOps guidance, help with Azure quota and capacity, and answer basic cost questions, like what you spent last month or which services cost the most, using Microsoft Cost Management and the Azure access you already have. The database query agent works against a FinOps hub, so connect one and the agent can take on much bigger questions, like month-over-month trends, forecasts, anomaly detection, commitment discount utilization and waste, tag coverage, and AI spend by application. A FinOps hubs KQL skill gives the agent the schema and a catalog of ready-made queries, so your questions become queries against the real Costs, Prices, Recommendations, and Transactions datasets instead of guesses. -A few commands cover the most common tasks, like connecting to a FinOps hub, checking its health, and running month-over-month and year-to-date cost reports. The [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) has the full list. +Ready-made commands handle routine tasks like connecting to a FinOps hub, checking its health, and running month-over-month and year-to-date cost reports. The [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) covers each command, along with the sign-in and permissions you need to connect to a FinOps hub. -The plugin also registers an Azure MCP server scoped to Data Explorer in read-only mode, so it can query your FinOps hub without changing anything in your environment. If you need to go further, you can add the full [Azure MCP server](https://github.com/Azure/azure-mcp) yourself. We kept the plugin's server scoped to avoid bloating your agent's context. +The plugin also includes the Azure MCP server, scoped to Data Explorer and read-only, so your agents can query your FinOps hub without changing anything in your environment. To take your agents further across Azure, you can add the full [Azure MCP server](https://learn.microsoft.com/azure/developer/azure-mcp-server/overview) yourself. We kept the plugin's server scoped to avoid bloating your agent's context. -The plugin builds on [Agent Plugins](https://agent-plugins.org), an open standard, so it works across the AI platforms that support the standard, such as GitHub Copilot, ChatGPT, and Claude. Refer to [compatible clients](https://agent-plugins.org/compatible-clients) for a full list of currently supported tools and platforms. +The plugin uses the [Agent Plugins](https://agent-plugins.org) open standard and works across AI platforms that support the standard, such as GitHub Copilot, ChatGPT, and Claude. Refer to [compatible clients](https://agent-plugins.org/compatible-clients) for a full list of currently supported tools and platforms. Only the install steps vary by platform: -To install it in GitHub Copilot CLI, run `copilot plugin install microsoft/finops-toolkit`. In Claude Cowork or Claude Code, run `/plugin marketplace add microsoft/finops-toolkit`, then `/plugin install microsoft-finops-toolkit@finops-toolkit`. Other tools have their own install commands, so check their documentation. The plugin documentation covers the sign-in and permissions you need to connect to a FinOps hub. +- **GitHub Copilot CLI:** Run `copilot plugin install microsoft/finops-toolkit`. +- **ChatGPT and Codex:** Check the [plugin documentation](https://developers.openai.com/codex/plugins) for install steps. +- **Claude Code:** Run `/plugin marketplace add microsoft/finops-toolkit`, then `/plugin install microsoft-finops-toolkit@finops-toolkit`. +- **Claude Cowork:** Select **Customize** > **Plugins** > **Add** > **Add marketplace**, enter `microsoft/finops-toolkit`, then add the plugin. Let us know where you'd like to see this go. We're also looking into a FinOps toolkit MCP server to take this even further. ## Run a FinOps hub on your own machine -Not every question needs a deployed FinOps hub. Maybe you want to explore the data model, test a query against a large dataset, or work somewhere you can't reach Azure. Maybe you just want to prototype FinOps hubs before engaging engineering and deploying Azure resources. The new [Run FinOps hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide walks through running a FinOps hub in the Kusto emulator, a free container. It uses the same KQL, transforms, and open data as a deployed hub, so what you learn locally carries over. +Not every question needs a deployed FinOps hub. Maybe you just want to prototype FinOps hubs before engaging engineering and deploying Azure resources. Maybe you want to explore the data model, test a query against a large dataset, or work somewhere you can't reach Azure. The new [Run FinOps hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide walks through running a FinOps hub in the Kusto emulator, a free container, so what you learn locally carries over to a deployed hub. You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The guide is written so you or your AI assistant can run each step. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command and loads all the tables and datasets, just like a normal FinOps hubs instance. -A local hub is a separate way to use FinOps hubs, not a replacement for a deployed one. It's built for exploring, validating, and supporting consulting work. It doesn't come with scheduled ingestion or a service level agreement (SLA) like a deployed hub does, so use a deployed hub when you need those and want to share data across your organization. Your cost data and databases live in folders you choose on your machine, so they're still there when you restart the container. +A local hub is a separate way to use FinOps hubs, not a replacement for a deployed hub or an add-on to one. You run and manage the container yourself instead of relying on a managed service like Azure Data Explorer or Microsoft Fabric, so a local hub doesn't come with scheduled ingestion or a service level agreement (SLA). That makes a local hub a great fit for exploring, validating, and supporting consulting work. When you need scheduled ingestion, an SLA, and data you can share across your organization, deploy a FinOps hub in Azure. Your cost exports and databases are stored in folders on your machine, so they're still there when you restart the container. ## Private networking for FinOps hubs -If your organization needs to keep its FinOps hub off the public internet, FinOps toolkit v15 makes private networking easier to adopt. It adds explicit network modes, and private mode now includes an opt-in NAT Gateway that gives the FinOps hub explicit outbound access. That lets private deployments work in subscriptions with an Azure Policy that requires subnets to have default outbound access disabled. NAT Gateway adds cost when you enable it. To turn it on, set **Access** to **Private** on the **Advanced** tab of the deployment UI, then select **Deploy NAT Gateway for controlled outbound access**. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode private`. The new `-NetworkMode` parameter also accepts `public` and `vnet`, which uses private endpoints with default outbound access. +Many organizations can't leave their cloud data reachable over the public internet. If yours is one of them, FinOps hubs 15 makes private networking easier to adopt with explicit network modes and an opt-in NAT Gateway for private mode. The NAT Gateway gives the FinOps hub explicit outbound access, which lets private deployments work in subscriptions with an Azure Policy that requires subnets to have default outbound access disabled. Enabling the NAT Gateway adds cost. To enable the NAT Gateway, set **Access** to **Private** on the **Advanced** tab of the deployment UI, then select **Deploy NAT Gateway for controlled outbound access**. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode private`. The new `-NetworkMode` parameter also accepts `public` and `vnet`, which uses private endpoints with default outbound access. -When you upgrade, pass the same network options to keep your network setup: the same **Access** setting in the deployment UI or the same `-NetworkMode` in PowerShell. Private mode needs FinOps hubs version 15 or later. If your scripts use `-DisablePublicAccess`, it still works and maps to `vnet`, so move to `-NetworkMode` when you're ready. +When you upgrade, pass the same network options to keep your network setup, either the same **Access** setting in the deployment UI or the same `-NetworkMode` in PowerShell. Private mode needs FinOps hubs 15 or later. If your scripts use `-DisablePublicAccess`, that parameter still works and maps to `vnet`, so move to `-NetworkMode` when you're ready. We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. Deployments with Data Explorer also complete smoothly when you approve private endpoint connections. ## FinOps hubs are faster, more reliable, and more accurate -FinOps toolkit v15 is a quality release for FinOps hubs, so it's a great time to upgrade. From performance and reliability to data quality, there's something for everyone. Here's what you get: +FinOps toolkit 15 is a quality release for FinOps hubs, so now is a great time to upgrade. From performance and reliability to data quality, there's something for everyone. Here's what you get: -**Faster queries and ingestion.** Large queries run faster because they now use the engine's term index instead of scanning every row. Lookups during ingestion are quicker, too, and Data Factory uses less memory when it filters out empty files. +**More efficient ingestion.** Lookups that enrich each row are quicker, and text comparisons use the engine's index instead of scanning every row, so large datasets ingest with less effort. Data Factory also uses less memory when it filters out empty files. -**Smoother deployments and upgrades:** +**Faster queries.** Hub queries, including the query catalog, run faster on large datasets because they use the engine's term index instead of scanning every row. -- Upgrades protect your data. Redeploying or upgrading keeps your data retention settings unless you specify a new value, so historical data isn't purged by accident. -- Managed exports work out of the box. Exports that failed with an `Unauthorized` error because Data Factory was missing a required role now get that role automatically. -- Deployments work in more regions. Data Factory triggers failed to deploy in regions like Sweden Central, and managed export triggers failed validation in Japan. Both now work. -- New data ingests cleanly. The first ingestion for a scope, dataset, and month, which most often affected reservation recommendation exports, no longer fails with a `PathNotFound` error. +**Smoother deployments and upgrades.** Deployments, upgrades, and first-time data loads work in more situations: -**More trustworthy savings.** Savings and effective savings rate (ESR) in the dashboard were inflated by commitment purchases. The Summary and Rate optimization tiles now exclude purchases consistently, so the numbers reflect what you actually saved. Commitment discount savings were also understated when duplicate reservation price rows existed. They now use the highest on-demand price, so savings are accurate. +- **Upgrades keep your data.** Redeploying or upgrading keeps your data retention settings unless you specify a new value, so historical data isn't purged by accident. +- **Managed exports work right after deployment.** Data Factory now gets the Azure role assignment required to run managed exports, so exports complete without `Unauthorized` errors. +- **More regions are supported.** Deployments now work in regions like Sweden Central, and managed exports deploy cleanly in Japan. +- **First ingestion completes on the first try.** The first time you ingest a scope, dataset, and month, which reservation recommendation exports hit most often, ingestion now completes without a `PathNotFound` error. -**Cleaner data:** +**More accurate data.** A few fixes make the numbers in FinOps hubs more reliable and complete: -- Contracted cost values are only recalculated when they need to be. Before, hubs rewrote millions of values that were already correct, which cluttered the audit trail that records changes to each row. -- The SQL VMs without Azure Hybrid Benefit recommendation now includes every eligible VM. Matching was case sensitive, so VMs with uppercase names were skipped, and VMs with duplicate names were dropped. +- **Savings you can trust.** Reservation and savings plan purchases were counted as savings in the dashboard, which inflated savings and effective savings rate (ESR). The Summary and Rate optimization tiles now consistently leave purchases out, so the numbers reflect what you actually saved. Commitment discount savings are also accurate when a price sheet has duplicate reservation price rows. FinOps hubs now use the highest on-demand price for those rows, so the savings are accurate. +- **A clearer audit trail for contracted cost.** FinOps hubs record the changes they make to each row during ingestion in the `x_SourceValues` column. Contracted cost values that were already correct were being recalculated anyway, because tiny floating-point differences looked like changes, and that added millions of unnecessary entries. FinOps hubs now recalculate contracted cost only when the value needs to change and keep an existing contracted cost when the unit price is missing, so `x_SourceValues` shows only meaningful changes. +- **More complete recommendations.** The SQL VMs without Azure Hybrid Benefit recommendation now includes every eligible VM. Matching used the VM name and was case sensitive, which skipped VMs with uppercase names and dropped VMs that share a name. The recommendation now matches each VM by its resource ID. Ready to upgrade? See [Create and update FinOps hubs](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/deploy). -## Plan reservations and savings plans with better data +## Better data for reservations and savings plans -Planning reservations and savings plans depends on data: Which SKUs flex together, which meters qualify for a commitment discount, and where you can see that eligibility in your price data. FinOps toolkit v15 improves all three with a new instance size flexibility dataset, a refreshed commitment discount eligibility dataset, and PowerShell commands to look both up. FinOps hubs also get a fix for the commitment discount eligibility price columns. +Getting the most from reservations and savings plans starts with knowing which SKUs flex together, which meters qualify for a commitment discount, and where to find that eligibility in your price data. FinOps toolkit 15 improves all three with a new instance size flexibility dataset, a refreshed commitment discount eligibility dataset, and corrected eligibility columns in FinOps hubs price data. -Reservation tools depend on instance size flexibility (ISF) data to group SKUs and compare sizes. The new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset in open data replaces the retired ISF ratio files that Power BI reports and the Azure Optimization Engine used to rely on. It maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every Azure region. If you're using Power BI reports or Azure Optimization Engine, you'll want to upgrade those as well to ensure you're leveraging the new ISF dataset. +Reservations rely on instance size flexibility (ISF) data to group SKUs and compare sizes. The new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset in open data maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every Azure region. Power BI reports and Azure Optimization Engine used to read ISF data from files hosted outside the toolkit, which Microsoft is retiring. The new dataset ships with the toolkit and refreshes weekly. If you're using Power BI reports or Azure Optimization Engine, you'll want to upgrade those as well to ensure you're leveraging the new ISF dataset. If you're building commitment discount automation via scripts, you may also be interested in the new [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility) commands in the FinOps toolkit PowerShell module. These give you programmatic access to the same data, in a more queryable manner that you can integrate cleanly into existing PowerShell or other scripts. -The [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset is up to date, too. It includes the latest meters and no longer lists retired ones. We refresh both datasets weekly in the dev branch, so the newest versions are always there. The files in each release are a snapshot from the time of the release. +If you're using the [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset to find commitment discount candidates, the dataset now refreshes completely every week. New meters show up and retired meters drop off. Each release includes a snapshot from the time of the release. -FinOps hubs also report the right values in `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility`. The spend column now reports savings plan pricing and the usage column reports reservation pricing, matching FOCUS. Upgrade to FinOps toolkit v15 and [reingest your historical prices](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade), and your whole price history lines up with the corrected values. +If you're building commitment discount eligibility into queries, you can also use the `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility` columns in the FinOps hubs Prices dataset. These columns tell you which SKUs your commitments apply to. A bug had swapped their values, and FinOps hubs 15 corrects them. `x_CommitmentDiscountSpendEligibility` indicates which SKUs savings plans are eligible for, and `x_CommitmentDiscountUsageEligibility` indicates which SKUs reservations are eligible for, matching FOCUS. If you have historical Prices data, [upgrade to FinOps hubs 15](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade) and reingest that data to make sure all of it has the correct values. ## Find help in the FinOps toolkit ecosystem -The FinOps toolkit is free and open source, and a growing ecosystem helps you get more out of it. The new [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) lists independent tools and organizations that build on or support the toolkit. Two to know about: +The FinOps toolkit is free and open source, and a growing ecosystem helps you get more out of the toolkit. The new [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) lists independent tools and organizations that build on or support the toolkit. While I am biased, there are two I want to draw attention to: a path for official support for the FinOps toolkit (and Microsoft FinOps in general) and a richer experience for navigating your data in FinOps hubs for free. -- [Allyte](https://allyte.com) provides official support for the FinOps toolkit. The FinOps toolkit office hours, which Allyte runs, are a good place to start, and Allyte also offers more detailed support, when and where you need it, along with Microsoft FinOps advisory. Allyte is my company, and it also publishes this announcement. -- [FinOpsHubs.com](https://finopshubs.com) is a web portal that extends your FinOps hubs instance. +[Allyte](https://allyte.com) is that path for support. Microsoft Support doesn't provide full support for the FinOps toolkit, but Allyte does. The FinOps toolkit office hours, which Allyte runs, are a great place to start. When you need more, Allyte offers direct access to experts, regular coaching sessions, and advisory for Microsoft FinOps in general, all from the people closest to the toolkit, when and where you need them. Allyte is my company, and it also publishes this announcement. -Other partners are listed there too. These organizations are independent of Microsoft. Know a tool or organization that belongs on the page? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). +[FinOpsHubs.com](https://finopshubs.com) is where I see FinOps hubs heading. FinOps hubs give you a scalable foundation for understanding and optimizing your cloud costs, and FinOpsHubs.com builds on that foundation with a free, scalable analytics experience designed to evolve around your needs. Your data stays under your control, and you get a richer way to navigate that data. FinOpsHubs.com is in private preview with a no-cost tier, so join the waitlist to get started. + +Of course, these are just two of the resources mentioned on the ecosystem page. These organizations are independent of Microsoft. Know a tool or organization that belongs on the page? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). ## Other new and noteworthy updates @@ -133,7 +138,7 @@ For the complete list, see the [changelog](https://aka.ms/ftk/changes#v15). ## What's next -We're already starting the FinOps toolkit v16 release cycle with updates to FinOps Explorer and the Azure SRE Agent, and FOCUS 1.5 is coming in v17. Expect to hear more by the end of the year. Here's what's in development on the [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap): +We're already starting the FinOps toolkit 16 release cycle with updates to FinOps Explorer and the Azure SRE Agent, and FOCUS 1.5 is coming in FinOps toolkit 17. Expect to hear more by the end of the year. Here's what's in development on the [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap): - FinOps Explorer, an interactive, cross-platform terminal UI for FinOps scanning and exploration. - An Azure SRE Agent template for FinOps and capacity management. @@ -147,15 +152,15 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak ## Preview snippet -> FinOps toolkit v15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin, adds a guide to run FinOps hubs locally, improves private networking for FinOps hubs, and delivers new reservation and commitment discount data. +> FinOps toolkit 15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin, adds a guide to run FinOps hubs locally, improves private networking for FinOps hubs, and delivers new reservation and commitment discount data. ## Social media **LinkedIn:** -> FinOps toolkit v15 is out! #FinOpsToolkit +> FinOps toolkit 15 is out! #FinOpsToolkit > -> Ask your AI assistant about your cloud costs with a new agent plugin, run a #FinOpsHubs instance on your own machine, and plan around private networking with opt-in NAT Gateway support. You also get new reservation and commitment discount data, plus improvements across Power BI reports, workbooks, alerts, the Azure Optimization Engine, and PowerShell. +> Work alongside AI agents that understand FinOps and your cost data with a new agent plugin, run a #FinOpsHubs instance on your own machine, and deploy FinOps hubs privately with opt-in NAT Gateway support. You also get new reservation and commitment discount data, plus improvements across Power BI reports, workbooks, alerts, Azure Optimization Engine, and PowerShell. > > Check it out and let us know what you'd like to see next! > @@ -163,7 +168,7 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak **Twitter/X:** -> FinOps toolkit v15 is out! #FinOpsToolkit +> FinOps toolkit 15 is out! #FinOpsToolkit > > - Agent plugin for your AI assistant > - Run #FinOpsHubs locally @@ -177,4 +182,4 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak **Internal:** -> FinOps toolkit v15 is live: an agent plugin for your AI assistant, run FinOps hubs locally, private networking with opt-in NAT Gateway, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} +> FinOps toolkit 15 is live with an agent plugin for your AI assistant, FinOps hubs you can run locally, private networking with opt-in NAT Gateway, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} diff --git a/docs-wiki/Coding-guidelines.md b/docs-wiki/Coding-guidelines.md index 2dfcbf6c2..b140b47bc 100644 --- a/docs-wiki/Coding-guidelines.md +++ b/docs-wiki/Coding-guidelines.md @@ -43,8 +43,8 @@ We adhere to the [Microsoft style guide](https://docs.microsoft.com/style-guide/ - Don't be spacey - Revise weak writing - Stay positive – Lead with what works, the right path, and what's better in the new version. Don't dwell on what was broken, missing, or unsupported. -- Spell out product names – Use the full name "FinOps hubs" for the first reference in each section, including titles, previews, and social posts. Shorter references like "hubs" or "hub" are fine later in the same section. Never use "hubs" alone to mean FinOps hubs since other products use the term. -- Qualify versions – Use "FinOps toolkit v15" for the first reference to a version in each section, never "v15" by itself. Later references in the same section can use "v15". +- Spell out references – Spell out product names and versions on first use in each section, including titles, previews, and social posts, and only abbreviate secondary references in that section. For example, use "FinOps hubs" first and "hub" later. Never use "hubs" alone to mean FinOps hubs since other products use the term. +- Format versions – Write "FinOps toolkit 15" and "FinOps hubs 15", without a "v", since Microsoft doesn't usually add one to spelled-out versions. Use "v15" only on its own. [Learn more](https://docs.microsoft.com/style-guide/welcome) From 074ecc54a351bb4ab12995a1ffbc5b1c099ae3a1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 29 Oct 2026 02:13:03 +0000 Subject: [PATCH 08/13] chore: Update ms.date in docs-mslearn files --- .../agent-plugin/finops-toolkit-agent-plugin-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-mslearn/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview.md b/docs-mslearn/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview.md index fc7ed95f9..43ac9dca0 100644 --- a/docs-mslearn/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview.md +++ b/docs-mslearn/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview.md @@ -3,7 +3,7 @@ title: FinOps toolkit agent plugin overview description: The FinOps toolkit agent plugin brings AI-powered cloud financial management to Claude Code and GitHub Copilot CLI. author: MSBrett ms.author: brettwil -ms.date: 10/28/2026 +ms.date: 10/29/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit From 55b41448f18fd661870ff014479f827e8988b678 Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 21:02:42 -0700 Subject: [PATCH 09/13] docs(announce): address second round of v15 announcement feedback - Intro summarizes what's new for private networking and commitment data - Add inline ChatGPT and Codex CLI install steps - Clarify local hub as an additional option, compare network modes with cost direction - Drop redundant "ready-made" and "in FinOps toolkit 15" Co-Authored-By: flanakin Co-Authored-By: Claude Sonnet 5.5 --- announce/2026/2026-10_v15.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index ec618ce9a..c84ebdfe7 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -1,6 +1,6 @@ # What's new in FinOps toolkit 15 – October 2026 -Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it help you understand and optimize your cloud costs, too? FinOps toolkit 15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, deploy FinOps hubs on a private network even in subscriptions where Azure Policy turns off default outbound access, and see which SKUs your reservations flex across and which meters qualify for reservations and savings plans with new open data. Power BI reports, workbooks, alerts, Azure Optimization Engine (AOE), and the PowerShell module also got improvements and fixes. Read on for details. +Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it help you understand and optimize your cloud costs, too? FinOps toolkit 15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, use new network modes and an opt-in NAT Gateway for private networking, and automate reservation and savings plan work with new datasets and PowerShell commands. Power BI reports, workbooks, alerts, Azure Optimization Engine (AOE), and the PowerShell module also got improvements and fixes. Read on for details. ## New to the FinOps toolkit? @@ -8,18 +8,19 @@ The FinOps toolkit is an open-source collection of tools and resources helping o ## Leverage AI to scale your FinOps impact -Picture a teammate who knows FinOps, can query your cost data, and never tires of follow-up questions. Together, you find which Azure services drove last month's spend, dig into why, plan the fix, and turn that plan into a proposal your engineering team can act on. Then you build the report your leadership asks for, all grounded in your own cost data. That's the idea behind the new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin) in FinOps toolkit 15: AI agents that do the work with you, not just answer questions. +Picture a teammate who knows FinOps, can query your cost data, and never tires of follow-up questions. Together, you find which Azure services drove last month's spend, dig into why, plan the fix, and turn that plan into a proposal your engineering team can act on. Then you build the report your leadership asks for, all grounded in your own cost data. That's the idea behind the new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin): AI agents that do the work with you, not just answer questions. The plugin includes five agents: CFO, FinOps practitioner, FinOps hubs database query, FinOps hubs deployment and troubleshooting, and Azure capacity manager. The CFO, FinOps practitioner, and Azure capacity manager work with or without a FinOps hub. They offer FinOps guidance, help with Azure quota and capacity, and answer basic cost questions, like what you spent last month or which services cost the most, using Microsoft Cost Management and the Azure access you already have. The database query agent works against a FinOps hub, so connect one and the agent can take on much bigger questions, like month-over-month trends, forecasts, anomaly detection, commitment discount utilization and waste, tag coverage, and AI spend by application. A FinOps hubs KQL skill gives the agent the schema and a catalog of ready-made queries, so your questions become queries against the real Costs, Prices, Recommendations, and Transactions datasets instead of guesses. -Ready-made commands handle routine tasks like connecting to a FinOps hub, checking its health, and running month-over-month and year-to-date cost reports. The [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) covers each command, along with the sign-in and permissions you need to connect to a FinOps hub. +Built-in commands handle routine tasks like connecting to a FinOps hub, checking its health, and running month-over-month and year-to-date cost reports. The [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) covers each command, along with the sign-in and permissions you need to connect to a FinOps hub. The plugin also includes the Azure MCP server, scoped to Data Explorer and read-only, so your agents can query your FinOps hub without changing anything in your environment. To take your agents further across Azure, you can add the full [Azure MCP server](https://learn.microsoft.com/azure/developer/azure-mcp-server/overview) yourself. We kept the plugin's server scoped to avoid bloating your agent's context. The plugin uses the [Agent Plugins](https://agent-plugins.org) open standard and works across AI platforms that support the standard, such as GitHub Copilot, ChatGPT, and Claude. Refer to [compatible clients](https://agent-plugins.org/compatible-clients) for a full list of currently supported tools and platforms. Only the install steps vary by platform: - **GitHub Copilot CLI:** Run `copilot plugin install microsoft/finops-toolkit`. -- **ChatGPT and Codex:** Check the [plugin documentation](https://developers.openai.com/codex/plugins) for install steps. +- **ChatGPT:** Ask a workspace admin to import the `microsoft/finops-toolkit` GitHub marketplace, then open the **Plugins** tab, select the plugin, and select the plus button to install it. +- **Codex CLI:** Run `codex plugin marketplace add microsoft/finops-toolkit`, then run `codex`, enter `/plugins`, and install the plugin. - **Claude Code:** Run `/plugin marketplace add microsoft/finops-toolkit`, then `/plugin install microsoft-finops-toolkit@finops-toolkit`. - **Claude Cowork:** Select **Customize** > **Plugins** > **Add** > **Add marketplace**, enter `microsoft/finops-toolkit`, then add the plugin. @@ -31,11 +32,17 @@ Not every question needs a deployed FinOps hub. Maybe you just want to prototype You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The guide is written so you or your AI assistant can run each step. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command and loads all the tables and datasets, just like a normal FinOps hubs instance. -A local hub is a separate way to use FinOps hubs, not a replacement for a deployed hub or an add-on to one. You run and manage the container yourself instead of relying on a managed service like Azure Data Explorer or Microsoft Fabric, so a local hub doesn't come with scheduled ingestion or a service level agreement (SLA). That makes a local hub a great fit for exploring, validating, and supporting consulting work. When you need scheduled ingestion, an SLA, and data you can share across your organization, deploy a FinOps hub in Azure. Your cost exports and databases are stored in folders on your machine, so they're still there when you restart the container. +A local hub is an additional option alongside a deployed hub, not a replacement for one, and the two have different trade-offs. You run and manage the container yourself instead of relying on a managed service like Azure Data Explorer or Microsoft Fabric, so a local hub has no scheduled ingestion and no service level agreement (SLA). That makes a local hub a great fit for exploring, validating, and supporting consulting work. A deployed hub in Azure gives you scheduled ingestion, an SLA, and data you can share across your organization. Your cost exports and databases are stored in folders on your machine, so they're still there when you restart the container. ## Private networking for FinOps hubs -Many organizations can't leave their cloud data reachable over the public internet. If yours is one of them, FinOps hubs 15 makes private networking easier to adopt with explicit network modes and an opt-in NAT Gateway for private mode. The NAT Gateway gives the FinOps hub explicit outbound access, which lets private deployments work in subscriptions with an Azure Policy that requires subnets to have default outbound access disabled. Enabling the NAT Gateway adds cost. To enable the NAT Gateway, set **Access** to **Private** on the **Advanced** tab of the deployment UI, then select **Deploy NAT Gateway for controlled outbound access**. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode private`. The new `-NetworkMode` parameter also accepts `public` and `vnet`, which uses private endpoints with default outbound access. +Many organizations can't leave their cloud data reachable over the public internet. If yours is one of them, FinOps hubs 15 makes private networking easier to adopt with explicit network modes and an opt-in NAT Gateway for private mode. Pick the mode that fits your environment: + +- **Private** uses private endpoints and an opt-in NAT Gateway that gives the FinOps hub explicit outbound access. Choose this mode when an Azure Policy requires subnets to have default outbound access disabled. The NAT Gateway adds charges, so enable it when you need that outbound access. +- **VNet** uses private endpoints with default outbound access and no NAT Gateway. Choose this mode when your subscriptions allow default outbound access and you'd rather skip the NAT Gateway charges. +- **Public** is the default. + +In the deployment UI, set **Access** to **Private** on the **Advanced** tab, then select **Deploy NAT Gateway for controlled outbound access** to use private mode. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode` set to `private`, `vnet`, or `public`. When you upgrade, pass the same network options to keep your network setup, either the same **Access** setting in the deployment UI or the same `-NetworkMode` in PowerShell. Private mode needs FinOps hubs 15 or later. If your scripts use `-DisablePublicAccess`, that parameter still works and maps to `vnet`, so move to `-NetworkMode` when you're ready. From 2a8e179ec56d77707c5a88cbda7052c8896ee4ca Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 22:04:22 -0700 Subject: [PATCH 10/13] Apply inline suggestions Co-authored-by: Michael Flanakin --- announce/2026/2026-10_v15.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index c84ebdfe7..94ebcafec 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -50,7 +50,7 @@ We also made the ownership model clearer. The FinOps toolkit manages the hub vir ## FinOps hubs are faster, more reliable, and more accurate -FinOps toolkit 15 is a quality release for FinOps hubs, so now is a great time to upgrade. From performance and reliability to data quality, there's something for everyone. Here's what you get: +FinOps hubs 15 brings in a ton of quality improvements, from performance and reliability to data quality. Now's a great time to upgrade, if you're running on an older version. Here are some of the hightlights: **More efficient ingestion.** Lookups that enrich each row are quicker, and text comparisons use the engine's index instead of scanning every row, so large datasets ingest with less effort. Data Factory also uses less memory when it filters out empty files. @@ -81,15 +81,15 @@ If you're building commitment discount automation via scripts, you may also be i If you're using the [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset to find commitment discount candidates, the dataset now refreshes completely every week. New meters show up and retired meters drop off. Each release includes a snapshot from the time of the release. -If you're building commitment discount eligibility into queries, you can also use the `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility` columns in the FinOps hubs Prices dataset. These columns tell you which SKUs your commitments apply to. A bug had swapped their values, and FinOps hubs 15 corrects them. `x_CommitmentDiscountSpendEligibility` indicates which SKUs savings plans are eligible for, and `x_CommitmentDiscountUsageEligibility` indicates which SKUs reservations are eligible for, matching FOCUS. If you have historical Prices data, [upgrade to FinOps hubs 15](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade) and reingest that data to make sure all of it has the correct values. +If you're building commitment discount eligibility into queries, you can also use the `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility` columns in the FinOps hubs Prices dataset. These columns tell you which SKUs your commitments apply to. A bug had swapped their values, and FinOps hubs 15 corrects them. `x_CommitmentDiscountSpendEligibility` indicates which SKUs savings plans are eligible for, and `x_CommitmentDiscountUsageEligibility` indicates which SKUs reservations are eligible for. If you have historical Prices data, [upgrade to FinOps hubs 15](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade) and reingest that data to make sure all of it has the correct values. ## Find help in the FinOps toolkit ecosystem -The FinOps toolkit is free and open source, and a growing ecosystem helps you get more out of the toolkit. The new [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) lists independent tools and organizations that build on or support the toolkit. While I am biased, there are two I want to draw attention to: a path for official support for the FinOps toolkit (and Microsoft FinOps in general) and a richer experience for navigating your data in FinOps hubs for free. +The FinOps toolkit is free and open source, and a growing ecosystem helps you get more out of the toolkit. The new [FinOps toolkit ecosystem page](https://microsoft.github.io/finops-toolkit/ecosystem) lists independent tools and organizations that build on or support the toolkit. While I am biased, there are two I want to call out: a path for official support for the FinOps toolkit and a richer experience for navigating your data in FinOps hubs for free. -[Allyte](https://allyte.com) is that path for support. Microsoft Support doesn't provide full support for the FinOps toolkit, but Allyte does. The FinOps toolkit office hours, which Allyte runs, are a great place to start. When you need more, Allyte offers direct access to experts, regular coaching sessions, and advisory for Microsoft FinOps in general, all from the people closest to the toolkit, when and where you need them. Allyte is my company, and it also publishes this announcement. +While Microsoft Support doesn't provide full support for the FinOps toolkit, [Allyte](https://allyte.com) has introduced new plans to fill that gap. The FinOps toolkit office hours, which Allyte runs, are a great place to start. But if you need more, Allyte offers direct access to experts, regular coaching sessions, and advisory for Microsoft FinOps in general, all from the people closest to the toolkit, when and where you need it. -[FinOpsHubs.com](https://finopshubs.com) is where I see FinOps hubs heading. FinOps hubs give you a scalable foundation for understanding and optimizing your cloud costs, and FinOpsHubs.com builds on that foundation with a free, scalable analytics experience designed to evolve around your needs. Your data stays under your control, and you get a richer way to navigate that data. FinOpsHubs.com is in private preview with a no-cost tier, so join the waitlist to get started. +When I started the FinOps toolkit, I always had a vision of building a native portal experience that makes it easy to understand and optimize costs. Today, FinOps hubs give you that core platform – open, scalable, and extensible – but you're often hit by limitations of reports and dashboards that are never as interactive as you might need them to be. [FinOpsHubs.com](https://finopshubs.com) is an initial step in that direction. And we're happy to offer it to the community **for free**. Your data stays under your control, and you get a richer way to navigate that data in a free, scalable analytics experience designed to evolve around your needs. No data to move. No special access. Just sign in and get answers. And, as the former product manager for Cost analysis in the Azure portal, you'll find it familiar with additions that help you do more than you've been able to in the past. And of course, this is just the start. We're eager to build this out and help you achieve more through AI backed by intelligent tooling that connects people and streamlines processes. We're looking forward to hearing your feedback and seeing where this goes! Of course, these are just two of the resources mentioned on the ecosystem page. These organizations are independent of Microsoft. Know a tool or organization that belongs on the page? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). @@ -145,7 +145,7 @@ For the complete list, see the [changelog](https://aka.ms/ftk/changes#v15). ## What's next -We're already starting the FinOps toolkit 16 release cycle with updates to FinOps Explorer and the Azure SRE Agent, and FOCUS 1.5 is coming in FinOps toolkit 17. Expect to hear more by the end of the year. Here's what's in development on the [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap): +Here's a peek at what we're currently working on: - FinOps Explorer, an interactive, cross-platform terminal UI for FinOps scanning and exploration. - An Azure SRE Agent template for FinOps and capacity management. @@ -155,6 +155,8 @@ We're already starting the FinOps toolkit 16 release cycle with updates to FinOp - Security hardening for FinOps hubs, including opt-in Key Vault role-based access control and the option to disable storage Shared Key access. - AI-assisted triage and repository automation with GitHub Agentic Workflows. +We already started the FinOps toolkit 16 release cycle with a new FinOps Explorer and Azure SRE Agent tools. We're also targeting FOCUS 1.5 for FinOps toolkit 17. Expect to hear more by the end of the year. + The roadmap is driven by what you tell us you need. [Create an issue](https://aka.ms/ftk/ideas) or [start a discussion](https://aka.ms/ftk/discuss) and let us know what you'd like to see next, including what you want from a FinOps toolkit MCP server. ## Preview snippet From 7a074f098831f9f67aa6b9b85458bd13f1715217 Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 22:09:33 -0700 Subject: [PATCH 11/13] docs(announce): address third round of v15 announcement feedback - Reframe fixes as improvements; move first ingestion and Data Explorer items to other updates - Clarify consistent savings fix; reorder commitment discount section (eligibility first) - Frame agents as staff you direct; focus on NAT Gateway in intro, preview, and social Co-Authored-By: flanakin Co-Authored-By: Claude Sonnet 5.5 --- announce/2026/2026-10_v15.md | 53 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index 94ebcafec..f692c0acd 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -1,6 +1,6 @@ # What's new in FinOps toolkit 15 – October 2026 -Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it help you understand and optimize your cloud costs, too? FinOps toolkit 15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, use new network modes and an opt-in NAT Gateway for private networking, and automate reservation and savings plan work with new datasets and PowerShell commands. Power BI reports, workbooks, alerts, Azure Optimization Engine (AOE), and the PowerShell module also got improvements and fixes. Read on for details. +Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it help you understand and optimize your cloud costs, too? FinOps toolkit 15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, add an opt-in NAT Gateway to private FinOps hubs, and automate reservation and savings plan work with new datasets and PowerShell commands. Power BI reports, workbooks, alerts, Azure Optimization Engine (AOE), and the PowerShell module also got improvements and fixes. Read on for details. ## New to the FinOps toolkit? @@ -8,7 +8,7 @@ The FinOps toolkit is an open-source collection of tools and resources helping o ## Leverage AI to scale your FinOps impact -Picture a teammate who knows FinOps, can query your cost data, and never tires of follow-up questions. Together, you find which Azure services drove last month's spend, dig into why, plan the fix, and turn that plan into a proposal your engineering team can act on. Then you build the report your leadership asks for, all grounded in your own cost data. That's the idea behind the new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin): AI agents that do the work with you, not just answer questions. +Picture the staff your manager never gave you: a team of AI agents that know FinOps, can query your cost data, and never tire of follow-up questions. You direct them to find which Azure services drove last month's spend, dig into why, plan the fix, and turn that plan into a proposal your engineering team can act on. Then they build the report your leadership asks for, all grounded in your own cost data. That's the idea behind the new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin): AI agents that do the work, not just answer questions. The plugin includes five agents: CFO, FinOps practitioner, FinOps hubs database query, FinOps hubs deployment and troubleshooting, and Azure capacity manager. The CFO, FinOps practitioner, and Azure capacity manager work with or without a FinOps hub. They offer FinOps guidance, help with Azure quota and capacity, and answer basic cost questions, like what you spent last month or which services cost the most, using Microsoft Cost Management and the Azure access you already have. The database query agent works against a FinOps hub, so connect one and the agent can take on much bigger questions, like month-over-month trends, forecasts, anomaly detection, commitment discount utilization and waste, tag coverage, and AI spend by application. A FinOps hubs KQL skill gives the agent the schema and a catalog of ready-made queries, so your questions become queries against the real Costs, Prices, Recommendations, and Transactions datasets instead of guesses. @@ -36,7 +36,7 @@ A local hub is an additional option alongside a deployed hub, not a replacement ## Private networking for FinOps hubs -Many organizations can't leave their cloud data reachable over the public internet. If yours is one of them, FinOps hubs 15 makes private networking easier to adopt with explicit network modes and an opt-in NAT Gateway for private mode. Pick the mode that fits your environment: +Many organizations can't leave their cloud data reachable over the public internet. If yours is one of them, FinOps hubs 15 gives you more control with an opt-in NAT Gateway for private mode and explicit network modes. Pick the mode that fits your environment: - **Private** uses private endpoints and an opt-in NAT Gateway that gives the FinOps hub explicit outbound access. Choose this mode when an Azure Policy requires subnets to have default outbound access disabled. The NAT Gateway adds charges, so enable it when you need that outbound access. - **VNet** uses private endpoints with default outbound access and no NAT Gateway. Choose this mode when your subscriptions allow default outbound access and you'd rather skip the NAT Gateway charges. @@ -46,42 +46,41 @@ In the deployment UI, set **Access** to **Private** on the **Advanced** tab, the When you upgrade, pass the same network options to keep your network setup, either the same **Access** setting in the deployment UI or the same `-NetworkMode` in PowerShell. Private mode needs FinOps hubs 15 or later. If your scripts use `-DisablePublicAccess`, that parameter still works and maps to `vnet`, so move to `-NetworkMode` when you're ready. -We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. Deployments with Data Explorer also complete smoothly when you approve private endpoint connections. +We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. ## FinOps hubs are faster, more reliable, and more accurate -FinOps hubs 15 brings in a ton of quality improvements, from performance and reliability to data quality. Now's a great time to upgrade, if you're running on an older version. Here are some of the hightlights: +FinOps hubs 15 brings in a ton of quality improvements, from performance and reliability to data quality. Now's a great time to upgrade, if you're running on an older version. Here are some of the highlights: **More efficient ingestion.** Lookups that enrich each row are quicker, and text comparisons use the engine's index instead of scanning every row, so large datasets ingest with less effort. Data Factory also uses less memory when it filters out empty files. **Faster queries.** Hub queries, including the query catalog, run faster on large datasets because they use the engine's term index instead of scanning every row. -**Smoother deployments and upgrades.** Deployments, upgrades, and first-time data loads work in more situations: +**Smoother deployments and upgrades:** -- **Upgrades keep your data.** Redeploying or upgrading keeps your data retention settings unless you specify a new value, so historical data isn't purged by accident. -- **Managed exports work right after deployment.** Data Factory now gets the Azure role assignment required to run managed exports, so exports complete without `Unauthorized` errors. -- **More regions are supported.** Deployments now work in regions like Sweden Central, and managed exports deploy cleanly in Japan. -- **First ingestion completes on the first try.** The first time you ingest a scope, dataset, and month, which reservation recommendation exports hit most often, ingestion now completes without a `PathNotFound` error. +- **Upgrades preserve your data.** Redeploying or upgrading keeps your data retention settings unless you specify a new value. +- **Managed exports run out of the box.** FinOps hubs now assign Data Factory the Azure role it needs, so managed exports work right after deployment. +- **More regions.** FinOps hubs now deploy in more regions, including Sweden Central, and managed exports are supported in Japan. -**More accurate data.** A few fixes make the numbers in FinOps hubs more reliable and complete: +**More accurate data:** -- **Savings you can trust.** Reservation and savings plan purchases were counted as savings in the dashboard, which inflated savings and effective savings rate (ESR). The Summary and Rate optimization tiles now consistently leave purchases out, so the numbers reflect what you actually saved. Commitment discount savings are also accurate when a price sheet has duplicate reservation price rows. FinOps hubs now use the highest on-demand price for those rows, so the savings are accurate. -- **A clearer audit trail for contracted cost.** FinOps hubs record the changes they make to each row during ingestion in the `x_SourceValues` column. Contracted cost values that were already correct were being recalculated anyway, because tiny floating-point differences looked like changes, and that added millions of unnecessary entries. FinOps hubs now recalculate contracted cost only when the value needs to change and keep an existing contracted cost when the unit price is missing, so `x_SourceValues` shows only meaningful changes. -- **More complete recommendations.** The SQL VMs without Azure Hybrid Benefit recommendation now includes every eligible VM. Matching used the VM name and was case sensitive, which skipped VMs with uppercase names and dropped VMs that share a name. The recommendation now matches each VM by its resource ID. +- **Consistent savings.** The Summary page in the Data Explorer dashboard now excludes commitment purchases the same way the Rate optimization page does, so savings and effective savings rate (ESR) match across both. Commitment discount savings also compare against the Production price when a reservation price has Dev/Test variants. +- **A focused change history for contracted cost.** FinOps hubs record the changes made to each row during ingestion in the `x_SourceValues` column. Contracted cost is now updated only when the value needs to change, so `x_SourceValues` shows only meaningful changes. An existing contracted cost is also kept when the unit price is missing. +- **More complete recommendations.** The SQL VMs without Azure Hybrid Benefit recommendation now matches each SQL VM by its resource ID, so it includes every eligible VM, including VMs with uppercase names or names shared with other VMs. Ready to upgrade? See [Create and update FinOps hubs](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/deploy). ## Better data for reservations and savings plans -Getting the most from reservations and savings plans starts with knowing which SKUs flex together, which meters qualify for a commitment discount, and where to find that eligibility in your price data. FinOps toolkit 15 improves all three with a new instance size flexibility dataset, a refreshed commitment discount eligibility dataset, and corrected eligibility columns in FinOps hubs price data. +Getting the most from reservations and savings plans starts with knowing which meters qualify for a commitment discount and which SKUs flex together. FinOps toolkit 15 improves both with a refreshed commitment discount eligibility dataset, a new instance size flexibility dataset, and corrected eligibility columns in FinOps hubs price data. -Reservations rely on instance size flexibility (ISF) data to group SKUs and compare sizes. The new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset in open data maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every Azure region. Power BI reports and Azure Optimization Engine used to read ISF data from files hosted outside the toolkit, which Microsoft is retiring. The new dataset ships with the toolkit and refreshes weekly. If you're using Power BI reports or Azure Optimization Engine, you'll want to upgrade those as well to ensure you're leveraging the new ISF dataset. +If you're using the [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset to find commitment discount candidates, the dataset refreshes weekly with the latest meters, and retired meters drop off. Each release includes a snapshot from the time of the release. -If you're building commitment discount automation via scripts, you may also be interested in the new [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility) commands in the FinOps toolkit PowerShell module. These give you programmatic access to the same data, in a more queryable manner that you can integrate cleanly into existing PowerShell or other scripts. +If you're building commitment discount eligibility into queries, you can also use the `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility` columns in the FinOps hubs Prices dataset. These columns tell you which SKUs your commitments apply to. A bug had swapped their values, and FinOps hubs 15 corrects them. `x_CommitmentDiscountSpendEligibility` indicates which SKUs savings plans are eligible for, and `x_CommitmentDiscountUsageEligibility` indicates which SKUs reservations are eligible for. If you have historical Prices data, [upgrade to FinOps hubs 15](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade) and reingest that data to make sure all of it has the correct values. -If you're using the [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset to find commitment discount candidates, the dataset now refreshes completely every week. New meters show up and retired meters drop off. Each release includes a snapshot from the time of the release. +Reservations rely on instance size flexibility (ISF) data to group SKUs and compare sizes. The new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset in open data maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every Azure region. Power BI reports and Azure Optimization Engine used to read ISF data from files hosted outside the toolkit, which Microsoft is retiring. The new dataset ships with the toolkit and refreshes weekly. If you're using Power BI reports or Azure Optimization Engine, you'll want to upgrade those as well to ensure you're leveraging the new ISF dataset. -If you're building commitment discount eligibility into queries, you can also use the `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility` columns in the FinOps hubs Prices dataset. These columns tell you which SKUs your commitments apply to. A bug had swapped their values, and FinOps hubs 15 corrects them. `x_CommitmentDiscountSpendEligibility` indicates which SKUs savings plans are eligible for, and `x_CommitmentDiscountUsageEligibility` indicates which SKUs reservations are eligible for. If you have historical Prices data, [upgrade to FinOps hubs 15](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade) and reingest that data to make sure all of it has the correct values. +If you're building commitment discount automation via scripts, you may also be interested in the new [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility) commands in the FinOps toolkit PowerShell module. These give you programmatic access to the same data, in a more queryable manner that you can integrate cleanly into existing PowerShell or other scripts. ## Find help in the FinOps toolkit ecosystem @@ -105,7 +104,9 @@ Of course, these are just two of the resources mentioned on the ecosystem page. - Updated the hub database guide to explain how columns are organized, added 27 missing columns, and corrected the `Costs()` column reference. - Updated the backfill instructions to use `config_StartBackfillProcess`, which backfills every month in your retention window in one run. Microsoft Customer Agreement (MCA) billing accounts and profiles can backfill with Cost Management exports or `Start-FinOpsCostExport` instead. - Updated the dashboard links for Governance, policy, and risk and for FinOps tools and services to go directly to the Microsoft Learn pages. -- Fixed FOCUS 1.0 cost data being labeled as FOCUS 1.2 in `x_SourceVersion`. FOCUS 1.0 rows also skipped 1.0-specific fixes, like the savings plan purchase charge frequency correction. +- Improved deployments with Data Explorer on private networks, including when you approve private endpoint connections. +- Improved first-time ingestion for new scopes, datasets, and months, including reservation recommendation exports. +- FOCUS 1.0 cost data is now labeled as FOCUS 1.0 in `x_SourceVersion`, and FOCUS 1.0 rows get 1.0-specific fixes like the savings plan purchase charge frequency correction. **In [Power BI reports](https://aka.ms/ftk/pbi):** @@ -131,7 +132,7 @@ Of course, these are just two of the resources mentioned on the ecosystem page. - Added an [Azure Optimization Engine reference](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/reference) for runbooks, schedules, variables, and tables. - Log Analytics ingestion now uses a Data Collection Rule and Ingestion API, the supported path after the Data Collection API deprecation in September 2026. To upgrade an existing deployment, rerun the deployment script with the same options, or add `-DoPartialUpgrade` if you customized components. See [Upgrading AOE](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/setup-options#upgrading-aoe). - Reservations stay in the reservation workbooks when their SKU is no longer sold. -- Azure RBAC assignment exports no longer call the Azure Classic administrators endpoint, which was deprecated May 1, 2026. +- Azure RBAC assignment exports now skip the Azure Classic administrators endpoint, which was deprecated May 1, 2026. - The Reservations Usage workbook works with the current consumption table schema. **In the [PowerShell module](https://aka.ms/ftk/ps):** @@ -161,7 +162,7 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak ## Preview snippet -> FinOps toolkit 15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin, adds a guide to run FinOps hubs locally, improves private networking for FinOps hubs, and delivers new reservation and commitment discount data. +> FinOps toolkit 15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin that gives you a team of AI agents to direct, adds a guide to run FinOps hubs locally, adds an opt-in NAT Gateway for private FinOps hubs, and delivers new reservation and commitment discount data. ## Social media @@ -169,7 +170,7 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak > FinOps toolkit 15 is out! #FinOpsToolkit > -> Work alongside AI agents that understand FinOps and your cost data with a new agent plugin, run a #FinOpsHubs instance on your own machine, and deploy FinOps hubs privately with opt-in NAT Gateway support. You also get new reservation and commitment discount data, plus improvements across Power BI reports, workbooks, alerts, Azure Optimization Engine, and PowerShell. +> Direct a team of AI agents that understand FinOps and your cost data, the staff your manager never gave you, with a new agent plugin. Run a #FinOpsHubs instance on your own machine, and add an opt-in NAT Gateway to private FinOps hubs. You also get new reservation and commitment discount data, plus improvements across Power BI reports, workbooks, alerts, Azure Optimization Engine, and PowerShell. > > Check it out and let us know what you'd like to see next! > @@ -179,9 +180,9 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak > FinOps toolkit 15 is out! #FinOpsToolkit > -> - Agent plugin for your AI assistant +> - AI agents you direct, in a new agent plugin > - Run #FinOpsHubs locally -> - Private networking with opt-in NAT Gateway +> - Opt-in NAT Gateway for private FinOps hubs > - New reservation and commitment discount data > - Fixes across the toolkit > @@ -191,4 +192,4 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak **Internal:** -> FinOps toolkit 15 is live with an agent plugin for your AI assistant, FinOps hubs you can run locally, private networking with opt-in NAT Gateway, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} +> FinOps toolkit 15 is live with an agent plugin that gives you AI agents to direct, FinOps hubs you can run locally, an opt-in NAT Gateway for private FinOps hubs, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} From 40022f9d64ce3cd65f5f4a29bae87b9ced3e54dc Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Wed, 28 Oct 2026 23:03:23 -0700 Subject: [PATCH 12/13] docs(announce): rewrite v15 announcement in a single pass Co-Authored-By: flanakin Co-Authored-By: Claude Sonnet 5.5 --- announce/2026/2026-10_v15.md | 118 ++++++++++++----------------------- 1 file changed, 40 insertions(+), 78 deletions(-) diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index f692c0acd..88ef43154 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -1,84 +1,58 @@ # What's new in FinOps toolkit 15 – October 2026 -Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it help you understand and optimize your cloud costs, too? FinOps toolkit 15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, add an opt-in NAT Gateway to private FinOps hubs, and automate reservation and savings plan work with new datasets and PowerShell commands. Power BI reports, workbooks, alerts, Azure Optimization Engine (AOE), and the PowerShell module also got improvements and fixes. Read on for details. +Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions. Now that assistant can help you understand and optimize your cloud costs, too. FinOps toolkit 15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin. You can also run FinOps hubs on your own machine, add NAT Gateway support to private FinOps hubs, and get better data for reservations and savings plans. FinOps hubs 15 is faster, more reliable, and more accurate, and Power BI reports, workbooks, alerts, Azure Optimization Engine, and the PowerShell module all got improvements. Read on for details. ## New to the FinOps toolkit? The FinOps toolkit is an open-source collection of tools and resources helping organizations learn, adopt, and implement FinOps in the Microsoft Cloud. The foundation includes the [Implementing FinOps guide](https://aka.ms/finops/guide) for getting started with native Azure portal tools or custom FinOps solutions. Learn more at the [FinOps toolkit documentation](https://aka.ms/ftk/docs). -## Leverage AI to scale your FinOps impact +## Scale your FinOps impact with AI agents -Picture the staff your manager never gave you: a team of AI agents that know FinOps, can query your cost data, and never tire of follow-up questions. You direct them to find which Azure services drove last month's spend, dig into why, plan the fix, and turn that plan into a proposal your engineering team can act on. Then they build the report your leadership asks for, all grounded in your own cost data. That's the idea behind the new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin): AI agents that do the work, not just answer questions. +Picture the staff your manager never gave you: a team of AI agents that know FinOps, work from your own cost data, and welcome every follow-up question. You direct them to find which Azure services drove last month's spend and why. Then they plan the fix, draft a proposal your engineering team can act on, and build the report your leadership asks for. That's the new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin): AI agents that do the work, not just answer questions. -The plugin includes five agents: CFO, FinOps practitioner, FinOps hubs database query, FinOps hubs deployment and troubleshooting, and Azure capacity manager. The CFO, FinOps practitioner, and Azure capacity manager work with or without a FinOps hub. They offer FinOps guidance, help with Azure quota and capacity, and answer basic cost questions, like what you spent last month or which services cost the most, using Microsoft Cost Management and the Azure access you already have. The database query agent works against a FinOps hub, so connect one and the agent can take on much bigger questions, like month-over-month trends, forecasts, anomaly detection, commitment discount utilization and waste, tag coverage, and AI spend by application. A FinOps hubs KQL skill gives the agent the schema and a catalog of ready-made queries, so your questions become queries against the real Costs, Prices, Recommendations, and Transactions datasets instead of guesses. +The plugin includes five agents: CFO, FinOps practitioner, FinOps hubs database query, FinOps hubs deployment and troubleshooting, and Azure capacity manager. The CFO, FinOps practitioner, and Azure capacity manager work with or without a FinOps hub. They offer FinOps guidance, help with Azure quota and capacity, and answer basic cost questions, like what you spent last month, using Microsoft Cost Management. Connect a FinOps hub and the database query agent takes on bigger questions, like month-over-month trends, forecasts, anomalies, and AI spend by application. Built-in commands handle routine work, like running month-over-month and year-to-date cost reports. See the [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) for details. Agents query your data in read-only mode, so nothing changes in your environment. To go further across Azure, you can also add the full [Azure MCP server](https://learn.microsoft.com/azure/developer/azure-mcp-server/overview). -Built-in commands handle routine tasks like connecting to a FinOps hub, checking its health, and running month-over-month and year-to-date cost reports. The [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) covers each command, along with the sign-in and permissions you need to connect to a FinOps hub. - -The plugin also includes the Azure MCP server, scoped to Data Explorer and read-only, so your agents can query your FinOps hub without changing anything in your environment. To take your agents further across Azure, you can add the full [Azure MCP server](https://learn.microsoft.com/azure/developer/azure-mcp-server/overview) yourself. We kept the plugin's server scoped to avoid bloating your agent's context. - -The plugin uses the [Agent Plugins](https://agent-plugins.org) open standard and works across AI platforms that support the standard, such as GitHub Copilot, ChatGPT, and Claude. Refer to [compatible clients](https://agent-plugins.org/compatible-clients) for a full list of currently supported tools and platforms. Only the install steps vary by platform: +The plugin uses the [Agent Plugins](https://agent-plugins.org) open standard, so it works across AI platforms that support the standard. See [compatible clients](https://agent-plugins.org/compatible-clients) for the current list. Only the install steps vary: - **GitHub Copilot CLI:** Run `copilot plugin install microsoft/finops-toolkit`. - **ChatGPT:** Ask a workspace admin to import the `microsoft/finops-toolkit` GitHub marketplace, then open the **Plugins** tab, select the plugin, and select the plus button to install it. - **Codex CLI:** Run `codex plugin marketplace add microsoft/finops-toolkit`, then run `codex`, enter `/plugins`, and install the plugin. -- **Claude Code:** Run `/plugin marketplace add microsoft/finops-toolkit`, then `/plugin install microsoft-finops-toolkit@finops-toolkit`. - **Claude Cowork:** Select **Customize** > **Plugins** > **Add** > **Add marketplace**, enter `microsoft/finops-toolkit`, then add the plugin. +- **Claude Code:** Run `/plugin marketplace add microsoft/finops-toolkit`, then `/plugin install microsoft-finops-toolkit@finops-toolkit`. Let us know where you'd like to see this go. We're also looking into a FinOps toolkit MCP server to take this even further. ## Run a FinOps hub on your own machine -Not every question needs a deployed FinOps hub. Maybe you just want to prototype FinOps hubs before engaging engineering and deploying Azure resources. Maybe you want to explore the data model, test a query against a large dataset, or work somewhere you can't reach Azure. The new [Run FinOps hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide walks through running a FinOps hub in the Kusto emulator, a free container, so what you learn locally carries over to a deployed hub. - -You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The guide is written so you or your AI assistant can run each step. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command and loads all the tables and datasets, just like a normal FinOps hubs instance. - -A local hub is an additional option alongside a deployed hub, not a replacement for one, and the two have different trade-offs. You run and manage the container yourself instead of relying on a managed service like Azure Data Explorer or Microsoft Fabric, so a local hub has no scheduled ingestion and no service level agreement (SLA). That makes a local hub a great fit for exploring, validating, and supporting consulting work. A deployed hub in Azure gives you scheduled ingestion, an SLA, and data you can share across your organization. Your cost exports and databases are stored in folders on your machine, so they're still there when you restart the container. - -## Private networking for FinOps hubs - -Many organizations can't leave their cloud data reachable over the public internet. If yours is one of them, FinOps hubs 15 gives you more control with an opt-in NAT Gateway for private mode and explicit network modes. Pick the mode that fits your environment: +Not every question needs a deployed FinOps hub. Maybe you want to prototype FinOps hubs before engaging engineering and deploying Azure resources. Maybe you want to explore the data model, test a query against a large dataset, or work somewhere you can't reach Azure. The new [Run FinOps hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide shows how to run a FinOps hub in a free container, so what you learn carries over to a deployed FinOps hub. The guide is written so you or your AI assistant can run each step, and the new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up everything with one command. -- **Private** uses private endpoints and an opt-in NAT Gateway that gives the FinOps hub explicit outbound access. Choose this mode when an Azure Policy requires subnets to have default outbound access disabled. The NAT Gateway adds charges, so enable it when you need that outbound access. -- **VNet** uses private endpoints with default outbound access and no NAT Gateway. Choose this mode when your subscriptions allow default outbound access and you'd rather skip the NAT Gateway charges. -- **Public** is the default. +A local FinOps hub is a separate option next to a deployed FinOps hub, not a replacement. You run the container yourself, so there's no scheduled ingestion and no service level agreement (SLA). That makes a local FinOps hub a great fit for exploring, validating, and supporting consulting work. When you need scheduled ingestion, an SLA, and data you can share across your organization, deploy a FinOps hub in Azure. -In the deployment UI, set **Access** to **Private** on the **Advanced** tab, then select **Deploy NAT Gateway for controlled outbound access** to use private mode. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode` set to `private`, `vnet`, or `public`. +## NAT Gateway support for private FinOps hubs -When you upgrade, pass the same network options to keep your network setup, either the same **Access** setting in the deployment UI or the same `-NetworkMode` in PowerShell. Private mode needs FinOps hubs 15 or later. If your scripts use `-DisablePublicAccess`, that parameter still works and maps to `vnet`, so move to `-NetworkMode` when you're ready. +Many organizations keep their cloud data off the public internet. If yours is one of them, FinOps hubs 15 gives you more ways to fit private FinOps hubs to your environment. Private FinOps hubs now support a NAT Gateway for controlled outbound access, which suits subscriptions where Azure Policy turns off default outbound access. A new VNet mode covers subscriptions that allow default outbound access and don't need a NAT Gateway. -We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. +To use a NAT Gateway, set **Access** to **Private** on the **Advanced** tab of the deployment UI, then select **Deploy NAT Gateway for controlled outbound access**. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode` set to `private`, `vnet`, or `public`. When you upgrade, use the same network settings to keep your setup. See [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) for details. ## FinOps hubs are faster, more reliable, and more accurate -FinOps hubs 15 brings in a ton of quality improvements, from performance and reliability to data quality. Now's a great time to upgrade, if you're running on an older version. Here are some of the highlights: +FinOps hubs 15 brings a ton of quality improvements, from performance and reliability to data quality. Now's a great time to upgrade, if you're running on an older version. Here are some of the highlights: -**More efficient ingestion.** Lookups that enrich each row are quicker, and text comparisons use the engine's index instead of scanning every row, so large datasets ingest with less effort. Data Factory also uses less memory when it filters out empty files. +**Faster.** Large datasets ingest with less effort, and queries, including the query catalog, run faster. -**Faster queries.** Hub queries, including the query catalog, run faster on large datasets because they use the engine's term index instead of scanning every row. +**More reliable.** Upgrading keeps your data retention settings unless you choose a new value. -**Smoother deployments and upgrades:** - -- **Upgrades preserve your data.** Redeploying or upgrading keeps your data retention settings unless you specify a new value. -- **Managed exports run out of the box.** FinOps hubs now assign Data Factory the Azure role it needs, so managed exports work right after deployment. -- **More regions.** FinOps hubs now deploy in more regions, including Sweden Central, and managed exports are supported in Japan. - -**More accurate data:** - -- **Consistent savings.** The Summary page in the Data Explorer dashboard now excludes commitment purchases the same way the Rate optimization page does, so savings and effective savings rate (ESR) match across both. Commitment discount savings also compare against the Production price when a reservation price has Dev/Test variants. -- **A focused change history for contracted cost.** FinOps hubs record the changes made to each row during ingestion in the `x_SourceValues` column. Contracted cost is now updated only when the value needs to change, so `x_SourceValues` shows only meaningful changes. An existing contracted cost is also kept when the unit price is missing. -- **More complete recommendations.** The SQL VMs without Azure Hybrid Benefit recommendation now matches each SQL VM by its resource ID, so it includes every eligible VM, including VMs with uppercase names or names shared with other VMs. +**More accurate.** Savings and effective savings rate (ESR) now match across the dashboard Summary and Rate optimization pages, and the SQL VMs without Azure Hybrid Benefit recommendation includes every eligible VM. Ready to upgrade? See [Create and update FinOps hubs](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/deploy). ## Better data for reservations and savings plans -Getting the most from reservations and savings plans starts with knowing which meters qualify for a commitment discount and which SKUs flex together. FinOps toolkit 15 improves both with a refreshed commitment discount eligibility dataset, a new instance size flexibility dataset, and corrected eligibility columns in FinOps hubs price data. - -If you're using the [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset to find commitment discount candidates, the dataset refreshes weekly with the latest meters, and retired meters drop off. Each release includes a snapshot from the time of the release. +Getting the most from reservations and savings plans starts with knowing which meters qualify for a commitment discount and which SKUs flex together. FinOps toolkit 15 improves both with a refreshed [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset, a new [instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) (ISF) dataset, and corrected eligibility columns in FinOps hubs price data. The latest datasets refresh weekly on GitHub, and each release includes a snapshot from the time of the release. If you're building commitment discount eligibility into queries, you can also use the `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility` columns in the FinOps hubs Prices dataset. These columns tell you which SKUs your commitments apply to. A bug had swapped their values, and FinOps hubs 15 corrects them. `x_CommitmentDiscountSpendEligibility` indicates which SKUs savings plans are eligible for, and `x_CommitmentDiscountUsageEligibility` indicates which SKUs reservations are eligible for. If you have historical Prices data, [upgrade to FinOps hubs 15](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade) and reingest that data to make sure all of it has the correct values. -Reservations rely on instance size flexibility (ISF) data to group SKUs and compare sizes. The new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset in open data maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every Azure region. Power BI reports and Azure Optimization Engine used to read ISF data from files hosted outside the toolkit, which Microsoft is retiring. The new dataset ships with the toolkit and refreshes weekly. If you're using Power BI reports or Azure Optimization Engine, you'll want to upgrade those as well to ensure you're leveraging the new ISF dataset. +The new ISF dataset maps each ARM SKU to its flexibility group and ratio, comes from the Azure Reservations Catalogs API, and covers every Azure region. If you're using Power BI reports or Azure Optimization Engine, you'll want to upgrade those as well to use the new ISF dataset. If you're building commitment discount automation via scripts, you may also be interested in the new [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility) commands in the FinOps toolkit PowerShell module. These give you programmatic access to the same data, in a more queryable manner that you can integrate cleanly into existing PowerShell or other scripts. @@ -90,7 +64,7 @@ While Microsoft Support doesn't provide full support for the FinOps toolkit, [Al When I started the FinOps toolkit, I always had a vision of building a native portal experience that makes it easy to understand and optimize costs. Today, FinOps hubs give you that core platform – open, scalable, and extensible – but you're often hit by limitations of reports and dashboards that are never as interactive as you might need them to be. [FinOpsHubs.com](https://finopshubs.com) is an initial step in that direction. And we're happy to offer it to the community **for free**. Your data stays under your control, and you get a richer way to navigate that data in a free, scalable analytics experience designed to evolve around your needs. No data to move. No special access. Just sign in and get answers. And, as the former product manager for Cost analysis in the Azure portal, you'll find it familiar with additions that help you do more than you've been able to in the past. And of course, this is just the start. We're eager to build this out and help you achieve more through AI backed by intelligent tooling that connects people and streamlines processes. We're looking forward to hearing your feedback and seeing where this goes! -Of course, these are just two of the resources mentioned on the ecosystem page. These organizations are independent of Microsoft. Know a tool or organization that belongs on the page? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). +Of course, these are just two of the resources mentioned on the ecosystem page. Know a tool or organization that belongs there? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). ## Other new and noteworthy updates @@ -101,46 +75,36 @@ Of course, these are just two of the resources mentioned on the ecosystem page. **In [FinOps hubs](https://aka.ms/finops/hubs):** -- Updated the hub database guide to explain how columns are organized, added 27 missing columns, and corrected the `Costs()` column reference. -- Updated the backfill instructions to use `config_StartBackfillProcess`, which backfills every month in your retention window in one run. Microsoft Customer Agreement (MCA) billing accounts and profiles can backfill with Cost Management exports or `Start-FinOpsCostExport` instead. -- Updated the dashboard links for Governance, policy, and risk and for FinOps tools and services to go directly to the Microsoft Learn pages. +- Improved managed exports, first-time ingestion, and deployments in more regions, including Sweden Central and Japan. - Improved deployments with Data Explorer on private networks, including when you approve private endpoint connections. -- Improved first-time ingestion for new scopes, datasets, and months, including reservation recommendation exports. -- FOCUS 1.0 cost data is now labeled as FOCUS 1.0 in `x_SourceVersion`, and FOCUS 1.0 rows get 1.0-specific fixes like the savings plan purchase charge frequency correction. +- Improved contracted cost handling so each row's change history shows only meaningful changes. +- Updated the database guide with 27 more columns and the backfill instructions to cover every month in your retention window in one run. +- Updated the dashboard links for Governance, policy, and risk and for FinOps tools and services to go directly to the Microsoft Learn pages. **In [Power BI reports](https://aka.ms/ftk/pbi):** -- Changed Azure Resource Graph queries to run per subscription batch to avoid payload size errors in the Governance and Workload optimization reports. +- Improved the Governance and Workload optimization reports for larger environments. +- Added support for gzip-compressed CSV exports (`.csv.gz`) in storage reports, which came up in the [October 28 office hours](https://aka.ms/ftk/office-hours). +- Improved storage report refresh for FOCUS 1.2 exports and exports that use earlier FOCUS versions. - Changed the default **Number of Months** in storage reports from 1 to 3 to show more cost history. -- Storage reports now read gzip-compressed CSV exports (`.csv.gz`). This came up in the [October 28 office hours](https://aka.ms/ftk/office-hours). -- Advisor recommendation tables return complete results. -- Storage reports refresh cleanly for FOCUS 1.2 exports and for exports that use earlier FOCUS versions. -- The Reservations tab in the Rate optimization report now shows data for MCA accounts. -- Report templates now open with empty storage and cluster settings, ready for your own data source. - -**In [FinOps workbooks](https://aka.ms/ftk/workbooks):** - -- The savings plan workbook now shows every recommendation. -- The Azure Hybrid Benefit workbook "VM Latest Change Last 7 days" tile now returns results, and SQL VM queries include VMs with uppercase names. +- Improved Advisor recommendation tables and the Reservations tab in the Rate optimization report, which now shows data for Microsoft Customer Agreement accounts. -**In [FinOps alerts](https://aka.ms/ftk/alerts):** +**In [FinOps workbooks](https://aka.ms/ftk/workbooks) and [FinOps alerts](https://aka.ms/ftk/alerts):** -- Idle application gateway and idle public IP queries now return complete results. +- Improved the savings plan workbook to show every recommendation and the Azure Hybrid Benefit workbook to include VMs with uppercase names. +- Improved the idle application gateway and idle public IP alerts to return complete results. **In [Azure Optimization Engine](https://aka.ms/ftk/aoe):** - Added an [Azure Optimization Engine reference](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/reference) for runbooks, schedules, variables, and tables. -- Log Analytics ingestion now uses a Data Collection Rule and Ingestion API, the supported path after the Data Collection API deprecation in September 2026. To upgrade an existing deployment, rerun the deployment script with the same options, or add `-DoPartialUpgrade` if you customized components. See [Upgrading AOE](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/setup-options#upgrading-aoe). -- Reservations stay in the reservation workbooks when their SKU is no longer sold. -- Azure RBAC assignment exports now skip the Azure Classic administrators endpoint, which was deprecated May 1, 2026. -- The Reservations Usage workbook works with the current consumption table schema. +- Updated Log Analytics ingestion to use a Data Collection Rule and Ingestion API, the supported path after the Data Collection API deprecation in September 2026. To upgrade an existing deployment, rerun the deployment script with the same options. See [Upgrading AOE](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/setup-options#upgrading-aoe). +- Improved the reservation workbooks to keep reservations visible when their SKU is retired. **In the [PowerShell module](https://aka.ms/ftk/ps):** -- [Deploy-FinOpsHub](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/deploy-finopshub) now works with single-part and `v`-prefixed `-Version` values, like `13` and `v14`, and with concurrent deployments. -- [Get-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/get-finopscostexport) `-RunHistory` returns the complete run history. -- [Start-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/start-finopscostexport) exports the correct period in positive UTC offsets. -- The module now requires `Az.Accounts` 2.17.0 or later, so the `Get-AzAccessToken -AsSecureString` parameter is always available. Run `Update-Module Az.Accounts` if you're on an older version. +- Improved [Deploy-FinOpsHub](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/deploy-finopshub) to accept version values like `13` and `v14` and to support concurrent deployments. +- Improved [Get-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/get-finopscostexport) `-RunHistory` and [Start-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/start-finopscostexport) to return complete run history and export the correct period in positive UTC offsets. +- Raised the minimum `Az.Accounts` version to 2.17.0. Run `Update-Module Az.Accounts` if you're on an older version. For the complete list, see the [changelog](https://aka.ms/ftk/changes#v15). @@ -153,16 +117,14 @@ Here's a peek at what we're currently working on: - FOCUS 1.5 support across FinOps hubs, Power BI reports, agent plugins, and documentation. - A FinOps toolkit MCP server, which we're looking into. - Quota, capacity, and savings plan recommendations in FinOps hubs, along with dashboards for AI billing, tokenomics, and capacity. -- Security hardening for FinOps hubs, including opt-in Key Vault role-based access control and the option to disable storage Shared Key access. -- AI-assisted triage and repository automation with GitHub Agentic Workflows. We already started the FinOps toolkit 16 release cycle with a new FinOps Explorer and Azure SRE Agent tools. We're also targeting FOCUS 1.5 for FinOps toolkit 17. Expect to hear more by the end of the year. -The roadmap is driven by what you tell us you need. [Create an issue](https://aka.ms/ftk/ideas) or [start a discussion](https://aka.ms/ftk/discuss) and let us know what you'd like to see next, including what you want from a FinOps toolkit MCP server. +The [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap) is driven by what you tell us you need. [Create an issue](https://aka.ms/ftk/ideas) or [start a discussion](https://aka.ms/ftk/discuss) and let us know what you'd like to see next, including what you want from a FinOps toolkit MCP server. ## Preview snippet -> FinOps toolkit 15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin that gives you a team of AI agents to direct, adds a guide to run FinOps hubs locally, adds an opt-in NAT Gateway for private FinOps hubs, and delivers new reservation and commitment discount data. +> FinOps toolkit 15 brings AI agents that do the work to the tools you already use with a new agent plugin, adds a guide to run FinOps hubs locally, adds NAT Gateway support for private FinOps hubs, and delivers new reservation and commitment discount data. ## Social media @@ -170,7 +132,7 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak > FinOps toolkit 15 is out! #FinOpsToolkit > -> Direct a team of AI agents that understand FinOps and your cost data, the staff your manager never gave you, with a new agent plugin. Run a #FinOpsHubs instance on your own machine, and add an opt-in NAT Gateway to private FinOps hubs. You also get new reservation and commitment discount data, plus improvements across Power BI reports, workbooks, alerts, Azure Optimization Engine, and PowerShell. +> A new agent plugin brings AI agents that know FinOps and your cost data to the tools you already use, like the staff your manager never gave you. You can also run #FinOpsHubs on your own machine, add NAT Gateway support to private FinOps hubs, and get new reservation and commitment discount data. > > Check it out and let us know what you'd like to see next! > @@ -180,9 +142,9 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak > FinOps toolkit 15 is out! #FinOpsToolkit > -> - AI agents you direct, in a new agent plugin +> - Agent plugin for your AI assistant > - Run #FinOpsHubs locally -> - Opt-in NAT Gateway for private FinOps hubs +> - NAT Gateway support for private FinOps hubs > - New reservation and commitment discount data > - Fixes across the toolkit > @@ -192,4 +154,4 @@ The roadmap is driven by what you tell us you need. [Create an issue](https://ak **Internal:** -> FinOps toolkit 15 is live with an agent plugin that gives you AI agents to direct, FinOps hubs you can run locally, an opt-in NAT Gateway for private FinOps hubs, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} +> FinOps toolkit 15 is live with an agent plugin that puts AI agents to work on your FinOps tasks, FinOps hubs you can run locally, NAT Gateway support for private FinOps hubs, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} From dd21938d721248c89bb226bddd9327a65ed51a9a Mon Sep 17 00:00:00 2001 From: Michael Flanakin Date: Thu, 29 Oct 2026 00:31:27 -0700 Subject: [PATCH 13/13] Revert "docs(announce): rewrite v15 announcement in a single pass" This reverts commit 40022f9d. The rewrite went beyond the requested changes. Co-Authored-By: Claude Sonnet 5.5 --- announce/2026/2026-10_v15.md | 118 +++++++++++++++++++++++------------ 1 file changed, 78 insertions(+), 40 deletions(-) diff --git a/announce/2026/2026-10_v15.md b/announce/2026/2026-10_v15.md index 88ef43154..f692c0acd 100644 --- a/announce/2026/2026-10_v15.md +++ b/announce/2026/2026-10_v15.md @@ -1,58 +1,84 @@ # What's new in FinOps toolkit 15 – October 2026 -Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions. Now that assistant can help you understand and optimize your cloud costs, too. FinOps toolkit 15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin. You can also run FinOps hubs on your own machine, add NAT Gateway support to private FinOps hubs, and get better data for reservations and savings plans. FinOps hubs 15 is faster, more reliable, and more accurate, and Power BI reports, workbooks, alerts, Azure Optimization Engine, and the PowerShell module all got improvements. Read on for details. +Most of us already keep an AI assistant open all day. It writes, summarizes, and answers questions, so why shouldn't it help you understand and optimize your cloud costs, too? FinOps toolkit 15 makes that happen with a new agent plugin that brings FinOps expertise and your cost data into the AI tools you already use. You can also run FinOps hubs on your own machine, add an opt-in NAT Gateway to private FinOps hubs, and automate reservation and savings plan work with new datasets and PowerShell commands. Power BI reports, workbooks, alerts, Azure Optimization Engine (AOE), and the PowerShell module also got improvements and fixes. Read on for details. ## New to the FinOps toolkit? The FinOps toolkit is an open-source collection of tools and resources helping organizations learn, adopt, and implement FinOps in the Microsoft Cloud. The foundation includes the [Implementing FinOps guide](https://aka.ms/finops/guide) for getting started with native Azure portal tools or custom FinOps solutions. Learn more at the [FinOps toolkit documentation](https://aka.ms/ftk/docs). -## Scale your FinOps impact with AI agents +## Leverage AI to scale your FinOps impact -Picture the staff your manager never gave you: a team of AI agents that know FinOps, work from your own cost data, and welcome every follow-up question. You direct them to find which Azure services drove last month's spend and why. Then they plan the fix, draft a proposal your engineering team can act on, and build the report your leadership asks for. That's the new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin): AI agents that do the work, not just answer questions. +Picture the staff your manager never gave you: a team of AI agents that know FinOps, can query your cost data, and never tire of follow-up questions. You direct them to find which Azure services drove last month's spend, dig into why, plan the fix, and turn that plan into a proposal your engineering team can act on. Then they build the report your leadership asks for, all grounded in your own cost data. That's the idea behind the new [FinOps toolkit agent plugin](https://microsoft.github.io/finops-toolkit/agent-plugin): AI agents that do the work, not just answer questions. -The plugin includes five agents: CFO, FinOps practitioner, FinOps hubs database query, FinOps hubs deployment and troubleshooting, and Azure capacity manager. The CFO, FinOps practitioner, and Azure capacity manager work with or without a FinOps hub. They offer FinOps guidance, help with Azure quota and capacity, and answer basic cost questions, like what you spent last month, using Microsoft Cost Management. Connect a FinOps hub and the database query agent takes on bigger questions, like month-over-month trends, forecasts, anomalies, and AI spend by application. Built-in commands handle routine work, like running month-over-month and year-to-date cost reports. See the [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) for details. Agents query your data in read-only mode, so nothing changes in your environment. To go further across Azure, you can also add the full [Azure MCP server](https://learn.microsoft.com/azure/developer/azure-mcp-server/overview). +The plugin includes five agents: CFO, FinOps practitioner, FinOps hubs database query, FinOps hubs deployment and troubleshooting, and Azure capacity manager. The CFO, FinOps practitioner, and Azure capacity manager work with or without a FinOps hub. They offer FinOps guidance, help with Azure quota and capacity, and answer basic cost questions, like what you spent last month or which services cost the most, using Microsoft Cost Management and the Azure access you already have. The database query agent works against a FinOps hub, so connect one and the agent can take on much bigger questions, like month-over-month trends, forecasts, anomaly detection, commitment discount utilization and waste, tag coverage, and AI spend by application. A FinOps hubs KQL skill gives the agent the schema and a catalog of ready-made queries, so your questions become queries against the real Costs, Prices, Recommendations, and Transactions datasets instead of guesses. -The plugin uses the [Agent Plugins](https://agent-plugins.org) open standard, so it works across AI platforms that support the standard. See [compatible clients](https://agent-plugins.org/compatible-clients) for the current list. Only the install steps vary: +Built-in commands handle routine tasks like connecting to a FinOps hub, checking its health, and running month-over-month and year-to-date cost reports. The [plugin documentation](https://learn.microsoft.com/cloud-computing/finops/toolkit/agent-plugin/finops-toolkit-agent-plugin-overview) covers each command, along with the sign-in and permissions you need to connect to a FinOps hub. + +The plugin also includes the Azure MCP server, scoped to Data Explorer and read-only, so your agents can query your FinOps hub without changing anything in your environment. To take your agents further across Azure, you can add the full [Azure MCP server](https://learn.microsoft.com/azure/developer/azure-mcp-server/overview) yourself. We kept the plugin's server scoped to avoid bloating your agent's context. + +The plugin uses the [Agent Plugins](https://agent-plugins.org) open standard and works across AI platforms that support the standard, such as GitHub Copilot, ChatGPT, and Claude. Refer to [compatible clients](https://agent-plugins.org/compatible-clients) for a full list of currently supported tools and platforms. Only the install steps vary by platform: - **GitHub Copilot CLI:** Run `copilot plugin install microsoft/finops-toolkit`. - **ChatGPT:** Ask a workspace admin to import the `microsoft/finops-toolkit` GitHub marketplace, then open the **Plugins** tab, select the plugin, and select the plus button to install it. - **Codex CLI:** Run `codex plugin marketplace add microsoft/finops-toolkit`, then run `codex`, enter `/plugins`, and install the plugin. -- **Claude Cowork:** Select **Customize** > **Plugins** > **Add** > **Add marketplace**, enter `microsoft/finops-toolkit`, then add the plugin. - **Claude Code:** Run `/plugin marketplace add microsoft/finops-toolkit`, then `/plugin install microsoft-finops-toolkit@finops-toolkit`. +- **Claude Cowork:** Select **Customize** > **Plugins** > **Add** > **Add marketplace**, enter `microsoft/finops-toolkit`, then add the plugin. Let us know where you'd like to see this go. We're also looking into a FinOps toolkit MCP server to take this even further. ## Run a FinOps hub on your own machine -Not every question needs a deployed FinOps hub. Maybe you want to prototype FinOps hubs before engaging engineering and deploying Azure resources. Maybe you want to explore the data model, test a query against a large dataset, or work somewhere you can't reach Azure. The new [Run FinOps hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide shows how to run a FinOps hub in a free container, so what you learn carries over to a deployed FinOps hub. The guide is written so you or your AI assistant can run each step, and the new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up everything with one command. +Not every question needs a deployed FinOps hub. Maybe you just want to prototype FinOps hubs before engaging engineering and deploying Azure resources. Maybe you want to explore the data model, test a query against a large dataset, or work somewhere you can't reach Azure. The new [Run FinOps hubs locally](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/run-hubs-locally) guide walks through running a FinOps hub in the Kusto emulator, a free container, so what you learn locally carries over to a deployed hub. + +You need Docker with at least 16 GB of memory available to the container, PowerShell 7, and FOCUS cost exports as Parquet files on disk. The guide is written so you or your AI assistant can run each step. The new [Initialize-FinOpsHubLocal](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/initialize-finopshublocal) command sets up the local hub in a running emulator with one command and loads all the tables and datasets, just like a normal FinOps hubs instance. + +A local hub is an additional option alongside a deployed hub, not a replacement for one, and the two have different trade-offs. You run and manage the container yourself instead of relying on a managed service like Azure Data Explorer or Microsoft Fabric, so a local hub has no scheduled ingestion and no service level agreement (SLA). That makes a local hub a great fit for exploring, validating, and supporting consulting work. A deployed hub in Azure gives you scheduled ingestion, an SLA, and data you can share across your organization. Your cost exports and databases are stored in folders on your machine, so they're still there when you restart the container. + +## Private networking for FinOps hubs + +Many organizations can't leave their cloud data reachable over the public internet. If yours is one of them, FinOps hubs 15 gives you more control with an opt-in NAT Gateway for private mode and explicit network modes. Pick the mode that fits your environment: -A local FinOps hub is a separate option next to a deployed FinOps hub, not a replacement. You run the container yourself, so there's no scheduled ingestion and no service level agreement (SLA). That makes a local FinOps hub a great fit for exploring, validating, and supporting consulting work. When you need scheduled ingestion, an SLA, and data you can share across your organization, deploy a FinOps hub in Azure. +- **Private** uses private endpoints and an opt-in NAT Gateway that gives the FinOps hub explicit outbound access. Choose this mode when an Azure Policy requires subnets to have default outbound access disabled. The NAT Gateway adds charges, so enable it when you need that outbound access. +- **VNet** uses private endpoints with default outbound access and no NAT Gateway. Choose this mode when your subscriptions allow default outbound access and you'd rather skip the NAT Gateway charges. +- **Public** is the default. -## NAT Gateway support for private FinOps hubs +In the deployment UI, set **Access** to **Private** on the **Advanced** tab, then select **Deploy NAT Gateway for controlled outbound access** to use private mode. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode` set to `private`, `vnet`, or `public`. -Many organizations keep their cloud data off the public internet. If yours is one of them, FinOps hubs 15 gives you more ways to fit private FinOps hubs to your environment. Private FinOps hubs now support a NAT Gateway for controlled outbound access, which suits subscriptions where Azure Policy turns off default outbound access. A new VNet mode covers subscriptions that allow default outbound access and don't need a NAT Gateway. +When you upgrade, pass the same network options to keep your network setup, either the same **Access** setting in the deployment UI or the same `-NetworkMode` in PowerShell. Private mode needs FinOps hubs 15 or later. If your scripts use `-DisablePublicAccess`, that parameter still works and maps to `vnet`, so move to `-NetworkMode` when you're ready. -To use a NAT Gateway, set **Access** to **Private** on the **Advanced** tab of the deployment UI, then select **Deploy NAT Gateway for controlled outbound access**. In PowerShell, run `Deploy-FinOpsHub` with `-NetworkMode` set to `private`, `vnet`, or `public`. When you upgrade, use the same network settings to keep your setup. See [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) for details. +We also made the ownership model clearer. The FinOps toolkit manages the hub virtual network, and customer-managed private endpoints are the preferred way to give people and tools private access to a hub. Virtual network peering still works as a secondary option. Both are covered in the [private networking](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/private-networking) documentation. ## FinOps hubs are faster, more reliable, and more accurate -FinOps hubs 15 brings a ton of quality improvements, from performance and reliability to data quality. Now's a great time to upgrade, if you're running on an older version. Here are some of the highlights: +FinOps hubs 15 brings in a ton of quality improvements, from performance and reliability to data quality. Now's a great time to upgrade, if you're running on an older version. Here are some of the highlights: -**Faster.** Large datasets ingest with less effort, and queries, including the query catalog, run faster. +**More efficient ingestion.** Lookups that enrich each row are quicker, and text comparisons use the engine's index instead of scanning every row, so large datasets ingest with less effort. Data Factory also uses less memory when it filters out empty files. -**More reliable.** Upgrading keeps your data retention settings unless you choose a new value. +**Faster queries.** Hub queries, including the query catalog, run faster on large datasets because they use the engine's term index instead of scanning every row. -**More accurate.** Savings and effective savings rate (ESR) now match across the dashboard Summary and Rate optimization pages, and the SQL VMs without Azure Hybrid Benefit recommendation includes every eligible VM. +**Smoother deployments and upgrades:** + +- **Upgrades preserve your data.** Redeploying or upgrading keeps your data retention settings unless you specify a new value. +- **Managed exports run out of the box.** FinOps hubs now assign Data Factory the Azure role it needs, so managed exports work right after deployment. +- **More regions.** FinOps hubs now deploy in more regions, including Sweden Central, and managed exports are supported in Japan. + +**More accurate data:** + +- **Consistent savings.** The Summary page in the Data Explorer dashboard now excludes commitment purchases the same way the Rate optimization page does, so savings and effective savings rate (ESR) match across both. Commitment discount savings also compare against the Production price when a reservation price has Dev/Test variants. +- **A focused change history for contracted cost.** FinOps hubs record the changes made to each row during ingestion in the `x_SourceValues` column. Contracted cost is now updated only when the value needs to change, so `x_SourceValues` shows only meaningful changes. An existing contracted cost is also kept when the unit price is missing. +- **More complete recommendations.** The SQL VMs without Azure Hybrid Benefit recommendation now matches each SQL VM by its resource ID, so it includes every eligible VM, including VMs with uppercase names or names shared with other VMs. Ready to upgrade? See [Create and update FinOps hubs](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/deploy). ## Better data for reservations and savings plans -Getting the most from reservations and savings plans starts with knowing which meters qualify for a commitment discount and which SKUs flex together. FinOps toolkit 15 improves both with a refreshed [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset, a new [instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) (ISF) dataset, and corrected eligibility columns in FinOps hubs price data. The latest datasets refresh weekly on GitHub, and each release includes a snapshot from the time of the release. +Getting the most from reservations and savings plans starts with knowing which meters qualify for a commitment discount and which SKUs flex together. FinOps toolkit 15 improves both with a refreshed commitment discount eligibility dataset, a new instance size flexibility dataset, and corrected eligibility columns in FinOps hubs price data. + +If you're using the [commitment discount eligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#commitment-discount-eligibility) dataset to find commitment discount candidates, the dataset refreshes weekly with the latest meters, and retired meters drop off. Each release includes a snapshot from the time of the release. If you're building commitment discount eligibility into queries, you can also use the `x_CommitmentDiscountSpendEligibility` and `x_CommitmentDiscountUsageEligibility` columns in the FinOps hubs Prices dataset. These columns tell you which SKUs your commitments apply to. A bug had swapped their values, and FinOps hubs 15 corrects them. `x_CommitmentDiscountSpendEligibility` indicates which SKUs savings plans are eligible for, and `x_CommitmentDiscountUsageEligibility` indicates which SKUs reservations are eligible for. If you have historical Prices data, [upgrade to FinOps hubs 15](https://learn.microsoft.com/cloud-computing/finops/toolkit/hubs/upgrade) and reingest that data to make sure all of it has the correct values. -The new ISF dataset maps each ARM SKU to its flexibility group and ratio, comes from the Azure Reservations Catalogs API, and covers every Azure region. If you're using Power BI reports or Azure Optimization Engine, you'll want to upgrade those as well to use the new ISF dataset. +Reservations rely on instance size flexibility (ISF) data to group SKUs and compare sizes. The new [Instance size flexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/open-data#instance-size-flexibility) dataset in open data maps each ARM SKU to its flexibility group and ratio, is sourced from the Azure Reservations Catalogs API, and covers every Azure region. Power BI reports and Azure Optimization Engine used to read ISF data from files hosted outside the toolkit, which Microsoft is retiring. The new dataset ships with the toolkit and refreshes weekly. If you're using Power BI reports or Azure Optimization Engine, you'll want to upgrade those as well to ensure you're leveraging the new ISF dataset. If you're building commitment discount automation via scripts, you may also be interested in the new [Get-FinOpsInstanceSizeFlexibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopsinstancesizeflexibility) and [Get-FinOpsCommitmentDiscountEligibility](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/data/get-finopscommitmentdiscounteligibility) commands in the FinOps toolkit PowerShell module. These give you programmatic access to the same data, in a more queryable manner that you can integrate cleanly into existing PowerShell or other scripts. @@ -64,7 +90,7 @@ While Microsoft Support doesn't provide full support for the FinOps toolkit, [Al When I started the FinOps toolkit, I always had a vision of building a native portal experience that makes it easy to understand and optimize costs. Today, FinOps hubs give you that core platform – open, scalable, and extensible – but you're often hit by limitations of reports and dashboards that are never as interactive as you might need them to be. [FinOpsHubs.com](https://finopshubs.com) is an initial step in that direction. And we're happy to offer it to the community **for free**. Your data stays under your control, and you get a richer way to navigate that data in a free, scalable analytics experience designed to evolve around your needs. No data to move. No special access. Just sign in and get answers. And, as the former product manager for Cost analysis in the Azure portal, you'll find it familiar with additions that help you do more than you've been able to in the past. And of course, this is just the start. We're eager to build this out and help you achieve more through AI backed by intelligent tooling that connects people and streamlines processes. We're looking forward to hearing your feedback and seeing where this goes! -Of course, these are just two of the resources mentioned on the ecosystem page. Know a tool or organization that belongs there? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). +Of course, these are just two of the resources mentioned on the ecosystem page. These organizations are independent of Microsoft. Know a tool or organization that belongs on the page? [Suggest a listing](https://github.com/microsoft/finops-toolkit/issues/new?template=propose-ecosystem-listing.yaml). ## Other new and noteworthy updates @@ -75,36 +101,46 @@ Of course, these are just two of the resources mentioned on the ecosystem page. **In [FinOps hubs](https://aka.ms/finops/hubs):** -- Improved managed exports, first-time ingestion, and deployments in more regions, including Sweden Central and Japan. -- Improved deployments with Data Explorer on private networks, including when you approve private endpoint connections. -- Improved contracted cost handling so each row's change history shows only meaningful changes. -- Updated the database guide with 27 more columns and the backfill instructions to cover every month in your retention window in one run. +- Updated the hub database guide to explain how columns are organized, added 27 missing columns, and corrected the `Costs()` column reference. +- Updated the backfill instructions to use `config_StartBackfillProcess`, which backfills every month in your retention window in one run. Microsoft Customer Agreement (MCA) billing accounts and profiles can backfill with Cost Management exports or `Start-FinOpsCostExport` instead. - Updated the dashboard links for Governance, policy, and risk and for FinOps tools and services to go directly to the Microsoft Learn pages. +- Improved deployments with Data Explorer on private networks, including when you approve private endpoint connections. +- Improved first-time ingestion for new scopes, datasets, and months, including reservation recommendation exports. +- FOCUS 1.0 cost data is now labeled as FOCUS 1.0 in `x_SourceVersion`, and FOCUS 1.0 rows get 1.0-specific fixes like the savings plan purchase charge frequency correction. **In [Power BI reports](https://aka.ms/ftk/pbi):** -- Improved the Governance and Workload optimization reports for larger environments. -- Added support for gzip-compressed CSV exports (`.csv.gz`) in storage reports, which came up in the [October 28 office hours](https://aka.ms/ftk/office-hours). -- Improved storage report refresh for FOCUS 1.2 exports and exports that use earlier FOCUS versions. +- Changed Azure Resource Graph queries to run per subscription batch to avoid payload size errors in the Governance and Workload optimization reports. - Changed the default **Number of Months** in storage reports from 1 to 3 to show more cost history. -- Improved Advisor recommendation tables and the Reservations tab in the Rate optimization report, which now shows data for Microsoft Customer Agreement accounts. +- Storage reports now read gzip-compressed CSV exports (`.csv.gz`). This came up in the [October 28 office hours](https://aka.ms/ftk/office-hours). +- Advisor recommendation tables return complete results. +- Storage reports refresh cleanly for FOCUS 1.2 exports and for exports that use earlier FOCUS versions. +- The Reservations tab in the Rate optimization report now shows data for MCA accounts. +- Report templates now open with empty storage and cluster settings, ready for your own data source. + +**In [FinOps workbooks](https://aka.ms/ftk/workbooks):** + +- The savings plan workbook now shows every recommendation. +- The Azure Hybrid Benefit workbook "VM Latest Change Last 7 days" tile now returns results, and SQL VM queries include VMs with uppercase names. -**In [FinOps workbooks](https://aka.ms/ftk/workbooks) and [FinOps alerts](https://aka.ms/ftk/alerts):** +**In [FinOps alerts](https://aka.ms/ftk/alerts):** -- Improved the savings plan workbook to show every recommendation and the Azure Hybrid Benefit workbook to include VMs with uppercase names. -- Improved the idle application gateway and idle public IP alerts to return complete results. +- Idle application gateway and idle public IP queries now return complete results. **In [Azure Optimization Engine](https://aka.ms/ftk/aoe):** - Added an [Azure Optimization Engine reference](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/reference) for runbooks, schedules, variables, and tables. -- Updated Log Analytics ingestion to use a Data Collection Rule and Ingestion API, the supported path after the Data Collection API deprecation in September 2026. To upgrade an existing deployment, rerun the deployment script with the same options. See [Upgrading AOE](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/setup-options#upgrading-aoe). -- Improved the reservation workbooks to keep reservations visible when their SKU is retired. +- Log Analytics ingestion now uses a Data Collection Rule and Ingestion API, the supported path after the Data Collection API deprecation in September 2026. To upgrade an existing deployment, rerun the deployment script with the same options, or add `-DoPartialUpgrade` if you customized components. See [Upgrading AOE](https://learn.microsoft.com/cloud-computing/finops/toolkit/optimization-engine/setup-options#upgrading-aoe). +- Reservations stay in the reservation workbooks when their SKU is no longer sold. +- Azure RBAC assignment exports now skip the Azure Classic administrators endpoint, which was deprecated May 1, 2026. +- The Reservations Usage workbook works with the current consumption table schema. **In the [PowerShell module](https://aka.ms/ftk/ps):** -- Improved [Deploy-FinOpsHub](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/deploy-finopshub) to accept version values like `13` and `v14` and to support concurrent deployments. -- Improved [Get-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/get-finopscostexport) `-RunHistory` and [Start-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/start-finopscostexport) to return complete run history and export the correct period in positive UTC offsets. -- Raised the minimum `Az.Accounts` version to 2.17.0. Run `Update-Module Az.Accounts` if you're on an older version. +- [Deploy-FinOpsHub](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/hubs/deploy-finopshub) now works with single-part and `v`-prefixed `-Version` values, like `13` and `v14`, and with concurrent deployments. +- [Get-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/get-finopscostexport) `-RunHistory` returns the complete run history. +- [Start-FinOpsCostExport](https://learn.microsoft.com/cloud-computing/finops/toolkit/powershell/cost/start-finopscostexport) exports the correct period in positive UTC offsets. +- The module now requires `Az.Accounts` 2.17.0 or later, so the `Get-AzAccessToken -AsSecureString` parameter is always available. Run `Update-Module Az.Accounts` if you're on an older version. For the complete list, see the [changelog](https://aka.ms/ftk/changes#v15). @@ -117,14 +153,16 @@ Here's a peek at what we're currently working on: - FOCUS 1.5 support across FinOps hubs, Power BI reports, agent plugins, and documentation. - A FinOps toolkit MCP server, which we're looking into. - Quota, capacity, and savings plan recommendations in FinOps hubs, along with dashboards for AI billing, tokenomics, and capacity. +- Security hardening for FinOps hubs, including opt-in Key Vault role-based access control and the option to disable storage Shared Key access. +- AI-assisted triage and repository automation with GitHub Agentic Workflows. We already started the FinOps toolkit 16 release cycle with a new FinOps Explorer and Azure SRE Agent tools. We're also targeting FOCUS 1.5 for FinOps toolkit 17. Expect to hear more by the end of the year. -The [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap) is driven by what you tell us you need. [Create an issue](https://aka.ms/ftk/ideas) or [start a discussion](https://aka.ms/ftk/discuss) and let us know what you'd like to see next, including what you want from a FinOps toolkit MCP server. +The roadmap is driven by what you tell us you need. [Create an issue](https://aka.ms/ftk/ideas) or [start a discussion](https://aka.ms/ftk/discuss) and let us know what you'd like to see next, including what you want from a FinOps toolkit MCP server. ## Preview snippet -> FinOps toolkit 15 brings AI agents that do the work to the tools you already use with a new agent plugin, adds a guide to run FinOps hubs locally, adds NAT Gateway support for private FinOps hubs, and delivers new reservation and commitment discount data. +> FinOps toolkit 15 brings FinOps expertise and your cost data to the AI tools you already use with a new agent plugin that gives you a team of AI agents to direct, adds a guide to run FinOps hubs locally, adds an opt-in NAT Gateway for private FinOps hubs, and delivers new reservation and commitment discount data. ## Social media @@ -132,7 +170,7 @@ The [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap > FinOps toolkit 15 is out! #FinOpsToolkit > -> A new agent plugin brings AI agents that know FinOps and your cost data to the tools you already use, like the staff your manager never gave you. You can also run #FinOpsHubs on your own machine, add NAT Gateway support to private FinOps hubs, and get new reservation and commitment discount data. +> Direct a team of AI agents that understand FinOps and your cost data, the staff your manager never gave you, with a new agent plugin. Run a #FinOpsHubs instance on your own machine, and add an opt-in NAT Gateway to private FinOps hubs. You also get new reservation and commitment discount data, plus improvements across Power BI reports, workbooks, alerts, Azure Optimization Engine, and PowerShell. > > Check it out and let us know what you'd like to see next! > @@ -142,9 +180,9 @@ The [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap > FinOps toolkit 15 is out! #FinOpsToolkit > -> - Agent plugin for your AI assistant +> - AI agents you direct, in a new agent plugin > - Run #FinOpsHubs locally -> - NAT Gateway support for private FinOps hubs +> - Opt-in NAT Gateway for private FinOps hubs > - New reservation and commitment discount data > - Fixes across the toolkit > @@ -154,4 +192,4 @@ The [roadmap](https://learn.microsoft.com/cloud-computing/finops/toolkit/roadmap **Internal:** -> FinOps toolkit 15 is live with an agent plugin that puts AI agents to work on your FinOps tasks, FinOps hubs you can run locally, NAT Gateway support for private FinOps hubs, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}} +> FinOps toolkit 15 is live with an agent plugin that gives you AI agents to direct, FinOps hubs you can run locally, an opt-in NAT Gateway for private FinOps hubs, new reservation and commitment discount data, and improvements across the toolkit. {{POST_URL}}