From 9f3a273d5656e588d58061b806837f9eac0d516d Mon Sep 17 00:00:00 2001 From: msbrett Date: Wed, 3 Jun 2026 07:48:24 -0700 Subject: [PATCH 01/12] docs: update FinOps guidance and report labels --- docs-mslearn/conduct-iteration.md | 8 +- docs-mslearn/framework/capabilities.md | 10 +- docs-mslearn/framework/finops-framework.md | 8 +- docs-mslearn/framework/manage/governance.md | 22 +- .../framework/manage/manage-finops.md | 14 +- docs-mslearn/framework/manage/onboarding.md | 6 +- .../framework/optimize/architecting.md | 4 +- docs-mslearn/framework/optimize/licensing.md | 4 +- .../optimize/optimize-cloud-usage-cost.md | 8 +- docs-mslearn/framework/optimize/rates.md | 4 +- .../framework/optimize/sustainability.md | 4 +- docs-mslearn/framework/optimize/workloads.md | 18 +- .../framework/quantify/benchmarking.md | 6 +- docs-mslearn/framework/quantify/planning.md | 4 +- .../framework/understand/allocation.md | 4 +- docs-mslearn/index.yml | 4 +- .../toolkit/alerts/configure-finops-alerts.md | 4 +- .../toolkit/alerts/finops-alerts-overview.md | 4 +- docs-mslearn/toolkit/help/data-dictionary.md | 6 +- docs-mslearn/toolkit/help/errors.md | 4 +- docs-mslearn/toolkit/hubs/deploy.md | 4 +- .../toolkit/hubs/finops-hubs-overview.md | 4 +- .../finops-hubs-overview/architecture.png | Bin 99988 -> 444828 bytes .../toolkit/optimization-engine/overview.md | 4 +- .../toolkit/optimization-engine/reports.md | 4 +- .../optimization-engine/setup-options.md | 4 +- .../suppress-recommendations.md | 4 +- .../optimization-engine/troubleshooting.md | 4 +- docs-mslearn/toolkit/power-bi/reports.md | 8 +- .../toolkit/power-bi/workload-optimization.md | 16 +- .../workbooks/finops-workbooks-overview.md | 6 +- docs-mslearn/toolkit/workbooks/governance.md | 6 +- .../toolkit/workbooks/optimization.md | 6 +- docs/brand.md | 250 ++++++++++++++++++ docs/guide.md | 2 +- docs/power-bi.md | 2 +- .../kql/CostSummary.Report/report.json | 2 +- .../kql/DataIngestion.Report/report.json | 2 +- .../kql/Governance.Report/report.json | 4 +- src/power-bi/kql/Invoicing.Report/report.json | 2 +- .../kql/RateOptimization.Report/report.json | 2 +- .../WorkloadOptimization.Report/report.json | 4 +- .../storage/CostSummary.Report/report.json | 2 +- .../storage/DataIngestion.Report/report.json | 2 +- .../storage/Governance.Report/report.json | 4 +- .../storage/Invoicing.Report/report.json | 2 +- .../RateOptimization.Report/report.json | 2 +- .../WorkloadOptimization.Report/report.json | 4 +- src/scripts/Build-PowerBI.ps1 | 6 +- src/templates/finops-hub/dashboard.json | 12 +- .../optimization/CostOptimization.workbook | 2 +- 51 files changed, 386 insertions(+), 136 deletions(-) create mode 100644 docs/brand.md diff --git a/docs-mslearn/conduct-iteration.md b/docs-mslearn/conduct-iteration.md index 4ce7c5c3a..9d242e10d 100644 --- a/docs-mslearn/conduct-iteration.md +++ b/docs-mslearn/conduct-iteration.md @@ -3,7 +3,7 @@ title: Tutorial - Conduct an iteration description: This tutorial helps you learn how to take an iterative approach to FinOps adoption. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-learning-resources @@ -46,7 +46,7 @@ Use the following information as a guide to select the right FinOps capabilities 1. Reporting and analytics 2. Forecasting 3. Budgeting - 4. Workload optimization + 4. Usage optimization 5. Anomaly management 2. If you're building a new FinOps team or interested in driving awareness and adoption of FinOps, start with: 1. FinOps practice operations @@ -69,11 +69,11 @@ Use the following information as a guide to select the right FinOps capabilities 4. Reporting and analytics 6. If your team has a solid understanding of the basics and wants to focus on deeper optimization through advanced automation, consider: 1. Architecting for the cloud - 2. Workload optimization + 2. Usage optimization 3. Rate optimization 4. Licensing and SaaS 5. Cloud sustainability - 6. Policy and governance + 6. Governance, Policy & Risk 7. If your team has a solid understanding of the basics and needs to map cloud investments back to business value, consider: 1. Unit economics 2. Allocation diff --git a/docs-mslearn/framework/capabilities.md b/docs-mslearn/framework/capabilities.md index 6eaf71d2a..baca3d125 100644 --- a/docs-mslearn/framework/capabilities.md +++ b/docs-mslearn/framework/capabilities.md @@ -3,7 +3,7 @@ title: FinOps capabilities description: Learn about what the fundamental building blocks of the FinOps Framework that enable you to maximize business value through the cloud. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources @@ -16,9 +16,9 @@ The FinOps Framework includes capabilities that cover everything you need to per
-## Understand usage and cost +## Understand Usage & Cost -The **Understand usage and cost** domain is focused on data acquisition, reporting, analysis, and alerting on top of your cost, usage, and carbon consumption. This domain is all about observability and business intelligence. It brings the data that stakeholders need together (ingestion) into a meaningful breakdown for the organization (allocation). Then it can be reported on (reporting) and monitored to proactively identify and react to issues (anomalies). +The **Understand Usage & Cost** domain is focused on data acquisition, reporting, analysis, and alerting on top of your cost, usage, and carbon consumption. This domain is all about observability and business intelligence. It brings the data that stakeholders need together (ingestion) into a meaningful breakdown for the organization (allocation). Then it can be reported on (reporting) and monitored to proactively identify and react to issues (anomalies). - [Data ingestion](./understand/ingestion.md) - [Allocation](./understand/allocation.md) @@ -44,7 +44,7 @@ The **Quantify business value** domain is focused on identifying and breaking do The **Optimize usage and cost** domain is focused on designing and optimizing solutions for efficiency to ensure you get the most out of your cloud investments. - [Architecting for the cloud](./optimize/architecting.md) -- [Workload optimization](./optimize/workloads.md) +- [Usage optimization](./optimize/workloads.md) - [Rate optimization](./optimize/rates.md) - [Licensing and SaaS](./optimize/licensing.md) - [Cloud sustainability](./optimize/sustainability.md) @@ -58,7 +58,7 @@ The **Manage the FinOps practice** domain is focused on establishing a clear and - [FinOps education and enablement](./manage/education.md) - [FinOps practice operations](./manage/operations.md) - [Onboarding workloads](./manage/onboarding.md) -- [Policy and governance](./manage/governance.md) +- [Governance, Policy & Risk](./manage/governance.md) - [Invoicing and chargeback](./manage/invoicing-chargeback.md) - [FinOps assessment](./manage/assessment.md) - [FinOps tools and services](./manage/tools-services.md) diff --git a/docs-mslearn/framework/finops-framework.md b/docs-mslearn/framework/finops-framework.md index 92d2623d9..f9a1577b3 100644 --- a/docs-mslearn/framework/finops-framework.md +++ b/docs-mslearn/framework/finops-framework.md @@ -3,7 +3,7 @@ title: FinOps Framework overview description: 'Learn about what the FinOps Framework is and how you can use it to accelerate your cost management and optimization goals.' author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -115,7 +115,7 @@ The FinOps Framework defines a simple lifecycle with three phases: The FinOps Framework includes capabilities that cover everything you need to perform FinOps tasks and manage a FinOps practice. Capabilities are organized into a set of related domains based on the goals of the capabilities. Each capability defines a functional area of activity and a set of tasks to support your FinOps practice. -- Understand usage and cost +- Understand Usage & Cost - [Data ingestion](./understand/ingestion.md) - [Allocation](./understand/allocation.md) @@ -133,7 +133,7 @@ The FinOps Framework includes capabilities that cover everything you need to per - Optimize usage and cost - [Architecting for the cloud](./optimize/architecting.md) - - [Workload optimization](./optimize/workloads.md) + - [Usage optimization](./optimize/workloads.md) - [Rate optimization](./optimize/rates.md) - [Licensing and SaaS](./optimize/licensing.md) - [Cloud sustainability](./optimize/sustainability.md) @@ -143,7 +143,7 @@ The FinOps Framework includes capabilities that cover everything you need to per - [FinOps education and enablement](./manage/education.md) - [FinOps practice operations](./manage/operations.md) - [Onboarding workloads](./manage/onboarding.md) - - [Policy and governance](./manage/governance.md) + - [Governance, Policy & Risk](./manage/governance.md) - [Invoicing and chargeback](./manage/invoicing-chargeback.md) - [FinOps assessment](./manage/assessment.md) - [FinOps tools and services](./manage/tools-services.md) diff --git a/docs-mslearn/framework/manage/governance.md b/docs-mslearn/framework/manage/governance.md index 29b188f89..e1b32b1a5 100644 --- a/docs-mslearn/framework/manage/governance.md +++ b/docs-mslearn/framework/manage/governance.md @@ -1,31 +1,31 @@ --- -title: Policy and governance -description: This article helps you understand the policy and governance capability within the FinOps Framework and how to implement that in the Microsoft Cloud. +title: Governance, Policy & Risk +description: This article helps you understand the governance, policy, and risk capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources ms.reviewer: kedelaro -# customer intent: As a FinOps practitioner, I want to understand the policy and governance capability so that I can implement it in the Microsoft Cloud. +# customer intent: As a FinOps practitioner, I want to understand the governance, policy, and risk capability so that I can implement it in the Microsoft Cloud. --- -# Policy and governance +# Governance, Policy & Risk -This article helps you understand the policy and governance capability within the FinOps Framework and how to implement that in the Microsoft Cloud. +This article helps you understand the governance, policy, and risk capability within the FinOps Framework and how to implement that in the Microsoft Cloud.
## Definition -**Policy and governance refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts.** +**Governance, Policy & Risk refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts.** Define your governance goals and success metrics. Review and document how existing policies are updated to account for FinOps efforts. Review with all stakeholders to get buy-in and endorsement. Establish a rollout plan that starts with audit rules and slowly (and safely) expands coverage to drive compliance without negatively impacting engineering efforts. -Implementing a policy and governance strategy enables organizations to sustainably implement FinOps at scale. Policy and governance can act as a multiplier to FinOps efforts by building them natively into day-to-day operations. +Implementing a governance, policy, and risk strategy enables organizations to sustainably implement FinOps at scale. Governance, Policy & Risk can act as a multiplier to FinOps efforts by building them natively into day-to-day operations.
@@ -59,14 +59,14 @@ At this point, you have a basic set of policies in place that are being managed - Map governance efforts to FinOps efficiencies that can be mapped back to more business value with less effort. - Expand coverage of more scenarios. - Consider evaluating ways to quantify the impact of each rule in cost and/or business value. -- Integrate policy and governance into every conversation to establish a plan for how you want to automate the tracking and application of new policies. +- Integrate governance, policy, and risk into every conversation to establish a plan for how you want to automate the tracking and application of new policies. - Consider advanced governance scenarios outside of Azure Policy. Build monitoring solutions using systems like [Power Automate](/power-automate/getting-started) or [Logic Apps](/azure/logic-apps/logic-apps-overview).
## Learn more at the FinOps Foundation -This capability is a part of the FinOps Framework by the FinOps Foundation, a non-profit organization dedicated to advancing cloud cost management and optimization. For more information about FinOps, including useful playbooks, training and certification programs, and more, see the [Policy and governance capability](https://www.finops.org/framework/capabilities/policy-governance/) article in the FinOps Framework documentation. +This capability is a part of the FinOps Framework by the FinOps Foundation, a non-profit organization dedicated to advancing cloud cost management and optimization. For more information about FinOps, including useful playbooks, training and certification programs, and more, see the [Governance, Policy & Risk capability](https://www.finops.org/framework/capabilities/governance-policy-risk/) article in the FinOps Framework documentation. You can also find related videos on the FinOps Foundation YouTube channel: @@ -97,7 +97,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [FinOps practice operations](./operations.md) -- [Workload optimization](../optimize/workloads.md) +- [Usage optimization](../optimize/workloads.md) Related products: diff --git a/docs-mslearn/framework/manage/manage-finops.md b/docs-mslearn/framework/manage/manage-finops.md index 8e7362021..5dac93338 100644 --- a/docs-mslearn/framework/manage/manage-finops.md +++ b/docs-mslearn/framework/manage/manage-finops.md @@ -3,7 +3,7 @@ title: Manage the FinOps practice description: Learn about the FinOps capabilities that help you establish your FinOps practice and drive organizational accountability. author: flanakin ms.author: micflan -ms.date: 05/19/2026 +ms.date: 05/25/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources @@ -36,7 +36,7 @@ FinOps practice operations refer to the process of: - Building and managing a robust FinOps team - Defining clear cross-functional responsibilities -- Integrating FinOps practices into organizational processes to manage cloud cost and usage effectively. +- Integrating FinOps practices into organizational processes to manage cloud cost and usage effectively. With this capability, you establish and manage your FinOps practice, focusing on supporting the needs of stakeholders across the organization. This capability is pivotal to driving organizational adoption. @@ -56,15 +56,15 @@ To learn more, see [Onboarding workloads](./onboarding.md).
-## Policy and governance +## Governance, Policy & Risk -Policy and governance refer to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of: +Governance, Policy & Risk refer to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of: - Specific SKUs - Resource configurations - Other practices that might affect cost, usage, and carbon growth -To learn more, see [Policy and governance](./governance.md). +To learn more, see [Governance, Policy & Risk](./governance.md).
@@ -106,7 +106,7 @@ Let us know how we're doing with a quick review. We use these reviews to improve > [!div class="nextstepaction"] -> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20FinOps%20toolkit%20tools%20and%20resources%3F/cvaQuestion/How%20valuable%20is%20the%20FinOps%20toolkit%3F/surveyId/FTK15.0/bladeName/Guide.Framework/featureName/Capabilities.Manage) +> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20FinOps%20toolkit%20tools%20and%20resources%3F/cvaQuestion/How%20valuable%20is%20the%20FinOps%20toolkit%3F/surveyId/FTK14.0/bladeName/Guide.Framework/featureName/Capabilities.Manage) If you're looking for something specific, vote for an existing or create a new idea. Share ideas with others to get more votes. We focus on ideas with the most votes. @@ -122,7 +122,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: -- [Understand usage and cost](../understand/understand-cloud-usage-cost.md) +- [Understand Usage & Cost](../understand/understand-cloud-usage-cost.md) - [Quantify business value](../quantify/quantify-business-value.md) - [Optimize usage and cost](../optimize/optimize-cloud-usage-cost.md) diff --git a/docs-mslearn/framework/manage/onboarding.md b/docs-mslearn/framework/manage/onboarding.md index b02f471cf..6a5f78db2 100644 --- a/docs-mslearn/framework/manage/onboarding.md +++ b/docs-mslearn/framework/manage/onboarding.md @@ -3,7 +3,7 @@ title: Onboarding workloads description: This article helps you understand the onboarding workloads capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/19/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -87,7 +87,7 @@ Let us know how we're doing with a quick review. We use these reviews to improve > [!div class="nextstepaction"] -> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20FinOps%20toolkit%20tools%20and%20resources%3F/cvaQuestion/How%20valuable%20is%20the%20FinOps%20toolkit%3F/surveyId/FTK15.0/bladeName/Guide.Framework/featureName/Capabilities.Manage.Onboarding) +> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20FinOps%20toolkit%20tools%20and%20resources%3F/cvaQuestion/How%20valuable%20is%20the%20FinOps%20toolkit%3F/surveyId/FTK14.0/bladeName/Guide.Framework/featureName/Capabilities.Manage.Onboarding) If you're looking for something specific, vote for an existing or create a new idea. Share ideas with others to get more votes. We focus on ideas with the most votes. @@ -104,6 +104,6 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Forecasting](../quantify/forecasting.md) -- [Policy and governance](./governance.md) +- [Governance, Policy & Risk](./governance.md)
diff --git a/docs-mslearn/framework/optimize/architecting.md b/docs-mslearn/framework/optimize/architecting.md index adecc0313..2a306c262 100644 --- a/docs-mslearn/framework/optimize/architecting.md +++ b/docs-mslearn/framework/optimize/architecting.md @@ -3,7 +3,7 @@ title: Architecting for cloud description: This article helps you understand the architecting for cloud capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -96,7 +96,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: -- [Workload optimization](./workloads.md) +- [Usage optimization](./workloads.md) - [Rate optimization](./rates.md) Other resources: diff --git a/docs-mslearn/framework/optimize/licensing.md b/docs-mslearn/framework/optimize/licensing.md index b6c72bfce..bd4f490f3 100644 --- a/docs-mslearn/framework/optimize/licensing.md +++ b/docs-mslearn/framework/optimize/licensing.md @@ -3,7 +3,7 @@ title: Licensing and SaaS description: This article helps you understand the licensing and SaaS capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -82,7 +82,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Reporting and analytics](../understand/reporting.md) -- [Policy and governance](../manage/governance.md) +- [Governance, Policy & Risk](../manage/governance.md) Related solutions: diff --git a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md index b2064dc11..2df862298 100644 --- a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md +++ b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md @@ -3,7 +3,7 @@ title: Optimize usage and cost description: Learn about the FinOps capabilities that help you identify and implement the right mix of pricing models, services, and resources needed to meet business demands. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources @@ -28,11 +28,11 @@ To learn more, see [Architecting for the cloud](./architecting.md).
-## Workload optimization +## Usage optimization Onboarding workloads refers to the process of bringing new and existing applications into the cloud based on their financial and technical feasibility. With this capability, you analyze cost, usage, and carbon emissions for cloud workloads to identify opportunities to maximize efficiency. This capability usually starts with recommendations and expands into more nuanced optimization efforts based on detailed resource utilization analysis. This capability can be time and effort intensive as each cloud service has its different optimization opportunities. -To learn more, see [Workload optimization](./workloads.md). +To learn more, see [Usage optimization](./workloads.md).
@@ -82,7 +82,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: -- [Understand usage and cost](../understand/understand-cloud-usage-cost.md) +- [Understand Usage & Cost](../understand/understand-cloud-usage-cost.md) - [Quantify business value](../quantify/quantify-business-value.md) - [Manage the FinOps practice](../manage/manage-finops.md) diff --git a/docs-mslearn/framework/optimize/rates.md b/docs-mslearn/framework/optimize/rates.md index 4088ad56a..7f74d3f28 100644 --- a/docs-mslearn/framework/optimize/rates.md +++ b/docs-mslearn/framework/optimize/rates.md @@ -3,7 +3,7 @@ title: Rate optimization description: This article helps you understand the rate optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -106,7 +106,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Data analysis and showback](../understand/reporting.md) -- [Policy and governance](../manage/governance.md) +- [Governance, Policy & Risk](../manage/governance.md) Related products: diff --git a/docs-mslearn/framework/optimize/sustainability.md b/docs-mslearn/framework/optimize/sustainability.md index b18df265b..9af5d2b8b 100644 --- a/docs-mslearn/framework/optimize/sustainability.md +++ b/docs-mslearn/framework/optimize/sustainability.md @@ -3,7 +3,7 @@ title: Cloud sustainability description: This article helps you understand the cloud sustainability capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -75,7 +75,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: -- [Workload optimization](./workloads.md) +- [Usage optimization](./workloads.md) - [Rate optimization](./rates.md) - [Unit economics](../quantify/unit-economics.md) diff --git a/docs-mslearn/framework/optimize/workloads.md b/docs-mslearn/framework/optimize/workloads.md index 4d585fd5a..369601149 100644 --- a/docs-mslearn/framework/optimize/workloads.md +++ b/docs-mslearn/framework/optimize/workloads.md @@ -1,25 +1,25 @@ --- -title: Workload optimization -description: This article helps you understand the Workload optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. +title: Usage optimization +description: This article helps you understand the Usage optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources ms.reviewer: kedelaro -# customer intent: As a FinOps practitioner, I want to understand the workload optimization capability so that I can implement it in the Microsoft Cloud. +# customer intent: As a FinOps practitioner, I want to understand the usage optimization capability so that I can implement it in the Microsoft Cloud. --- -# Workload optimization +# Usage optimization -This article helps you understand the Workload optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. +This article helps you understand the Usage optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud.
## Definition -**Workload optimization refers to the process of ensuring cloud services are utilized and tuned to maximize business value and minimize wasteful usage and spending.** +**Usage optimization refers to the process of ensuring cloud services are utilized and tuned to maximize business value and minimize wasteful usage and spending.** Review how services get used and ensure each is maximizing return on investment. Evaluate and implement best practices and recommendations. @@ -90,7 +90,7 @@ At this point, you implemented all the basic cost optimization recommendations a ## Learn more at the FinOps Foundation -This capability is a part of the FinOps Framework by the FinOps Foundation, a non-profit organization dedicated to advancing cloud cost management and optimization. For more information about FinOps, including useful playbooks, training and certification programs, and more, see the [Workload optimization capability](https://www.finops.org/framework/capabilities/workload-optimization/) article in the FinOps Framework documentation. +This capability is a part of the FinOps Framework by the FinOps Foundation, a non-profit organization dedicated to advancing cloud cost management and optimization. For more information about FinOps, including useful playbooks, training and certification programs, and more, see the [Usage optimization capability](https://www.finops.org/framework/capabilities/usage-optimization/) article in the FinOps Framework documentation. You can also find related videos on the FinOps Foundation YouTube channel: @@ -121,7 +121,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Rate optimization](./rates.md) -- [Policy and governance](../manage/governance.md) +- [Governance, Policy & Risk](../manage/governance.md) Related products: diff --git a/docs-mslearn/framework/quantify/benchmarking.md b/docs-mslearn/framework/quantify/benchmarking.md index 5f18652ac..564a75f5a 100644 --- a/docs-mslearn/framework/quantify/benchmarking.md +++ b/docs-mslearn/framework/quantify/benchmarking.md @@ -3,7 +3,7 @@ title: FinOps benchmarking description: This article helps you understand the benchmarking capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/12/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -33,7 +33,7 @@ When you first start managing cost in the cloud, use the existing guidance and r - Review the [Azure Advisor score](/azure/advisor/azure-advisor-score) at the primary scope you manage, whether that's a subscription, resource group, or based on tags. - The Advisor score consists of an overall score, which can be further broken down into five category scores. One score for each category of Advisor represents the five pillars of the Well-Architected Framework. - - Use the [Workload optimization](../optimize/workloads.md) capability to prioritize and implement recommendations with the highest priority. + - Use the [Usage optimization](../optimize/workloads.md) capability to prioritize and implement recommendations with the highest priority. - Use the [Rate optimization](../optimize/rates.md) capability to maximize savings with commitment discounts, like reservations and savings plans. - Complete the [Azure Well-Architected Review self-assessment](/azure/well-architected/cross-cutting-guides/implementing-recommendations) to identify areas your existing workloads can be improved based on the Azure Well-Architected Framework. - Link your subscription to include Azure Advisor recommendations in the assessment. @@ -87,7 +87,7 @@ Related FinOps capabilities: - [Forecasting](./forecasting.md) - [Budgeting](./budgeting.md) - [Unit economics](./unit-economics.md) -- [Workload optimization](../optimize/workloads.md) +- [Usage optimization](../optimize/workloads.md) - [Rate optimization](../optimize/rates.md) Related products: diff --git a/docs-mslearn/framework/quantify/planning.md b/docs-mslearn/framework/quantify/planning.md index abcc50b78..6182803b7 100644 --- a/docs-mslearn/framework/quantify/planning.md +++ b/docs-mslearn/framework/quantify/planning.md @@ -3,7 +3,7 @@ title: Planning and estimating description: This article helps you understand the planning and estimating capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -104,7 +104,7 @@ Related FinOps capabilities: - [Forecasting](./forecasting.md) - [Architecting for cloud](../optimize/architecting.md) -- [Workload optimization](../optimize/workloads.md) +- [Usage optimization](../optimize/workloads.md) - [Rate optimization](../optimize/rates.md) Related products: diff --git a/docs-mslearn/framework/understand/allocation.md b/docs-mslearn/framework/understand/allocation.md index d721bc4de..d60deb110 100644 --- a/docs-mslearn/framework/understand/allocation.md +++ b/docs-mslearn/framework/understand/allocation.md @@ -3,7 +3,7 @@ title: Allocation description: This article helps you understand the Allocation capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -65,7 +65,7 @@ Allocation is usually an afterthought and requires some level of cleanup when in - Contact stakeholders who are responsible for the potentially shared services. Make sure they understand if the shared services are shared and how costs are allocated today. If not accounted for, how allocation could or should be done. - How do you want to use management groups? - Organize subscriptions into environment-based management groups to optimize for policy assignment. Management groups allow policy admins to manage policies at the top level but blocks the ability to perform cross-subscription reporting without an external solution, which increases your data analysis and showback efforts. - - To optimize for organizational reporting, organize subscriptions into management groups based on the organizational hierarchy. Management groups allow leaders within the organization to view costs more naturally from the portal but requires policy admins to use tag-based policies, which increases policy and governance efforts. Also keep in mind you might have multiple organizational hierarchies and management groups only support one. + - To optimize for organizational reporting, organize subscriptions into management groups based on the organizational hierarchy. Management groups allow leaders within the organization to view costs more naturally from the portal but requires policy admins to use tag-based policies, which increases governance, policy, and risk efforts. Also keep in mind you might have multiple organizational hierarchies and management groups only support one. - [Define a comprehensive tagging strategy](/azure/cloud-adoption-framework/ready/azure-best-practices/resource-tagging) that aligns with your organization's allocation objectives. - Consider the specific attributes that are relevant for cost attribution, such as: - How to map costs back to financial constructs, for example, cost center? diff --git a/docs-mslearn/index.yml b/docs-mslearn/index.yml index 9918de98b..21c1898b3 100644 --- a/docs-mslearn/index.yml +++ b/docs-mslearn/index.yml @@ -97,7 +97,7 @@ conceptualContent: text: Architecting for cloud - url: framework/optimize/workloads.md itemType: concept - text: Workload optimization + text: Usage optimization - url: framework/optimize/licensing.md itemType: concept text: Licensing and SaaS @@ -121,7 +121,7 @@ conceptualContent: text: FinOps education and enablement - url: framework/manage/governance.md itemType: concept - text: Policy and governance + text: Governance, Policy & Risk - url: framework/manage/invoicing-chargeback.md itemType: concept text: Invoicing + chargeback diff --git a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md index 01f0cda5b..d234713e2 100644 --- a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md +++ b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md @@ -3,7 +3,7 @@ title: Configure FinOps alerts description: Learn how to configure and customize FinOps alerts to perform notifications and actions based on your organizational needs. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit @@ -86,7 +86,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Reporting and analytics](../../framework/understand/reporting.md) -- [Workload optimization](../../framework/optimize/workloads.md) +- [Usage optimization](../../framework/optimize/workloads.md) Related products: diff --git a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md index ebf5d7128..de1532223 100644 --- a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md +++ b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md @@ -3,7 +3,7 @@ title: FinOps alerts overview description: FinOps alerts accelerate cost optimization efforts with scheduled notifications that continuously monitor your cloud environment. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit @@ -60,7 +60,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Reporting and analytics](../../framework/understand/reporting.md) -- [Workload optimization](../../framework/optimize/workloads.md) +- [Usage optimization](../../framework/optimize/workloads.md) Related products: diff --git a/docs-mslearn/toolkit/help/data-dictionary.md b/docs-mslearn/toolkit/help/data-dictionary.md index 5c0fe49b5..79f057d8c 100644 --- a/docs-mslearn/toolkit/help/data-dictionary.md +++ b/docs-mslearn/toolkit/help/data-dictionary.md @@ -3,7 +3,7 @@ title: FinOps toolkit data dictionary description: This article describes the column names found in FinOps toolkit solutions, including columns from Cost Management and FOCUS. author: flanakin ms.author: micflan -ms.date: 04/29/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit @@ -280,8 +280,8 @@ Related FinOps capabilities: - [Reporting and analytics](../../framework/understand/reporting.md) - [Rate optimization](../../framework/optimize/rates.md) -- [Workload optimization](../../framework/optimize/workloads.md) -- [Cloud policy and governance](../../framework/manage/governance.md) +- [Usage optimization](../../framework/optimize/workloads.md) +- [Governance, Policy & Risk](../../framework/manage/governance.md) Related products: diff --git a/docs-mslearn/toolkit/help/errors.md b/docs-mslearn/toolkit/help/errors.md index 941c2f1f9..34172e2ef 100644 --- a/docs-mslearn/toolkit/help/errors.md +++ b/docs-mslearn/toolkit/help/errors.md @@ -3,7 +3,7 @@ title: Troubleshoot common FinOps toolkit errors description: This article describes common FinOps toolkit errors and provides solutions to help you resolve issues you might encounter. author: flanakin ms.author: micflan -ms.date: 04/04/2026 +ms.date: 05/25/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit @@ -762,7 +762,7 @@ Indicates that the account loading data in Power BI doesn't have the [Storage Bl Severity: Major -Azure Resource Graph queries in the Governance and Workload optimization Power BI reports may return an error similar to: +Azure Resource Graph queries in the Governance and Usage optimization Power BI reports may return an error similar to: > _OLE DB or ODBC error: [Expression.Error] Please provide below info when asking for support: timestamp = {timestamp}, correlationId = {guid}. Details: Response payload size is {number}, and has exceeded the limit of 16777216. Please consider querying less data at a time and make paginated call if needed._ diff --git a/docs-mslearn/toolkit/hubs/deploy.md b/docs-mslearn/toolkit/hubs/deploy.md index eaae43be3..3455b8b69 100644 --- a/docs-mslearn/toolkit/hubs/deploy.md +++ b/docs-mslearn/toolkit/hubs/deploy.md @@ -3,7 +3,7 @@ title: How to create and update FinOps hubs description: This tutorial helps you create a new or update an existing FinOps hubs instance in Azure or Microsoft Fabric. author: flanakin ms.author: micflan -ms.date: 05/12/2026 +ms.date: 05/25/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-toolkit @@ -604,7 +604,7 @@ Related FinOps capabilities: - [Data ingestion](../../framework/understand/ingestion.md) - [Reporting and analytics](../../framework/understand/reporting.md) - [Rate optimization](../../framework/optimize/rates.md) -- [Workload optimization](../../framework/optimize/workloads.md) +- [Usage optimization](../../framework/optimize/workloads.md) Related products: diff --git a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md index 5292e0c9d..dfb9d4b01 100644 --- a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md +++ b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md @@ -3,7 +3,7 @@ title: FinOps hubs overview description: FinOps hubs provide a reliable platform for cost analytics, insights, and optimization, supporting large accounts and organizations. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit @@ -224,7 +224,7 @@ Related FinOps capabilities: - [Data ingestion](../../framework/understand/ingestion.md) - [Reporting and analytics](../../framework/understand/reporting.md) - [Rate optimization](../../framework/optimize/rates.md) -- [Workload optimization](../../framework/optimize/workloads.md) +- [Usage optimization](../../framework/optimize/workloads.md) Related products: diff --git a/docs-mslearn/toolkit/hubs/media/finops-hubs-overview/architecture.png b/docs-mslearn/toolkit/hubs/media/finops-hubs-overview/architecture.png index 58233e27a82520720a39098b5d5ac8c0ed064712..397769f56c6355516a64b8ab30b11ac710497f1b 100644 GIT binary patch literal 444828 zcmeEvc|4SR`~S=sI~i0+GWH_eMs~7qrBp~|U&g*=36Zh1kfI$av=>FCg;GP2(x6?t znrakDlVoYk{k!g=j&q*p`JM0c$M^f!dCv1P+kJmN*XR0N*ZX~4@6UZ+CvVwOM{$u^ zA~+mQ+}X))1r8?wZ;3b|0=%4*=AVJXEkc3hucq)Z&H z5@%exmXG%ZTqQDjmE*)!(SN=wDL%#&yVBGo#1PRB3JlaXHV81%USJp!s2vz+V4zJg z4m4R{5^O>VFbcvfQJEZW-o$VL3I8&wPC!BeH9j#sHYNdXAjnSMV9mQBFgAYb4bs@$ zIsrkvt98~<;0By*5G5fj+2;BO>w03_F`v`^Hu1w|I2^t+2yQ+cI(c#Sv5<*(QM@67 z;;8|N)ZpOcFltPS90j2mY9j{Ph@Lw_F{Lapr5I@;h$(_ZC&Y#%CI`e*twX6XiS*!@ zfM{xx_4=fED%mxT8e{EDc8(4Rr8-h$(6zzgq2Y-EQEstG@j+Dg)HrI2TUcUZoT;vE z&^n#)xWpix*!WQ07;17tP;4+YL3i@{1m5+DaJ_C&Y;;^~LU<;rDRSU*9q{eM@^r#u z)`cfv9@EhaiVFzN3<->i4T?<2It)&ajiVk4iKm9bB7ePR9S+7eE;J!7ATc~3ikc7> z5Jx@6`z}158k86i6BDKgG0io;h|xP@CG(GG(6^T zKngA(6-Qkc5S2ttQC(mX5U>CV3eu*81Ve(EK!lnE8iZ(5O!NYR^@0NtJ(C5nmYb7q zvHH($2@6OF(+Lhp4EXJn1vi~3v~BwFmdk65-F9Dggdfr{pB#&zrhvz>edMhLI#lSEan`sq!SAxmDf}s{w)t5NM zT$!aqxyCPx?cFb=Xx+-99Z$=s!#wMR*)s7zLc-({GTH)XKP5WOG(0@m)X2cVz&OyDq8(&ptgpR5&)85qa6yQXc8GzV zegMV9z%U>%Fp)QwALKKZI?3d|Q(c8ju)9 zji&}rnJar@F3rE2YZ7~5<0dD2r)copMs9Bb>zo?H;j8unhC|1ZbE~f@z1*;~Ymf4b z$#LiZ-MCW|eRAYVqf1(6%r-32eeb3_f^-_*kQ^P2zT!#=SVKRb>h9-1B}{QRTeZoM zn>!hD|Av)*`x>IuW(bS92OC#Q-8hUlR+UxCSuHRR$reyUvWemqd;~m!AgvGA?SB0A zd_lnIU^_3ecO&8g!kU|%HV=#A@nZZqWTl=cA}qk?K@^ZCc)01!L1tqgM5Jf@0fn}) z@o}*bmym&a8i*S9JD>ENKYn+!wIkbN$q*2em_T0PW=*!WM&`(fQw;PF#6-`SVx+IX z20j{2`G_R`d0uHm5*t@YTEr9b6|gc9CL_}rzc-Cy#^LHxu$qc9{ZM0#9#5HXMIkZrB012cOk`Pd9j1pm0E#pTcXX5H5G&R5+l;8d|U%;S{Xk6Td&6# z(rOiimIP?-YVI3F%B|;|-n=L|PQ%3UmfFH=F5P-Ns&};s=V*SpST<|1>WZVMA_GU% z4hoMg)*DmQG4k_WN$q>SD$3?+lGdh!1$%^qb~LHhYE|bFRWBLh4!qguMw`>S`^@!6 zl2-UDN!RMc0-nkNWp-fwv@Z|i)5BEPb9nSZ!4y?Mn+1V&#+4r_f<1zi) z&u7NjiBBI|KdSy_ystpZ@g=`{Z-S+mtoPW zk=!o(msbteIN857`cPzdbSVyQo9TYYTx7 zkHa6y#=F3dI3aSd`wD7!JW7;+T@%$3z!UM=MlNP}VP0S;NMJt^`3Sg1L;<^W8gV9Z zdf(};tx2SHnX|9I4VLJ3Hj{bYS&JxQKdTUBk(rs(^Uv((6ehKIh;I)+lkRfVf910a zc8DK#fg*7gvJ!ExSW&TT^U}#WDLFZL3Ks)2>&8Wf$Hpb-2E|9|{>}k43IbUGe}Crz zyoXG{zOmMUOOYr6A+VpHUl5Nc`Xj!G_pi?gVe_)ToeOHwg#Y<$iHI1s9BIrw1OzuV z;vwbvvI%(H&S^EV-L!eM*Rzh8IA|U#`F3l&U)B1j7F>K9_24`w@pX%zDAg}U-?Z0w zdYbLZ-tx-NpnQ0t=NlF2`M2ILN;3|&uNyHw**wub~{td7Cw%pU1 zRd1^FQg3Fze{_LAiQM{Lz1NT{GwNHO*!zK1cuvTq+&fK+q_wC*-|4#Py}YM+WBk2) zwqJbWP*UW2XMF+Zz$b4>Wtm9?+kbIh(hxEgdZRPL?&=i&7m_TFflzO+asvA#sV zZ07DRve)z{kza>OdZMHJN7D$F3Qh6K6-cyhcjc7R)gc~yKYK-~4H#)=Lr%_iH~1)-w_Zv^Bbk>D0-N_(cf%LcD8=g4z8 z8ou^?z8h*oz7|`Ybkp!+OS)WHyL!8OCWR1W{mpc*a$Jp3UfPbYd`C7&xM~ZvjwNpu z5hxaS4d&k%!&P&qu9Wd(y-#Eagj3{imT$T2vN6cI>#(^rJvi}fDx$iwDobDaS=w8# z4eyj^uP!_K`K{TvAD@d>3p@d?cmP~+WeQgi?>~9FUPL)ig2xrazXT5A_h-!hJFY+w z9SB3<3XR`+LUv1vi;GGn+lE0S!J~>5v9XE37i8!HC_K`DH+n`0vcQ012&A!K@}mLv z@qdl1vI)vl*UF;>f&|b4L4<&1OP3n+#bAL^)N^9X@iU|IcHc9=`%3zqa@e&f#v9YN#Tcx$QBYnlnp8JSVVN&~E3tvFBwKTA?*7$B z*qoI|yk_biuzi}Mdah*l{Y|*zw9_Fwn0B?HpI@)_mMwacc=O{amw~2tKF4b2`fn&+ zqxOWEj#{`_&5}A~FyCMXGV0`Xdq8YV@bm5qF-)Fqqbk^M`^k>7X zu^;Ly9=>5;KIiAVO@B^!yL<_CSRn9#%9y0fUh#XLuhm@?GWYkL60y2LxT;At3S-%i ze0yM@e1PgK`g8gunhR@-M~5=y;^M7~h{J-ia@S`32)}Vua*c%DHSU3r zy^IaFN|JNjF6!Fvd0?YAKHuj+v&H%Y4$~fZ7m_N1*D`vJDC`SWGgE*6biuT@Hw(V4 zNt|Z6Dg8`Y=vkk!?q}ZGgvYW%vWGA4jL`Pf`hIY+twloh1CI3C?w32?opE>*lzFZT z2o}Ba(Ay`==v+@@pDQ^gzD#vZ%ix~tS3^ujmYSXMUc)&SccVQ#ueFo-Ip)ESv))c7 zK4j;BJi+RW3=rDhp;42A!qr2?!__%rw5HzOng;Yn(mfd@9i z$hx#5y7H6rmF%lQ#Lfb>6+ znP_d8S_Yp|$P*Ng*sD_Y{fxDl z!vD!OK@-~tixf?T5)U}@ExmUyN_aNTy!h);`GMPu z!A|*=bzVP$haaEa_L*;~rL9oNiV$SSElu6FQ<_C0+sz4-xq*c%uP46W9K zLc`iJgqjUO(<)p;mZ1K5*~y+^#;jlwlcM*-N!}|Q#Um-N#^&x}tX}1!D6SJ(=iI)y zQe^bu#WPzEJ|gki)UUL;{O!C}dd$&|1=m@R?gYGlB^GBXP;|F^ct@1&h11`@%y1L# zaMDp~I`D{c-FSO|tG?;0O|{>G$!)H8uWAy0Rvphey;vT7uqCmqW8SM`!{B_?`opH5 zTJdOQeu_vEPE0!5_k*cuV5QuKhNIU+l@=>*JoqkWVTjV!SzaevV@{ave;>GRMaydb zS|ppl2Fd0tnjkh(*xbi18Q#yY*_u>~HLcM!_)FCMpR$@BMW4rNMiV4Q(L+qu{O=p^ zcl1`Kh7XZb3|`Q5&_pFrVQv1(UbP3MiUS(>YX@b`+is_MPli21D*OjdWWbN{dKQ~MoI99NqU0C6Qu`Vo(#H4>Ui9I*~^~i`Fi=G zl!P6kx(X$VMEg++x`w-N``axkFXD1es%{D=--wnH|B(7a zb9LvFs-7%X#kpK

3k)I=i9_YsyCXLZ4YDoT{>~TkF3{_R-Aw)GPP-U+-#JMv~mo z;mG(|Lsw}m=bxarP=xv~)b=mj^GBccZ<*&`sqo)$-JcZ*UOVE{YJ{RqVV+(2wjmCt z>XEu1$6kjWDs*I9EZDpLxrg5Oy$_82=3gm1wtcx?M4m@jl$K3!#3t2><$SHL?#Hj{ zkD9aX>CToOXUT(d>y1{;Nw)iWL#WuMdC9xdt|NzE<5q9mo%K=T@on|Jr-l`i z1?t)c4*dKW^8ACzn+Fd9Z=QH`Np`bmyV@N9K zoy4yYV!4Zz1Znj?-T3H&(9D7Bi@b7IeHWNn(YM~`ZL8grtGXU5)xMUAy_b-B(MYRV z>2oV@+S*eqrQX*cI2k&5gD zGJFzZBt!kG(|PDa18ciD^}jypF*g(R*16pW^w1t)F!Z zJF(g?pP%ioCbweHLdv=S;2!0IwR1+`ft%nkWi5=D+6Ci6YzX`;)tk#u>WQ! zJe7|~z#~~(1VksrEnyO#Sdl_pha?j4cmWY!fwpnA2p=BN!wBH_J^VN#Io3OLMw=Az zYkkV+dd5-NpLWvQQ9be!?X@Du1}cQAtqG)Q18m#8=Np!6eq^`OWJc9zSqUhA3=snu zj6zvJFi1T<6#G?Y9^LsAJB&P%p^+_rcLXKfZmc*kF9 z$n(EzuI3`@6U~+4AI+65WtlbE+J!=%(o`8tDsdD&Lka?tGp58XFwmR$Xl#J2LH^e! z{yW-Xe4?cMoXdPGWW0T6oumEshO+L15xdkE4mU*=WUt(Lh}*d9&I8X+J8pj??da;z z9&GKp@x4P|q}{Bv#R1iOYIYKL$G+66+I7v>*e#?u{oom$jD7bmXwxWnla54u&d<`} zJI5FQR$XgGOza)OwEgS1mZ!KM^3}HcUNz^T;rOB4X)ld-c#uULzE5^XkByZ&&$%j{exz26e6RFo;Fel{+lgos-KHW zRpCQtsJI^2jrn+7rMR>}ROPvko+a|kRckEvSp8gQ{B_ywM;@z==D&=%N%JE7NLW+9 zdJTHU@aoO5BePMjJ;tTE$0N?@abBs7&Z3$I-g&XZacH2zD=%sb@XSYZQpc$j44|y6@K4-f--+s{mMH}^NYQX{m|5(-q*w4 zMWH`#ui8-X{cd@nLxPqE#Ox_O6?ON83e};_Cs!`ccUdUA zJz039_wB!F!u}1-WSsaY{XINwNyVPpPgk|c4N`jfmqhmUj&6LDE~F)klORSs9DNg! zCHYmx)IHIC`Sg{HZ#8+e`{>i6b1E+r&22nZ zzML;6Ba;2GP&^}qyE*uD!vTk;*Cv(^rd1~j7&u#BPkMeVi^^1Vd{^;C<8dJ2>NdRv zyXI2Wb?4%*-VN$MEO>ElQ^#u;aq1R9-MF#)DhAs}Qx>@x9R4JKA@L!n-5_!F+SvX} zJJ((~FS4^wmie{j>x%GT5j=9}WTL3s`KuXUyyn@gzQKOC+Hm0WIIfLTcXbPY%l_RX z>T5Fa+<&BKFc5#uC~3{l1y0PYu1ke7}-M zTGLzEh^w{vF1GLN#kDO81LOJ0J3e_Z8m=X0%sQ%><$t-u!<~v=q(z)?r0+GS5?H%-`G}ZX>tz97PJLe)|w)DNrc8Br4HAb4|$RorZfNPcqI70 zLuCU*e*%@~{{@xZ!=tHWx5R+xII=Yy%3;UnspMr7y4M6m!=np&hI+>O#t7CSP>iO0 zMBM&6D^wBX2`l9PjTJm2;D80ht^dF1^}402+w9AVJ#Gum+!H(_3{4T*7AYN zkKP|GM^piv-f>f6nk)e zwp_B;J}>tlKZ?wR#`^q)E9cqPNqjqIzt#Vk--E)o?=R(ko(SRJyUc2)MRdKo)_eUG zsrG44w=rYhzxr5dzTM^cI3G7K^2i%P!uHFFCxy?gu1j)tbT9S{(%0-x!r9$1w0Pv3~AgJTiT&achokeF{vlm6_i`U(i)tEc`eAMBZBh`7Yey+XUoUS4-=eZ5N@~An4 zDjTtJU*=Ip_Thzf*{c<@->?6&-=kbk`pO;O(U~m2Pr|=MuW=B)M*ni6fSt?zK7J8s zL}p^2c_%euh{!MfhfinU|(WZgWl>zv5KgGR3+ zMYXbyUGJA}_LD=_V&f_jBakp8q$0Q?aI^p43QB)bvap&6)G93h;Ds0b@cKIk;XPy_ z{DprEcyd-&%`f{w&&oQCWR)W^zrF!QEAVd(_!mX%zce8c(f&OjezVf#e6caq*r0^C zznn#3U%^olIEhU3K-`e!0%E^T$#OQ}`4DTw^4C}d{7n77vppEb(~YO{9{7okPt^%a zjQ$HC^18JHHmAlc2JcBcTEBi-hW_W>TUT7P|6y=;#6<}q2U|tyv@R4Yc%^aP-N5r8 z>%A`jnUamqM|bUwoN+5A*_3IX$V#LK^=})0Xa8h6`Mt+l+k1+apRC_v>W8!axcPpl zNQ9OAQRGySGB+&w+~FQl^fIs08#Jf+D8CR%-p(jW?CPEUIDTZ_x%!7;0)1S|=jNhq zvELNb-iDlXdQgOx$nMekmcQi3lSMw$9BevnM$ncdy(bSZPdNH6LSQGdo4rUgajl-$ zbNlSZPgbUlJu>+V3nGq9*CJntzjnSwwDFRScJ86Ww6f~$-x3Tjiy!PqS7b~}7RnXW z+`pmYfJI%x#U;;Ht}+mfq&mD4`xfxQ*QnjsN7I&R zjIUgpHhv+D{&R?Q=eZm6{rrnNbuz|-JGtA3zL^_JX)-%Ub%K zn?Jq@mVD7(*x$+7JSG@xyS*J~bT!bZ^%NTAJH2*g|LZ0_XC966{UvJt_j-(p#|*F& zBR#~}zyxb<5NK}TqaOAV`M=@szoXJ)oSv2M%6qdtg;q(+xwXhy#NG~=CC%|#$z8@r zJe(wR#*B2Qnwa9Dh z=iGN+PAA6hf1CM*CjCiN(mC#|j?q5nJdVNjmbnF2j=rvHx4m%X;7$J*Dsv6vk0{tu zlKc+rbI$L|*BuBusI#(eg$`?wz{FMIkndDcfw#cN$BZ88d~pOi~I z5N;Fox)#?f_`>+G?z@dn^Y`v=PKXtB37N4dFhJ&Dp#E{QpAX`7%Xd}p;kH*A&Mk}1=Wa&&9vzRBdVN62BUnkIcwR-sx9*yknH8B9ecWdo(l=D(H)k6>>b&Uv z=4hr{&6~=d&4cfrx2WDe)2O+lx_LoUk?kc72^j<5jM_AdNh&2sK+z@oFWt_+ie`VP zZ2y)O|91gjn#bkDKNI=?=X~m4n>E~@i2dKTYk?EQ?uD#IJS#jZ+%_-&J8t^x^A?k= z3UUXq_g@aCCYikA7x!UIz8lHf0gri1K7|2H{_9ED|NMlp3tJ96OoZcKHno9kuv zoO7sKPImCpsxydqZ>Zg*aXU8Ksc!Zi$^9O8o@H08xV80utdRTG71uX@etK(`)^ib4 zxh0fGL6Me@-)^cOJZRsQcjqY1p*_||!(vvH*40jt>C?Vy#XkD-)@fs=s1sMN7QawA z@8PN{W5r$dvO6k%Zhp0DLHg1&AJ5%*KEKZI+s=+{Hk+dJ2V|FeUY+A7HEj(|b?Nly z;S4Fxev(smGoj(ZPZ9> znlfXsES*3}%e`1{D4SGQG<*7&^^dA4k^3&n`8=70>@V=qez)=c(A+zw(p6&ly+6L` zMaLXc--Dwa*V4=8GX~jk0qBWH+W!rIO*|<0*G_naq`zV5t= zX=G_jiAuXGCq`m!@OAc#uY2AtYc}j%5o6zyzFy<@!L!dV6h4oc6W%iuVGYd>i^#G@ z%X%)Gw7uABld?-%!+ms%#SeQ=hnaa}V#XOA%`egp@9sL1yAZLM8?%2XK3T)+i|^r8 zskf^9X8U|m=XM1kSx%obydKxLa@${hE&HZ3TWxQvQ@qBH{E#tY#?h;eFXtEbSH%oIw_h%+ zQ50F!BKgVdjKjD|+p&Y>YG# zn(4~#b>1ngIQBYbRZ7J9FGQ=NW=*X_eSI4els!t8X=Ip7* z<&O`rr?^+obm!He|NQyK1OIs79}oQFfqy*kj|cwoz&{@N#{>U(;2#hCn4V%x#j79=G!CX;O%1;8PavQ$Vm&6Fc%orP(J!*vugblde#MmtmQ+`VvhHTAWnnJ|1>y`#N~U zUp3;;_XQmCiKeYbZXfCS_*$*Dc7woYrHvALy+@J*H-GJ8b7sl*4BtXeEi7GA`#w8o zX*PPeZ9j?s)h1Leu|Z*a^4o{UB7e+@LVw0PT?_456w$MNS9LyDPkG2Kn^AqTq&@le z+)Yr&24ha5nDP<1#tW!<)x1~Nq9~_G1`b?7jPc8hp)p@Rw^OIfq0@t5j zO}F_dwWL$;N2MN4fTrPWXYHPX?{DO*P+h(678_0evi&yWMEv5Q>gX4jCjTG4t!&?- znlg&M@|V$dmm}66-(nW|xaN{embfe~D|IQ;r1=E6-vYZiGv$-O(gh4N=>oqBs*<063vlxt3<)+CJ zS@b<4vHo0pmPu~U%?2{-88H`4VkAg+-t-ReC9^rXG%a>bkgpv}WYEviTm$c4RytCY zD|5Sn#7ZqeMF=^K=0i`og`{kfN= z&|?hIK zw>f>eRopIp)PYIgGnyIsW zQ8M>tF*=uJxie*FUMM9ul!8VuX?lZ}`>f3+*fsu)T4$z+{MwSnlNWF0TbT>ykUGop zgO>ZjSaMlW%0kAVlCSLG0R|dLAffdPD$8=$h)i)0nR_G`^YwL{$-X~ z*0^GHUbCn&R~IRQO<-=4?hNq_X4xw@(?s~d|5>mF>3Kaj$v82>pf0I%OKKCt18r&+ zRVphTHPZ9+NqX$zISvjJfM}A*8l}57Agom3EN}|JZPZATNt?;$2r+8&dTeEJY-LGU zNeP2W7^IhiKT%C7*k|euR=1OXnRA0vGrfGIdy)BWewHQYvm2b%{2xTqeE*?ohIBf)kamh23{vD1suE>#9!ag}c((>@S~T~sKQIid?O zQs3LX^rb6Dt2k5-Ezb>=L=_mKp=G6w-b3lRKZS9FHpNvF<71QfB6xpak`j_x=YoU5 z2b7Ts|3GxQWHzpvw1j8Qm0nbPttCG5Bqyz8a)hyg&_>+U;b7n_p+82S@@|ZN(>xRZ zpMKlc<^c&ohu}?k?16UYh3Ze5f$fz~(hUD)A25e>JDAg8GhqA5l_8T7ei_TVY6#6v z!DZpIf7wQ}@}9VxH^gJqm7s|uBs>;XFT2y=L}Wqyzsr-!OEDaDVe(Tv$33M1R(eaC zX{u}&`0)?ZVP9|n5TSaxcZpUXN{B2!SM$}Z} zvzhL~kuRz8Rb>Kf&{(K3+s_XBf-504#arl-X8k-FI~+5^y?T8{Gd(+HCxix?J>sf? zgXn0mVvRy*L-M0kY^fGTY(;1D-J_QFoEjxAl~suJw${# zd0}gr3wtpmGbM|dnZo^Jh8h)aKQR+>##~W=9ZN2gAON~>hr|R1E%Q^k&8QI51OViO zwCA{1F6u`FNO8i!n`YE*ice{ZY;@1aWvR}bHV+AZ5}MSE?Y?C}BWxJGXjHM;d+4PY zX0bZ%_smI;QD1kiAlM5SEF%OU4awqXjmzyJ;}|e)B`OQ)j5-ooG%W~eRVM5tAA2^~ zs%U3k+Q^|PA*fp}#1%f5mX#7iz~(}i!7VhEta>cluJi&KbOw-c0?YAM{#?i#wit6% z9}xKlz%!UxjQW8!769$EV6LDZ>_<*Y0HanIhlQ+JF--&0t^`Z*wmkcnl zeq#K0u+FkO94|mt-e#kE&GaH1f*R$av)s8x2#x?@?B`!5k&`lwRWFBQqnk#HFc3sK zw~Scc=2Vr?6mmwoTLHoPN@xaf@iVc^Mlv^{1pUMi4Jvcy41|z6L#o$jF;FrKf*jIA zMjzcd;eQ%3_!2@8ttknWLQkDE7aX+Q1@YxyJ*L>?J%k>_Lv(`K?DD1lWlPL=*Mlp8 zWsP_a;h}92Bv_Y})d$)f0Ju;Jj_KF#Jya8dYpyMkxdraMjNpKfd{tSfP|gS)+nZl8 z4ZCD6uza-Kjw4FUwD$Lvh264OMo>ylBgaw=LG8sdM-7dP>27?%N} zoqIb#CRc@B*aS%McZE< zp^NWD)nLQ8@8saRLE3g}j-Nlbw1j2`TM9YADiOs)H1H_m# zBVf!%&RxvDVg1hXMqDmUbTEqP7s9)kyG81k!ww($W(gSrMOMK`tP0{eE};gQ8p*2c zfeo(-DZ7J%bj3C)8w%W(ZY%|KL^YpbRBb)^m}3CkpXq?&ph}wSuz(WWO)f10&x6k z3Rq!CK-)grY4w4=cVs{V-~`KZpoeZrT`Bf#F+$ErxxKkjR=o(1rQo}lle=TNc{2Qm zXj?|G`wK@r5p*?po|NzymBdO_SMVGKb%WS)1fCqC!;WLN(Ud0>4xI}=w+BDv@)cW$X{GlYYNl;?O_9_kMih%OO;90%VNVSnhh=B1PHifwQA5-8rX zgm6LJRy~Msb-*9^R&f!}$McAUEU>T&tC4v#0WATMN~mPMp%K5RxOBFYVWqIVF$su2*pPA@_JZa&;wA{>7xG)~9O=$~ zLz^>*0uGqSGSC=SeMwKJ_Yi&aXlxJ+M^noIjDyvS2AACd>igwr8CJI)b5vzyAfzk@ zGs+F>0nc$itZdRGGX0uxvJ8kS_=Kvgoh(C)nKT1U^o&?0AdU#$pM+zL>gS?PER>S< zYZ*{;ci$#s9EL4xQ|h#dH&`6H6{E7SxtrS1#gN;B-46aFD2<%~i6tPbEN}DX(uJZE zGXa$Ze)$DIXd;tlrs+AJ471Gvb`*tLAdf)@wyJ@x@bf24Y%WG%IBZWb--5F&^GD0` z+B{IcVsr(D2xAgKBvgl0579qa6~dR8gR({ybK7VOfwerKrl`sT6mww#35yNVc31;R z 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
%dJfk9 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�cUBgW8vUZKtbTZ!~=CQBHK>eL{54d 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⪻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%0A4XLJX!FWD8z6o5a>7?*l+$(r~NU2K`U+|xRG{3 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 -# Workload optimization report +# Usage optimization report -The **Workload optimization report** provides insights into resource utilization and efficiency opportunities based on historical usage patterns. This report helps you: +The **Usage optimization report** provides insights into resource utilization and efficiency opportunities based on historical usage patterns. This report helps you: - Identify unattached disks @@ -24,7 +24,7 @@ This report pulls data from: - Cost Management exports or FinOps hubs - Azure Resource Graph -The Workload optimization report is new and still in development. We will continue to expand capabilities in each release in alignment with the [Cost optimization workbook](../workbooks/optimization.md). To request other capabilities, [create a feature request](https://aka.ms/ftk/ideas) in GitHub. +The Usage optimization report is new and still in development. We will continue to expand capabilities in each release in alignment with the [Cost optimization workbook](../workbooks/optimization.md). To request other capabilities, [create a feature request](https://aka.ms/ftk/ideas) in GitHub. > [!div class="nextstepaction"] @@ -45,7 +45,7 @@ Before using this report, you need to configure Cost Management exports to provi | ---------------------- | -------------------------------- | ------------ | ----------------------------------------------------------------------------------------------- | | Cost and usage (FOCUS) | `1.0`, `1.0r2`, or `1.2-preview` | **Required** | Provides the primary cost and usage data for resource cost analysis. | | Price sheet | `2023-05-01` | Recommended | Required to populate missing prices for EA and MCA accounts to show accurate cost calculations. | -| Azure Resource Graph | Latest | **Required** | Required to gather resource metadata for workload optimization analysis. | +| Azure Resource Graph | Latest | **Required** | Required to gather resource metadata for usage optimization analysis. | For instructions on how to create Cost Management exports, see [Create and manage exports](/azure/cost-management-billing/costs/tutorial-improved-exports). If using FinOps hubs, these exports can be configured automatically. diff --git a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md index 282abbc45..ea3ea315f 100644 --- a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md +++ b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md @@ -3,7 +3,7 @@ title: Deploy FinOps workbooks description: FinOps workbooks are Azure Monitor workbooks that help you implement FinOps capabilities, including optimization and governance, to achieve your FinOps goals. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit @@ -79,8 +79,8 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Rate optimization](../../framework/optimize/rates.md) -- [Workload optimization](../../framework/optimize/workloads.md) -- [Cloud policy and governance](../../framework/manage/governance.md) +- [Usage optimization](../../framework/optimize/workloads.md) +- [Governance, Policy & Risk](../../framework/manage/governance.md) Related products: diff --git a/docs-mslearn/toolkit/workbooks/governance.md b/docs-mslearn/toolkit/workbooks/governance.md index 77d3b6666..cd25aee07 100644 --- a/docs-mslearn/toolkit/workbooks/governance.md +++ b/docs-mslearn/toolkit/workbooks/governance.md @@ -3,12 +3,12 @@ title: Governance workbook description: Azure Monitor workbook focused on governance, providing an overview of your Azure environment's governance posture and compliance. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit ms.reviewer: nteyan -#customer intent: As a FinOps user, I want to understand what the FinOps Governance workbook is and how it can help me implement the Cloud policy and governance capability. +#customer intent: As a FinOps user, I want to understand what the FinOps Governance workbook is and how it can help me implement the Governance, Policy & Risk capability. --- # Governance workbook @@ -220,7 +220,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: -- [Cloud policy and governance](../../framework/manage/governance.md) +- [Governance, Policy & Risk](../../framework/manage/governance.md) Related products: diff --git a/docs-mslearn/toolkit/workbooks/optimization.md b/docs-mslearn/toolkit/workbooks/optimization.md index 2ee0ee766..664c70475 100644 --- a/docs-mslearn/toolkit/workbooks/optimization.md +++ b/docs-mslearn/toolkit/workbooks/optimization.md @@ -3,12 +3,12 @@ title: FinOps toolkit Optimization workbook description: The Azure Monitor workbook focuses on cost optimization, providing insights and recommendations for improving cost efficiency in your Azure environment. author: flanakin ms.author: micflan -ms.date: 04/01/2026 +ms.date: 05/25/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit ms.reviewer: arclares -#customer intent: As a FinOps user, I want to understand what the FinOps Optimization workbook is and how it can help me implement the Workload optimization and Rate optimization FinOps capabilities. +#customer intent: As a FinOps user, I want to understand what the FinOps Optimization workbook is and how it can help me implement the Usage optimization and Rate optimization FinOps capabilities. --- # Optimization workbook @@ -73,7 +73,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Rate optimization](../../framework/optimize/rates.md) -- [Workload optimization](../../framework/optimize/workloads.md) +- [Usage optimization](../../framework/optimize/workloads.md) Related products: diff --git a/docs/brand.md b/docs/brand.md new file mode 100644 index 000000000..24b5a5a85 --- /dev/null +++ b/docs/brand.md @@ -0,0 +1,250 @@ +--- +layout: default +title: Brand and naming +nav_order: 90 +description: 'Brand colors, typography, naming, voice, and product-relationship rules for FinOps toolkit contributors and partners.' +permalink: /brand +--- + +Brand and naming +How the FinOps toolkit looks, sounds, and refers to other Microsoft products. +{: .fs-6 .fw-300 } + +This page is the source of truth for FinOps toolkit visual identity, naming conventions, and product-relationship language. It applies to anything the FinOps toolkit ships or publishes — Microsoft Learn modules, training decks, GitHub README files, Power BI reports, blog posts, demo videos, and partner submissions to the toolkit. + +When this page conflicts with another internal Microsoft brand asset, the other asset wins. When it conflicts with [Microsoft Trademark and Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks/), Microsoft's guidelines win. + +

+ + On this page + + {: .text-delta } +- TOC +{:toc} +
+ +--- + +## Visual identity + +### Color palette + +The FinOps toolkit uses the Microsoft FinOps light theme already shipped with every Power BI report under `src/power-bi/**/StaticResources/RegisteredResources/Microsoft_FinOps_light_theme*.json`. Use the same hex values in any new asset. + +**Primary data colors** (use these for charts, accents, and category fills, in this order for the first 8 categories): + +| # | Hex | Where to use | +|---|---|---| +| 1 | `#6F4BB2` | Primary accent — first category, hero highlights | +| 2 | `#0078D4` | Microsoft blue — links, secondary accent | +| 3 | `#EF6950` | Warm accent — anomalies, attention markers | +| 4 | `#3449AA` | Deep blue — supporting category | +| 5 | `#00A2AD` | Teal — supporting category | +| 6 | `#733569` | Plum — supporting category | +| 7 | `#E3008C` | Magenta — supporting category | +| 8 | `#335C50` | Forest — supporting category | + +The full 200+ color sequence in `Microsoft_FinOps_light_theme*.json` is meant for very high-cardinality Power BI visuals. For decks and Learn pages, stick to the eight above. + +**Neutrals** (text, backgrounds, surfaces): + +| Token | Hex | Use | +|---|---|---| +| Ink | `#1B1B1F` | Primary body text | +| Ink subdued | `#424242` | Secondary text, captions | +| Ink quiet | `#595959` | Tertiary text, footnotes, disabled | +| Surface | `#FFFFFF` | Default page and slide background | +| Surface subdued | `#F2F4FA` | Table stripes, callout backgrounds | +| Surface deep | `#10183A` | Hero panels, chyrons, title bars (use white text on top) | + +### Typography + +Inherit Microsoft's standard product fonts. The Power BI theme already specifies these. + +| Role | Font | Fallback chain | +|---|---|---| +| Headings, titles | Segoe UI Semibold | `'Segoe UI Semibold', wf_segoe-ui_semibold, helvetica, arial, sans-serif` | +| Body, captions | Segoe UI | `'Segoe UI', wf_segoe-ui_normal, helvetica, arial, sans-serif` | +| Code, identifiers | Cascadia Mono | `'Cascadia Mono', Consolas, 'Courier New', monospace` | + +Do not introduce display fonts, script fonts, or non-Microsoft typefaces. Microsoft Learn handles its own font rendering — do not specify fonts in `.md` source. + +### Logos and lockups + +The FinOps toolkit does not ship a standalone logo. Use the Microsoft master brand or the Microsoft Azure brand mark, per [Microsoft Trademark and Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks/). + +Do not create custom logo lockups that combine "FinOps toolkit" with another Microsoft product mark. Do not adapt the official Azure or Microsoft logos. + +### Slide and report templates + +| Asset | Where it lives | When to use | +|---|---|---| +| Branded PowerPoint template | [`yaml-to-deck/assets/source-template.pptx`](https://github.com/microsoft/finops-toolkit/tree/main/.copilot/skills/yaml-to-deck/assets) | All training decks and customer-facing presentations | +| Power BI theme | `src/power-bi/**/Microsoft_FinOps_light_theme*.json` | All Power BI reports shipped with the toolkit | + +If you need a layout the template doesn't have, extend it. Don't fork it into a new template. + +--- + +## Naming + +### What things are called + +The FinOps toolkit is a Microsoft-owned collection of components. Each component has a stable name. Use these forms exactly: + +| Concept | Correct name | Avoid | +|---|---|---| +| The whole project | FinOps toolkit | FinOps Toolkit (capital T), FTK in customer-facing prose | +| Hub data platform | FinOps hubs | FinOps Hub, FinOps hub (singular when you mean the product) | +| Power BI surface | FinOps toolkit Power BI reports | FinOps Power BI | +| PowerShell module | FinOps toolkit for PowerShell | FinOpsToolkit module | +| Open data | FinOps toolkit open data | FinOps open data | +| Bicep modules | FinOps toolkit Bicep modules | FinOps Bicep | +| The acronym | FTK (only in code, file names, internal short references — never in marketing or Learn body text) | — | + +Use **title case** for proper nouns ("FinOps", "Microsoft", "Azure", "Kusto"). Use **sentence case** for everything else, including page titles and slide titles ("Get started with FinOps hubs", not "Get Started with FinOps Hubs"). This matches the [Microsoft Style Guide](https://learn.microsoft.com/style-guide/capitalization). + +### What things are not called + +Do not coin new product names by combining the FinOps toolkit name with another Microsoft product trademark. The FinOps toolkit configures, deploys, or extends other Microsoft products — it does not rebrand them. + +| Don't write | Write instead | +|---|---| +| FinOps toolkit SRE Agent | Azure SRE Agent (when you mean the Microsoft product) — or describe the toolkit's role: "the FinOps toolkit deploys Azure SRE Agent…" | +| FinOps toolkit Cost Management | Microsoft Cost Management (the product) — or "the FinOps toolkit's Cost Management exports configuration" | +| FinOps toolkit Power BI service | Power BI service (the product) — or "FinOps toolkit Power BI reports" | + +This is the most common branding mistake new contributors make. The rule: **you cannot put a Microsoft product trademark into the name of a FinOps toolkit component.** You can only describe what the toolkit does with that product. + +### File and directory names + +Use lowercase, hyphen-separated slugs for everything in the repo: `finops-hubs`, `sre-agent`, `cost-management-connector`. The toolkit name in slugs is `finops-toolkit`. Don't use camelCase or PascalCase except where required by the surrounding ecosystem (e.g., PowerShell cmdlet names, Bicep symbols). + +### URLs and references + +When linking to a Microsoft product page, use the bare product name as the link text: `[Azure SRE Agent](https://learn.microsoft.com/azure/sre-agent/overview)`. When linking to FinOps toolkit pages about that product, include "FinOps toolkit" in the link text to disambiguate: `[Azure SRE Agent in the FinOps toolkit](https://learn.microsoft.com/cloud-computing/finops/toolkit/sre-agent/overview)`. + +Reusing identical link text for two different destinations confuses readers and screen readers. Always disambiguate. + +--- + +## Voice + +### Subject framing — most important rule + +The FinOps toolkit is a configuration layer. The Microsoft products it deploys (Azure SRE Agent, Microsoft Cost Management, Azure Data Explorer, Power BI, etc.) are runtimes. **Keep the two distinct in every sentence.** + +Use the toolkit, the deployment, or the template as the subject when describing toolkit-specific behavior: + +| Don't write (over-attributes to the Microsoft product) | Write instead (anchors to the toolkit) | +|---|---| +| "Azure SRE Agent includes 21 Kusto tools." | "The FinOps toolkit deployment configures Azure SRE Agent with 21 Kusto tools." | +| "Azure SRE Agent uses scheduled tasks to run weekly cost reviews." | "The FinOps toolkit ships scheduled tasks that run weekly cost reviews on Azure SRE Agent." | +| "Microsoft Cost Management exports billing data to FinOps hubs." | "The FinOps toolkit configures Microsoft Cost Management exports and lands the data in FinOps hubs." | +| "Power BI shows cost anomalies." | "FinOps toolkit Power BI reports show cost anomalies on top of the Power BI service." | + +The reverse direction matters too — don't attribute Microsoft product capabilities to the toolkit: + +| Don't write | Write instead | +|---|---| +| "FinOps toolkit hubs run KQL queries." | "FinOps hubs use Azure Data Explorer to run KQL queries." (ADX is the runtime; the toolkit configures the schema, functions, and ingestion.) | +| "FinOps toolkit Power BI renders the dashboard." | "Power BI renders the FinOps toolkit reports." | + +### Microsoft Voice basics + +The toolkit follows the [Microsoft Style Guide](https://learn.microsoft.com/style-guide/welcome/). Critical rules: + +- **Use sentence-style capitalization** for headings, titles, slide titles, table headers, and bullet labels. Reserve title case for proper nouns. +- **Lead with verbs.** Avoid "There is" / "There are" openers. +- **Include the small words.** "Use the agent to deploy" reads better than "Use agent to deploy" — keep articles for clarity and machine-translation friendliness. +- **Anaphora.** First mention spells out the full name; later references use a short form. After "Azure SRE Agent", subsequent references can use "the agent" if the antecedent is clear within the same paragraph or visible scope. +- **One sentence, one idea.** Split semicolon run-ons. +- **Don't prescribe action.** Say what something does, not what the reader must do. "The agent runs daily" is better than "You should run the agent daily." + +### Forbidden phrases + +The lint pipeline at [`yaml-to-deck/scripts/lint.py`](https://github.com/microsoft/finops-toolkit/blob/main/.copilot/skills/yaml-to-deck/scripts/lint.py) flags these in any deck source: + +- Marketing fluff: "best-in-class", "world-class", "game-changer", "revolutionary" +- Marketing absolutes: "this solves", "the entire answer" +- Internal jargon in customer prose: "MCAPS ask #", case IDs, "FastTrack engagement", "field research", "evidence pack", "corpus" +- Prescriptive openers: "you should", "you must", "Monday move" +- URLs in spoken narration: "see https://…" — write the destination as a link, don't read the URL aloud + +If the lint flags a sentence, fix the sentence — don't disable the lint. + +--- + +## Product-relationship rules + +This section covers the cases where a brand-aware reading would catch a problem the lint won't. + +### Page titles for product reference docs + +When a FinOps toolkit page documents a Microsoft product the toolkit deploys (Azure SRE Agent, Microsoft Cost Management, Azure Data Explorer), the H1 and frontmatter title MUST NOT duplicate the official Microsoft product page title on Microsoft Learn. Use one of these disambiguation patterns based on doc type: + +| Doc type | Pattern | Example | +|---|---|---| +| Concept / overview | ` in the FinOps toolkit` | `Azure SRE Agent in the FinOps toolkit` | +| How-to / tutorial | ` with the FinOps toolkit` | `Deploy Azure SRE Agent with the FinOps toolkit` | +| Quickstart / getting started | `Get started with the FinOps toolkit on ` | `Get started with the FinOps toolkit on Azure SRE Agent` | +| Reference (template, parameters) | ` reference (FinOps toolkit)` or ` (Azure SRE Agent in the FinOps toolkit)` | `Azure SRE Agent template reference (FinOps toolkit)` | +| Troubleshooting | `Troubleshoot deployments from the FinOps toolkit` | `Troubleshoot Azure SRE Agent deployments from the FinOps toolkit` | +| Subtopic of a product reference | ` (Azure SRE Agent in the FinOps toolkit)` | `Scheduled tasks (Azure SRE Agent in the FinOps toolkit)` | + +If the doc does not document a Microsoft product directly (e.g., generic Kusto or Python tool reference whose title is a class name), use the bare title and let the parent page disambiguate. + +### Anaphora short form + +After the first body mention of a Microsoft product, subsequent references in the same page can use a short form: + +| First mention (full) | Short form (subsequent in same page) | +|---|---| +| Azure SRE Agent | the agent | +| Microsoft Cost Management | Cost Management | +| Azure Data Explorer | the cluster (when referring to the user's specific instance) or Azure Data Explorer | + +The short form must be unambiguous in scope. If two competing antecedents exist (e.g., the agent product vs a subagent), spell out the full name. + +### When the toolkit deploys a Microsoft product + +Pattern: the FinOps toolkit ships an `azd up`-able template plus configuration for a Microsoft Azure product (Azure SRE Agent, Azure Data Explorer, Microsoft Cost Management exports). + +Rules: + +1. The first mention of the Microsoft product on each page links to the official Microsoft Learn page for that product. +2. The page title and H1 follow the disambiguation patterns above. +3. When listing components the toolkit ships (subagents, scheduled tasks, knowledge files, Bicep modules, Kusto functions), the subject of the sentence is the toolkit or the template — not the Microsoft product. +4. When listing platform capabilities the Microsoft product provides (managed identity, RBAC, scheduled task runtime, query engine), the subject is the Microsoft product. + +### When the toolkit reads from or writes to a Microsoft product + +Pattern: the toolkit pushes data into Power BI, queries Microsoft Cost Management, ingests from FOCUS exports. + +Rules: + +1. Name both sides of the integration in the first mention. "FinOps toolkit Power BI reports read from FinOps hubs" — both the toolkit-owned thing and the Microsoft-owned thing. +2. Don't anthropomorphize one side as "the toolkit" if it's really a Microsoft product doing the work. + +### When the toolkit recommends a Microsoft FinOps Framework practice + +Reference the practice by its official name from the [FinOps Framework](https://www.finops.org/framework/). The toolkit implements a subset; don't claim to ship the framework. + +Use Crawl/Walk/Run when discussing maturity. Use the official capability names (e.g., "Rate Optimization", not "reservation management"). + +--- + +## Trademark notice + +This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark and Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks/). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies. + +External contributors: when in doubt, prefer descriptive language ("works with Azure SRE Agent") over derivative naming ("FinOps Azure SRE Agent"). The descriptive form is always brand-safe; the derivative form requires CELA review. + +--- + +## Changelog + +| Date | Change | +|---|---| +| 2026-05-04 | Initial publication. Codified naming, voice, and product-relationship rules. Color palette and typography pulled from existing Power BI theme and PowerPoint template. | +| 2026-05-04 | Added the page-title disambiguation pattern table and the anaphora short-form table. Both decisions came out of applying the brand to the `docs-mslearn/toolkit/sre-agent/` doc set. | diff --git a/docs/guide.md b/docs/guide.md index abe565fdb..330bb1733 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -63,7 +63,7 @@ Next, learn about the FinOps Framework and build a plan to implement FinOps capa diff --git a/docs/power-bi.md b/docs/power-bi.md index 3f63d094d..b64c6fd4a 100644 --- a/docs/power-bi.md +++ b/docs/power-bi.md @@ -186,7 +186,7 @@ Create a new or update an existing FinOps hub instance.
- +
Gain insights into resource utilization and efficiency opportunities based on historical usage patterns.
diff --git a/src/power-bi/kql/CostSummary.Report/report.json b/src/power-bi/kql/CostSummary.Report/report.json index 667839da0..5bbf5b931 100644 --- a/src/power-bi/kql/CostSummary.Report/report.json +++ b/src/power-bi/kql/CostSummary.Report/report.json @@ -4999,7 +4999,7 @@ "z": 1000.0 }, { - "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Reporting and analy\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/reporting\"},{\"value\":\"tics capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/optimize/rates\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Reporting and analy\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\"tics capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/kql/DataIngestion.Report/report.json b/src/power-bi/kql/DataIngestion.Report/report.json index 7de714922..d1d51fc35 100644 --- a/src/power-bi/kql/DataIngestion.Report/report.json +++ b/src/power-bi/kql/DataIngestion.Report/report.json @@ -951,7 +951,7 @@ "z": 11000.00 }, { - "config": "{\"name\":\"faeff1c2227c98739d37\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Data ingestion report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides details about the data you've ingested into your FinOps hub storage account.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Data ingestion capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/ingestion\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/DataIngestion\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"faeff1c2227c98739d37\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Data ingestion report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides details about the data you've ingested into your FinOps hub storage account.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Data ingestion capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/data-ingestion/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/DataIngestion\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/kql/Governance.Report/report.json b/src/power-bi/kql/Governance.Report/report.json index 823de749e..e2083eb65 100644 --- a/src/power-bi/kql/Governance.Report/report.json +++ b/src/power-bi/kql/Governance.Report/report.json @@ -1926,7 +1926,7 @@ "z": 4000.00 }, { - "config": "{\"name\":\"278b621b26a043871160\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Policy and governance report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"The Cloud Adoption Framework Govern methodology provides a structured approach for establishing and optimizing cloud governance in Azure, including areas like regulatory compliance, security, operations, cost, data, resource management, and artificial intelligence (AI).\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Policy and governance capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/governance\"},{\"value\":\" in the FinOps Framework. \"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Governance\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"278b621b26a043871160\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Governance, Policy & Risk report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"The Cloud Adoption Framework Govern methodology provides a structured approach for establishing and optimizing cloud governance in Azure, including areas like regulatory compliance, security, operations, cost, data, resource management, and artificial intelligence (AI).\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Governance, Policy & Risk capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/governance-policy-risk/\"},{\"value\":\" in the FinOps Framework. \"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Governance\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, @@ -2293,7 +2293,7 @@ "z": 17000.00 }, { - "config": "{\"name\":\"ee7b5fb1edc97c406608\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Policy and governance\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", + "config": "{\"name\":\"ee7b5fb1edc97c406608\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Governance, Policy & Risk\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", "filters": "[]", "height": 85.83, "width": 852.50, diff --git a/src/power-bi/kql/Invoicing.Report/report.json b/src/power-bi/kql/Invoicing.Report/report.json index c1cdc8857..319bc02e1 100644 --- a/src/power-bi/kql/Invoicing.Report/report.json +++ b/src/power-bi/kql/Invoicing.Report/report.json @@ -3034,7 +3034,7 @@ "z": 1000.0 }, { - "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/reporting\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/invoicing-chargeback\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/kql/RateOptimization.Report/report.json b/src/power-bi/kql/RateOptimization.Report/report.json index a6cd310f5..828b6b997 100644 --- a/src/power-bi/kql/RateOptimization.Report/report.json +++ b/src/power-bi/kql/RateOptimization.Report/report.json @@ -2248,7 +2248,7 @@ "z": 14000.0 }, { - "config": "{\"name\":\"60280221a64c0eb4d3bd\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This reports uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/optimize/rates\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"60280221a64c0eb4d3bd\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This reports uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/kql/WorkloadOptimization.Report/report.json b/src/power-bi/kql/WorkloadOptimization.Report/report.json index 71851c270..f503df96d 100644 --- a/src/power-bi/kql/WorkloadOptimization.Report/report.json +++ b/src/power-bi/kql/WorkloadOptimization.Report/report.json @@ -1028,7 +1028,7 @@ "z": 11000.00 }, { - "config": "{\"name\":\"7e536659318f0aaddb2f\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Workload optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shutdown during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Workload optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/optimize/workloads\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"7e536659318f0aaddb2f\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shutdown during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/usage-optimization/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, @@ -1144,7 +1144,7 @@ "z": 0.00 }, { - "config": "{\"name\":\"ad5e62ecf686180722f1\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":9000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Workload optimization\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", + "config": "{\"name\":\"ad5e62ecf686180722f1\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":9000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Usage optimization\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", "filters": "[]", "height": 85.83, "width": 852.50, diff --git a/src/power-bi/storage/CostSummary.Report/report.json b/src/power-bi/storage/CostSummary.Report/report.json index b8c9efc43..2178fa460 100644 --- a/src/power-bi/storage/CostSummary.Report/report.json +++ b/src/power-bi/storage/CostSummary.Report/report.json @@ -1416,7 +1416,7 @@ "z": 3000.0 }, { - "config": "{\"name\":\"8213d12a199c081d6009\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Reporting and analytics capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/reporting\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"8213d12a199c081d6009\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Reporting and analytics capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/storage/DataIngestion.Report/report.json b/src/power-bi/storage/DataIngestion.Report/report.json index 348955720..f1336983e 100644 --- a/src/power-bi/storage/DataIngestion.Report/report.json +++ b/src/power-bi/storage/DataIngestion.Report/report.json @@ -834,7 +834,7 @@ "z": 4000.00 }, { - "config": "{\"name\":\"b6bbd19c451dc2c60d03\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Data ingestion report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides details about the data you've ingested into your FinOps hub storage account.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Data ingestion capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/ingestion\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/DataIngestion\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"b6bbd19c451dc2c60d03\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Data ingestion report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides details about the data you've ingested into your FinOps hub storage account.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Data ingestion capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/data-ingestion/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/DataIngestion\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/storage/Governance.Report/report.json b/src/power-bi/storage/Governance.Report/report.json index 650824f5b..77ee88a2f 100644 --- a/src/power-bi/storage/Governance.Report/report.json +++ b/src/power-bi/storage/Governance.Report/report.json @@ -1606,7 +1606,7 @@ "z": 9000.00 }, { - "config": "{\"name\":\"343341e97b7308150de2\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Policy and governance report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"The Cloud Adoption Framework Govern methodology provides a structured approach for establishing and optimizing cloud governance in Azure, including areas like regulatory compliance, security, operations, cost, data, resource management, and artificial intelligence (AI).\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Policy and governance capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/governance\"},{\"value\":\" in the FinOps Framework. \"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Governance\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"343341e97b7308150de2\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Governance, Policy & Risk report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"The Cloud Adoption Framework Govern methodology provides a structured approach for establishing and optimizing cloud governance in Azure, including areas like regulatory compliance, security, operations, cost, data, resource management, and artificial intelligence (AI).\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Governance, Policy & Risk capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/governance-policy-risk/\"},{\"value\":\" in the FinOps Framework. \"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Governance\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, @@ -1907,7 +1907,7 @@ "z": 3000.00 }, { - "config": "{\"name\":\"d184e5815389da951190\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Policy and governance\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", + "config": "{\"name\":\"d184e5815389da951190\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Governance, Policy & Risk\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", "filters": "[]", "height": 85.83, "width": 852.50, diff --git a/src/power-bi/storage/Invoicing.Report/report.json b/src/power-bi/storage/Invoicing.Report/report.json index 2c16050e1..425a16680 100644 --- a/src/power-bi/storage/Invoicing.Report/report.json +++ b/src/power-bi/storage/Invoicing.Report/report.json @@ -920,7 +920,7 @@ "z": 3000.00 }, { - "config": "{\"name\":\"3b17519ee64f1d0bd78a\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/reporting\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/invoicing-chargeback\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"3b17519ee64f1d0bd78a\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/storage/RateOptimization.Report/report.json b/src/power-bi/storage/RateOptimization.Report/report.json index 840ddccf5..40c8e553e 100644 --- a/src/power-bi/storage/RateOptimization.Report/report.json +++ b/src/power-bi/storage/RateOptimization.Report/report.json @@ -1087,7 +1087,7 @@ "z": 19000.00 }, { - "config": "{\"name\":\"4cabaa169baeca1b8080\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any workload optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This reports uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/optimize/rates\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"4cabaa169baeca1b8080\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any usage optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This reports uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/storage/WorkloadOptimization.Report/report.json b/src/power-bi/storage/WorkloadOptimization.Report/report.json index 6d5cb4c5f..df98c85e6 100644 --- a/src/power-bi/storage/WorkloadOptimization.Report/report.json +++ b/src/power-bi/storage/WorkloadOptimization.Report/report.json @@ -1043,7 +1043,7 @@ "z": 4000.00 }, { - "config": "{\"name\":\"8a4573bf23d8b8613b68\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Workload optimization\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", + "config": "{\"name\":\"8a4573bf23d8b8613b68\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Usage optimization\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", "filters": "[]", "height": 85.83, "width": 852.50, @@ -1052,7 +1052,7 @@ "z": 8000.00 }, { - "config": "{\"name\":\"906ec3cf4a1ea0d9d39c\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Workload optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shutdown during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Workload optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/optimize/workloads\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"906ec3cf4a1ea0d9d39c\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shutdown during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/usage-optimization/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/scripts/Build-PowerBI.ps1 b/src/scripts/Build-PowerBI.ps1 index e6a67ad1a..121fb7a98 100644 --- a/src/scripts/Build-PowerBI.ps1 +++ b/src/scripts/Build-PowerBI.ps1 @@ -132,17 +132,17 @@ $reports | ForEach-Object { Expressions = @("▶️ START HERE", "Cluster URL", "Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Deprecated: Perform Extra Query Optimizations", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } Governance = @{ - Intro = "The Cloud policy and governance report summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps." + Intro = "The Governance, Policy & Risk report summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps." Tables = @("AdvisorRecommendations", "Compliance calculation", "Costs", "Disks", "ManagementGroups", "NetworkInterfaces", "NetworkSecurityGroups", "PolicyAssignments", "PolicyDefinitions", "PolicyStates", "Prices", "PricingUnits", "PublicIPAddresses", "Regions", "Resources", "ResourceTypes", "SqlDatabases", "Subscriptions", "VirtualMachines") Expressions = @("▶️ START HERE", "Cluster URL", "[storage]Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Remove Duplicate Resource IDs", "Deprecated: Perform Extra Query Optimizations", "ftk_DemoFilter", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } RateOptimization = @{ - Intro = "The Rate optimization report provides insights into any workload optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This reports uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice." + Intro = "The Rate optimization report provides insights into rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This reports uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice." Tables = @("Costs", "InstanceSizeFlexibility", "Prices", "PricingUnits", "ReservationRecommendations") Expressions = @("▶️ START HERE", "Cluster URL", "[storage]Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Deprecated: Perform Extra Query Optimizations", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } WorkloadOptimization = @{ - Intro = "The Workload optimization report provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shutdown during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission." + Intro = "The Usage optimization report provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shutdown during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission." Tables = @("AdvisorRecommendations", "Costs", "Disks", "Prices", "PricingUnits", "Resources", "Subscriptions") Expressions = @("▶️ START HERE", "Cluster URL", "[storage]Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Remove Duplicate Resource IDs", "Deprecated: Perform Extra Query Optimizations", "ftk_DemoFilter", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } diff --git a/src/templates/finops-hub/dashboard.json b/src/templates/finops-hub/dashboard.json index dab4f6b27..3fccf6808 100644 --- a/src/templates/finops-hub/dashboard.json +++ b/src/templates/finops-hub/dashboard.json @@ -1002,7 +1002,7 @@ "visualType": "markdownCard", "pageId": "ea47329e-0bc9-4c11-b110-534878dbb3ad", "layout": { "x": 0, "y": 0, "width": 22, "height": 5 }, - "markdownText": "# Understand uage and cost\nThe **Understand usage and cost** domain is focused on data acquisition, reporting, analysis, and alerting on top of your cost, usage, and carbon consumption. This domain focuses on observability and business intelligence. It involves gathering data (ingestion), organizing it for the organization (allocation), generating reports (reporting), and monitoring to proactively identify and address issues (anomalies).\n\n[Learn more](https://learn.microsoft.com/cloud-computing/finops/framework/understand/understand-cloud-usage-cost)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Understand)\n", + "markdownText": "# Understand Usage & Cost\nThe **Understand Usage & Cost** domain is focused on data acquisition, reporting, analysis, and alerting on top of your cost, usage, and carbon consumption. This domain focuses on observability and business intelligence. It involves gathering data (ingestion), organizing it for the organization (allocation), generating reports (reporting), and monitoring to proactively identify and address issues (anomalies).\n\n[Learn more](https://www.finops.org/framework/domains/understand-usage-cost/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Understand)\n", "visualOptions": {} }, { @@ -2103,7 +2103,7 @@ "visualType": "markdownCard", "pageId": "8beab65c-f5ec-4661-bc67-37b10baffb16", "layout": { "x": 0, "y": 0, "width": 22, "height": 5 }, - "markdownText": "# Quantify business value\nThe **Quantify business value** domain focuses on analyzing cost, usage, and sustainability to align with organizational plans and measure the return on investment from cloud computing efforts. This domain is all about measuring and maximizing the business value each team and workload gets from the cloud to maximize future potential.\n\n[Learn more](https://learn.microsoft.com/cloud-computing/finops/framework/quantify/quantify-business-value)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", + "markdownText": "# Quantify business value\nThe **Quantify business value** domain focuses on analyzing cost, usage, and sustainability to align with organizational plans and measure the return on investment from cloud computing efforts. This domain is all about measuring and maximizing the business value each team and workload gets from the cloud to maximize future potential.\n\n[Learn more](https://www.finops.org/framework/domains/quantify-business-value/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", "visualOptions": {} }, { @@ -2157,7 +2157,7 @@ "visualType": "markdownCard", "pageId": "d01a8154-8a60-4d22-96ea-54b45b1417fe", "layout": { "x": 0, "y": 0, "width": 22, "height": 5 }, - "markdownText": "# Optimize usage and cost\nThe **Optimize usage and cost** domain focused on designing and optimizing solutions for efficiency to ensure you get the most out of your cloud investments.\n\n[Learn more](https://learn.microsoft.com/cloud-computing/finops/framework/optimize/optimize-cloud-usage-cost)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", + "markdownText": "# Optimize usage and cost\nThe **Optimize usage and cost** domain focused on designing and optimizing solutions for efficiency to ensure you get the most out of your cloud investments.\n\n[Learn more](https://www.finops.org/framework/domains/optimize-usage-cost/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", "visualOptions": {} }, { @@ -2175,7 +2175,7 @@ "visualType": "markdownCard", "pageId": "d01a8154-8a60-4d22-96ea-54b45b1417fe", "layout": { "x": 5, "y": 5, "width": 5, "height": 8 }, - "markdownText": "### Workload optimization\nWorkload optimization refers to the process of ensuring cloud services are utilized and tuned to maximize business value and minimize wasteful usage and spending. With this capability, you analyze cost, usage, and carbon emissions for cloud workloads to identify opportunities to maximize efficiency. This capability usually starts with recommendations and expands into more nuanced optimization efforts based on detailed resource utilization analysis. This capability can be time and effort intensive as each cloud service has its different optimization opportunities.\n\n📊 Coming soon\n   \n📗 [Learn more](http://aka.ms/ftk/fx/workloads)", + "markdownText": "### Usage optimization\nUsage optimization refers to the process of ensuring cloud services are utilized and tuned to maximize business value and minimize wasteful usage and spending. With this capability, you analyze cost, usage, and carbon emissions for cloud workloads to identify opportunities to maximize efficiency. This capability usually starts with recommendations and expands into more nuanced optimization efforts based on detailed resource utilization analysis. This capability can be time and effort intensive as each cloud service has its different optimization opportunities.\n\n📊 Coming soon\n   \n📗 [Learn more](http://aka.ms/ftk/fx/workloads)", "visualOptions": {} }, { @@ -2304,7 +2304,7 @@ "visualType": "markdownCard", "pageId": "11f019cd-e0cc-4aa7-a125-4dc852eb3f10", "layout": { "x": 0, "y": 0, "width": 22, "height": 5 }, - "markdownText": "# Manage the FinOps practice\nThe **Manage the FinOps practice** domain focuses on establishing a clear and consistent vision of FinOps and driving cultural adoption across your organization. Other domains are focused on the FinOps tasks you perform to drive efficiency and maximize value. This domain is focused more on how you run your FinOps practice and supporting those efforts.\n\n[Learn more](https://learn.microsoft.com/cloud-computing/finops/framework/manage/manage-finops)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Manage)\n", + "markdownText": "# Manage the FinOps practice\nThe **Manage the FinOps practice** domain focuses on establishing a clear and consistent vision of FinOps and driving cultural adoption across your organization. Other domains are focused on the FinOps tasks you perform to drive efficiency and maximize value. This domain is focused more on how you run your FinOps practice and supporting those efforts.\n\n[Learn more](https://www.finops.org/framework/domains/manage-finops-practice/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Manage)\n", "visualOptions": {} }, { @@ -2340,7 +2340,7 @@ "visualType": "markdownCard", "pageId": "11f019cd-e0cc-4aa7-a125-4dc852eb3f10", "layout": { "x": 17, "y": 5, "width": 5, "height": 7 }, - "markdownText": "### Cloud policy and governance\nCloud policy and governance refer to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of:\n\n- Specific SKUs\n- Resource configurations\n- Other practices that might affect cost, usage, and carbon growth\n\n📊 Coming soon\n   \n📗 [Learn more](http://aka.ms/ftk/fx/policy)", + "markdownText": "### Governance, Policy & Risk\nGovernance, Policy & Risk refer to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of:\n\n- Specific SKUs\n- Resource configurations\n- Other practices that might affect cost, usage, and carbon growth\n\n📊 Coming soon\n   \n📗 [Learn more](http://aka.ms/ftk/fx/policy)", "visualOptions": {} }, { diff --git a/src/workbooks/optimization/CostOptimization.workbook b/src/workbooks/optimization/CostOptimization.workbook index 566977c82..84fbe8993 100644 --- a/src/workbooks/optimization/CostOptimization.workbook +++ b/src/workbooks/optimization/CostOptimization.workbook @@ -350,7 +350,7 @@ "comparison": "isEqualTo", "value": "WorkloadOptimization" }, - "name": "group - workload optimization" + "name": "group - usage optimization" }, { "type": 12, From cbc9a3ae4f073d03415f5a998e713ae9d41a3abd Mon Sep 17 00:00:00 2001 From: msbrett Date: Wed, 3 Jun 2026 07:55:34 -0700 Subject: [PATCH 02/12] fix(docs): remove markdown trailing whitespace --- docs-mslearn/framework/manage/manage-finops.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-mslearn/framework/manage/manage-finops.md b/docs-mslearn/framework/manage/manage-finops.md index 5dac93338..c2310b5e3 100644 --- a/docs-mslearn/framework/manage/manage-finops.md +++ b/docs-mslearn/framework/manage/manage-finops.md @@ -36,7 +36,7 @@ FinOps practice operations refer to the process of: - Building and managing a robust FinOps team - Defining clear cross-functional responsibilities -- Integrating FinOps practices into organizational processes to manage cloud cost and usage effectively. +- Integrating FinOps practices into organizational processes to manage cloud cost and usage effectively. With this capability, you establish and manage your FinOps practice, focusing on supporting the needs of stakeholders across the organization. This capability is pivotal to driving organizational adoption. From bd0dffe20c55674499bd934aadbfaee9125b93fb Mon Sep 17 00:00:00 2001 From: msbrett Date: Wed, 3 Jun 2026 09:39:40 -0700 Subject: [PATCH 03/12] fix(docs): address review comments and ms.date --- docs-mslearn/framework/capabilities.md | 2 +- docs-mslearn/framework/finops-framework.md | 2 +- docs-mslearn/framework/manage/governance.md | 2 +- docs-mslearn/framework/manage/manage-finops.md | 6 +++--- docs-mslearn/framework/manage/onboarding.md | 4 ++-- docs-mslearn/framework/optimize/architecting.md | 2 +- docs-mslearn/framework/optimize/licensing.md | 2 +- .../framework/optimize/optimize-cloud-usage-cost.md | 2 +- docs-mslearn/framework/optimize/rates.md | 2 +- docs-mslearn/framework/optimize/sustainability.md | 2 +- docs-mslearn/framework/optimize/workloads.md | 4 ++-- docs-mslearn/framework/quantify/benchmarking.md | 2 +- docs-mslearn/framework/quantify/planning.md | 2 +- docs-mslearn/framework/understand/allocation.md | 2 +- docs-mslearn/toolkit/alerts/configure-finops-alerts.md | 2 +- docs-mslearn/toolkit/alerts/finops-alerts-overview.md | 2 +- docs-mslearn/toolkit/help/data-dictionary.md | 2 +- docs-mslearn/toolkit/help/errors.md | 2 +- docs-mslearn/toolkit/hubs/deploy.md | 2 +- docs-mslearn/toolkit/hubs/finops-hubs-overview.md | 2 +- docs-mslearn/toolkit/optimization-engine/overview.md | 2 +- docs-mslearn/toolkit/optimization-engine/reports.md | 2 +- docs-mslearn/toolkit/optimization-engine/setup-options.md | 2 +- .../toolkit/optimization-engine/suppress-recommendations.md | 2 +- docs-mslearn/toolkit/optimization-engine/troubleshooting.md | 2 +- docs-mslearn/toolkit/power-bi/reports.md | 2 +- docs-mslearn/toolkit/power-bi/workload-optimization.md | 4 ++-- docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md | 2 +- docs-mslearn/toolkit/workbooks/governance.md | 2 +- docs-mslearn/toolkit/workbooks/optimization.md | 2 +- src/power-bi/kql/CostSummary.Report/report.json | 2 +- src/power-bi/kql/RateOptimization.Report/report.json | 2 +- src/power-bi/kql/WorkloadOptimization.Report/report.json | 2 +- src/power-bi/storage/RateOptimization.Report/report.json | 2 +- .../storage/WorkloadOptimization.Report/report.json | 2 +- src/scripts/Build-PowerBI.ps1 | 4 ++-- src/templates/finops-hub/dashboard.json | 4 ++-- 37 files changed, 44 insertions(+), 44 deletions(-) diff --git a/docs-mslearn/framework/capabilities.md b/docs-mslearn/framework/capabilities.md index baca3d125..538a9a950 100644 --- a/docs-mslearn/framework/capabilities.md +++ b/docs-mslearn/framework/capabilities.md @@ -3,7 +3,7 @@ title: FinOps capabilities description: Learn about what the fundamental building blocks of the FinOps Framework that enable you to maximize business value through the cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/finops-framework.md b/docs-mslearn/framework/finops-framework.md index f9a1577b3..971ab5a63 100644 --- a/docs-mslearn/framework/finops-framework.md +++ b/docs-mslearn/framework/finops-framework.md @@ -3,7 +3,7 @@ title: FinOps Framework overview description: 'Learn about what the FinOps Framework is and how you can use it to accelerate your cost management and optimization goals.' author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/governance.md b/docs-mslearn/framework/manage/governance.md index e1b32b1a5..03e6524c0 100644 --- a/docs-mslearn/framework/manage/governance.md +++ b/docs-mslearn/framework/manage/governance.md @@ -3,7 +3,7 @@ title: Governance, Policy & Risk description: This article helps you understand the governance, policy, and risk capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/manage-finops.md b/docs-mslearn/framework/manage/manage-finops.md index c2310b5e3..02e931cd1 100644 --- a/docs-mslearn/framework/manage/manage-finops.md +++ b/docs-mslearn/framework/manage/manage-finops.md @@ -3,7 +3,7 @@ title: Manage the FinOps practice description: Learn about the FinOps capabilities that help you establish your FinOps practice and drive organizational accountability. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources @@ -58,7 +58,7 @@ To learn more, see [Onboarding workloads](./onboarding.md). ## Governance, Policy & Risk -Governance, Policy & Risk refer to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of: +Governance, Policy & Risk refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of: - Specific SKUs - Resource configurations @@ -106,7 +106,7 @@ Let us know how we're doing with a quick review. We use these reviews to improve > [!div class="nextstepaction"] -> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20FinOps%20toolkit%20tools%20and%20resources%3F/cvaQuestion/How%20valuable%20is%20the%20FinOps%20toolkit%3F/surveyId/FTK14.0/bladeName/Guide.Framework/featureName/Capabilities.Manage) +> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20FinOps%20toolkit%20tools%20and%20resources%3F/cvaQuestion/How%20valuable%20is%20the%20FinOps%20toolkit%3F/surveyId/FTK15.0/bladeName/Guide.Framework/featureName/Capabilities.Manage) If you're looking for something specific, vote for an existing or create a new idea. Share ideas with others to get more votes. We focus on ideas with the most votes. diff --git a/docs-mslearn/framework/manage/onboarding.md b/docs-mslearn/framework/manage/onboarding.md index 6a5f78db2..83c1602af 100644 --- a/docs-mslearn/framework/manage/onboarding.md +++ b/docs-mslearn/framework/manage/onboarding.md @@ -3,7 +3,7 @@ title: Onboarding workloads description: This article helps you understand the onboarding workloads capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -87,7 +87,7 @@ Let us know how we're doing with a quick review. We use these reviews to improve > [!div class="nextstepaction"] -> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20FinOps%20toolkit%20tools%20and%20resources%3F/cvaQuestion/How%20valuable%20is%20the%20FinOps%20toolkit%3F/surveyId/FTK14.0/bladeName/Guide.Framework/featureName/Capabilities.Manage.Onboarding) +> [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20FinOps%20toolkit%20tools%20and%20resources%3F/cvaQuestion/How%20valuable%20is%20the%20FinOps%20toolkit%3F/surveyId/FTK15.0/bladeName/Guide.Framework/featureName/Capabilities.Manage.Onboarding) If you're looking for something specific, vote for an existing or create a new idea. Share ideas with others to get more votes. We focus on ideas with the most votes. diff --git a/docs-mslearn/framework/optimize/architecting.md b/docs-mslearn/framework/optimize/architecting.md index 2a306c262..fc517ecf3 100644 --- a/docs-mslearn/framework/optimize/architecting.md +++ b/docs-mslearn/framework/optimize/architecting.md @@ -3,7 +3,7 @@ title: Architecting for cloud description: This article helps you understand the architecting for cloud capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/licensing.md b/docs-mslearn/framework/optimize/licensing.md index bd4f490f3..98d6404a4 100644 --- a/docs-mslearn/framework/optimize/licensing.md +++ b/docs-mslearn/framework/optimize/licensing.md @@ -3,7 +3,7 @@ title: Licensing and SaaS description: This article helps you understand the licensing and SaaS capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md index 2df862298..e7b62e09a 100644 --- a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md +++ b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md @@ -3,7 +3,7 @@ title: Optimize usage and cost description: Learn about the FinOps capabilities that help you identify and implement the right mix of pricing models, services, and resources needed to meet business demands. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/rates.md b/docs-mslearn/framework/optimize/rates.md index 7f74d3f28..ae60e7fc9 100644 --- a/docs-mslearn/framework/optimize/rates.md +++ b/docs-mslearn/framework/optimize/rates.md @@ -3,7 +3,7 @@ title: Rate optimization description: This article helps you understand the rate optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/sustainability.md b/docs-mslearn/framework/optimize/sustainability.md index 9af5d2b8b..5113bd2e3 100644 --- a/docs-mslearn/framework/optimize/sustainability.md +++ b/docs-mslearn/framework/optimize/sustainability.md @@ -3,7 +3,7 @@ title: Cloud sustainability description: This article helps you understand the cloud sustainability capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/workloads.md b/docs-mslearn/framework/optimize/workloads.md index 369601149..fdb9eedcf 100644 --- a/docs-mslearn/framework/optimize/workloads.md +++ b/docs-mslearn/framework/optimize/workloads.md @@ -3,7 +3,7 @@ title: Usage optimization description: This article helps you understand the Usage optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -25,7 +25,7 @@ Review how services get used and ensure each is maximizing return on investment. Every cost should have direct or indirect traceability back to business value. Eliminate fully "optimized" resources that aren't contributing to business value. -Review your resource usage patterns and determine if they can be scaled down or even shutdown (to stop billing) during off-peak hours. To reduce costs, consider cheaper alternatives. Avoid unnecessary usage and costs that don't contribute to the mission, which in turn increases return on investment and profitability. +Review your resource usage patterns and determine if they can be scaled down or even shut down (to stop billing) during off-peak hours. To reduce costs, consider cheaper alternatives. Avoid unnecessary usage and costs that don't contribute to the mission, which in turn increases return on investment and profitability.
diff --git a/docs-mslearn/framework/quantify/benchmarking.md b/docs-mslearn/framework/quantify/benchmarking.md index 564a75f5a..62e0680fd 100644 --- a/docs-mslearn/framework/quantify/benchmarking.md +++ b/docs-mslearn/framework/quantify/benchmarking.md @@ -3,7 +3,7 @@ title: FinOps benchmarking description: This article helps you understand the benchmarking capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/quantify/planning.md b/docs-mslearn/framework/quantify/planning.md index 6182803b7..5059669a4 100644 --- a/docs-mslearn/framework/quantify/planning.md +++ b/docs-mslearn/framework/quantify/planning.md @@ -3,7 +3,7 @@ title: Planning and estimating description: This article helps you understand the planning and estimating capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/understand/allocation.md b/docs-mslearn/framework/understand/allocation.md index d60deb110..90b781b45 100644 --- a/docs-mslearn/framework/understand/allocation.md +++ b/docs-mslearn/framework/understand/allocation.md @@ -3,7 +3,7 @@ title: Allocation description: This article helps you understand the Allocation capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md index d234713e2..8055ef353 100644 --- a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md +++ b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md @@ -3,7 +3,7 @@ title: Configure FinOps alerts description: Learn how to configure and customize FinOps alerts to perform notifications and actions based on your organizational needs. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md index de1532223..9938dbda5 100644 --- a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md +++ b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md @@ -3,7 +3,7 @@ title: FinOps alerts overview description: FinOps alerts accelerate cost optimization efforts with scheduled notifications that continuously monitor your cloud environment. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/data-dictionary.md b/docs-mslearn/toolkit/help/data-dictionary.md index 79f057d8c..3c66b461b 100644 --- a/docs-mslearn/toolkit/help/data-dictionary.md +++ b/docs-mslearn/toolkit/help/data-dictionary.md @@ -3,7 +3,7 @@ title: FinOps toolkit data dictionary description: This article describes the column names found in FinOps toolkit solutions, including columns from Cost Management and FOCUS. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/errors.md b/docs-mslearn/toolkit/help/errors.md index 34172e2ef..6d193acfc 100644 --- a/docs-mslearn/toolkit/help/errors.md +++ b/docs-mslearn/toolkit/help/errors.md @@ -3,7 +3,7 @@ title: Troubleshoot common FinOps toolkit errors description: This article describes common FinOps toolkit errors and provides solutions to help you resolve issues you might encounter. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/deploy.md b/docs-mslearn/toolkit/hubs/deploy.md index 3455b8b69..1038e8af3 100644 --- a/docs-mslearn/toolkit/hubs/deploy.md +++ b/docs-mslearn/toolkit/hubs/deploy.md @@ -3,7 +3,7 @@ title: How to create and update FinOps hubs description: This tutorial helps you create a new or update an existing FinOps hubs instance in Azure or Microsoft Fabric. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md index dfb9d4b01..3c4c7c9d9 100644 --- a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md +++ b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md @@ -3,7 +3,7 @@ title: FinOps hubs overview description: FinOps hubs provide a reliable platform for cost analytics, insights, and optimization, supporting large accounts and organizations. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/overview.md b/docs-mslearn/toolkit/optimization-engine/overview.md index e605c8170..ab9de3ed8 100644 --- a/docs-mslearn/toolkit/optimization-engine/overview.md +++ b/docs-mslearn/toolkit/optimization-engine/overview.md @@ -3,7 +3,7 @@ title: Get started with the Azure Optimization Engine description: The Azure Optimization Engine (AOE) is an extensible solution designed to generate optimization recommendations for your Azure environment. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/reports.md b/docs-mslearn/toolkit/optimization-engine/reports.md index 3644eb1bb..0eae1c4e6 100644 --- a/docs-mslearn/toolkit/optimization-engine/reports.md +++ b/docs-mslearn/toolkit/optimization-engine/reports.md @@ -3,7 +3,7 @@ title: Azure optimization engine reports description: Visualize the Azure Optimization Engine's rich recommendations and insights through various reporting options, including Power BI reports. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/setup-options.md b/docs-mslearn/toolkit/optimization-engine/setup-options.md index d3e4ac4e1..c5018e3f6 100644 --- a/docs-mslearn/toolkit/optimization-engine/setup-options.md +++ b/docs-mslearn/toolkit/optimization-engine/setup-options.md @@ -3,7 +3,7 @@ title: Setup options description: This article describes advance scenarios for setting up or upgrading Azure optimization engine (AOE). author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md index 964841bee..1659bd707 100644 --- a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md +++ b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md @@ -3,7 +3,7 @@ title: Suppress recommendations description: Learn how to adjust the Azure Optimization Engine recommendation results for your environment characteristics by suppressing irrelevant recommendations. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md index 0a7680fcd..0b709f59a 100644 --- a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md +++ b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md @@ -3,7 +3,7 @@ title: Troubleshoot Azure Optimization Engine issues description: This article helps you troubleshoot common issues with Azure Optimization Engine deployment and runtime. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/power-bi/reports.md b/docs-mslearn/toolkit/power-bi/reports.md index 48659e662..d15d3b995 100644 --- a/docs-mslearn/toolkit/power-bi/reports.md +++ b/docs-mslearn/toolkit/power-bi/reports.md @@ -3,7 +3,7 @@ title: FinOps toolkit Power BI reports description: Learn about the Power BI reports in the FinOps toolkit to customize and enhance your FinOps reporting and connect to Cost Management exports or FinOps hubs. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/power-bi/workload-optimization.md b/docs-mslearn/toolkit/power-bi/workload-optimization.md index 705157117..b8ee2f3ea 100644 --- a/docs-mslearn/toolkit/power-bi/workload-optimization.md +++ b/docs-mslearn/toolkit/power-bi/workload-optimization.md @@ -3,12 +3,12 @@ title: FinOps toolkit Usage optimization report description: Learn about the Usage optimization report, which identifies opportunities for rightsizing and removing unused resources to enhance efficiency. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit ms.reviewer: micflan -# customer intent: As a As a FinOps user, I want to learn about the Usage optimization report so that I can identify and eliminate inefficiencies in my cloud resource usage. +# customer intent: As a FinOps user, I want to learn about the Usage optimization report so that I can identify and eliminate inefficiencies in my cloud resource usage. --- diff --git a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md index ea3ea315f..594b2178e 100644 --- a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md +++ b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md @@ -3,7 +3,7 @@ title: Deploy FinOps workbooks description: FinOps workbooks are Azure Monitor workbooks that help you implement FinOps capabilities, including optimization and governance, to achieve your FinOps goals. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/governance.md b/docs-mslearn/toolkit/workbooks/governance.md index cd25aee07..fcbb5b9d6 100644 --- a/docs-mslearn/toolkit/workbooks/governance.md +++ b/docs-mslearn/toolkit/workbooks/governance.md @@ -3,7 +3,7 @@ title: Governance workbook description: Azure Monitor workbook focused on governance, providing an overview of your Azure environment's governance posture and compliance. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/optimization.md b/docs-mslearn/toolkit/workbooks/optimization.md index 664c70475..6828bcda1 100644 --- a/docs-mslearn/toolkit/workbooks/optimization.md +++ b/docs-mslearn/toolkit/workbooks/optimization.md @@ -3,7 +3,7 @@ title: FinOps toolkit Optimization workbook description: The Azure Monitor workbook focuses on cost optimization, providing insights and recommendations for improving cost efficiency in your Azure environment. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/src/power-bi/kql/CostSummary.Report/report.json b/src/power-bi/kql/CostSummary.Report/report.json index 5bbf5b931..cf1ea7a3f 100644 --- a/src/power-bi/kql/CostSummary.Report/report.json +++ b/src/power-bi/kql/CostSummary.Report/report.json @@ -4999,7 +4999,7 @@ "z": 1000.0 }, { - "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Reporting and analy\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\"tics capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Reporting and analy\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\"tics capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/kql/RateOptimization.Report/report.json b/src/power-bi/kql/RateOptimization.Report/report.json index 828b6b997..854bf0936 100644 --- a/src/power-bi/kql/RateOptimization.Report/report.json +++ b/src/power-bi/kql/RateOptimization.Report/report.json @@ -2248,7 +2248,7 @@ "z": 14000.0 }, { - "config": "{\"name\":\"60280221a64c0eb4d3bd\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This reports uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"60280221a64c0eb4d3bd\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This report uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/kql/WorkloadOptimization.Report/report.json b/src/power-bi/kql/WorkloadOptimization.Report/report.json index f503df96d..468d67b63 100644 --- a/src/power-bi/kql/WorkloadOptimization.Report/report.json +++ b/src/power-bi/kql/WorkloadOptimization.Report/report.json @@ -1028,7 +1028,7 @@ "z": 11000.00 }, { - "config": "{\"name\":\"7e536659318f0aaddb2f\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shutdown during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/usage-optimization/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"7e536659318f0aaddb2f\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shut down during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/usage-optimization/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/storage/RateOptimization.Report/report.json b/src/power-bi/storage/RateOptimization.Report/report.json index 40c8e553e..08e120694 100644 --- a/src/power-bi/storage/RateOptimization.Report/report.json +++ b/src/power-bi/storage/RateOptimization.Report/report.json @@ -1087,7 +1087,7 @@ "z": 19000.00 }, { - "config": "{\"name\":\"4cabaa169baeca1b8080\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any usage optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This reports uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"4cabaa169baeca1b8080\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This report uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/storage/WorkloadOptimization.Report/report.json b/src/power-bi/storage/WorkloadOptimization.Report/report.json index df98c85e6..8a0590ed6 100644 --- a/src/power-bi/storage/WorkloadOptimization.Report/report.json +++ b/src/power-bi/storage/WorkloadOptimization.Report/report.json @@ -1052,7 +1052,7 @@ "z": 8000.00 }, { - "config": "{\"name\":\"906ec3cf4a1ea0d9d39c\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shutdown during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/usage-optimization/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"906ec3cf4a1ea0d9d39c\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shut down during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/usage-optimization/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/scripts/Build-PowerBI.ps1 b/src/scripts/Build-PowerBI.ps1 index 121fb7a98..ccaf969fd 100644 --- a/src/scripts/Build-PowerBI.ps1 +++ b/src/scripts/Build-PowerBI.ps1 @@ -137,12 +137,12 @@ $reports | ForEach-Object { Expressions = @("▶️ START HERE", "Cluster URL", "[storage]Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Remove Duplicate Resource IDs", "Deprecated: Perform Extra Query Optimizations", "ftk_DemoFilter", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } RateOptimization = @{ - Intro = "The Rate optimization report provides insights into rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This reports uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice." + Intro = "The Rate optimization report provides insights into rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This report uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice." Tables = @("Costs", "InstanceSizeFlexibility", "Prices", "PricingUnits", "ReservationRecommendations") Expressions = @("▶️ START HERE", "Cluster URL", "[storage]Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Deprecated: Perform Extra Query Optimizations", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } WorkloadOptimization = @{ - Intro = "The Usage optimization report provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shutdown during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission." + Intro = "The Usage optimization report provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shut down during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission." Tables = @("AdvisorRecommendations", "Costs", "Disks", "Prices", "PricingUnits", "Resources", "Subscriptions") Expressions = @("▶️ START HERE", "Cluster URL", "[storage]Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Remove Duplicate Resource IDs", "Deprecated: Perform Extra Query Optimizations", "ftk_DemoFilter", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } diff --git a/src/templates/finops-hub/dashboard.json b/src/templates/finops-hub/dashboard.json index 3fccf6808..c3411ad66 100644 --- a/src/templates/finops-hub/dashboard.json +++ b/src/templates/finops-hub/dashboard.json @@ -2157,7 +2157,7 @@ "visualType": "markdownCard", "pageId": "d01a8154-8a60-4d22-96ea-54b45b1417fe", "layout": { "x": 0, "y": 0, "width": 22, "height": 5 }, - "markdownText": "# Optimize usage and cost\nThe **Optimize usage and cost** domain focused on designing and optimizing solutions for efficiency to ensure you get the most out of your cloud investments.\n\n[Learn more](https://www.finops.org/framework/domains/optimize-usage-cost/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", + "markdownText": "# Optimize usage and cost\nThe **Optimize usage and cost** domain is focused on designing and optimizing solutions for efficiency to ensure you get the most out of your cloud investments.\n\n[Learn more](https://www.finops.org/framework/domains/optimize-usage-cost/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", "visualOptions": {} }, { @@ -2340,7 +2340,7 @@ "visualType": "markdownCard", "pageId": "11f019cd-e0cc-4aa7-a125-4dc852eb3f10", "layout": { "x": 17, "y": 5, "width": 5, "height": 7 }, - "markdownText": "### Governance, Policy & Risk\nGovernance, Policy & Risk refer to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of:\n\n- Specific SKUs\n- Resource configurations\n- Other practices that might affect cost, usage, and carbon growth\n\n📊 Coming soon\n   \n📗 [Learn more](http://aka.ms/ftk/fx/policy)", + "markdownText": "### Governance, Policy & Risk\nGovernance, Policy & Risk refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of:\n\n- Specific SKUs\n- Resource configurations\n- Other practices that might affect cost, usage, and carbon growth\n\n📊 Coming soon\n   \n📗 [Learn more](http://aka.ms/ftk/fx/policy)", "visualOptions": {} }, { From 66c152db384f68ad823bc0450edfc50335843caa Mon Sep 17 00:00:00 2001 From: msbrett Date: Wed, 3 Jun 2026 09:46:59 -0700 Subject: [PATCH 04/12] fix(docs): update remaining ms.date --- docs-mslearn/conduct-iteration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-mslearn/conduct-iteration.md b/docs-mslearn/conduct-iteration.md index 9d242e10d..c4703eda5 100644 --- a/docs-mslearn/conduct-iteration.md +++ b/docs-mslearn/conduct-iteration.md @@ -3,7 +3,7 @@ title: Tutorial - Conduct an iteration description: This tutorial helps you learn how to take an iterative approach to FinOps adoption. author: flanakin ms.author: micflan -ms.date: 05/25/2026 +ms.date: 06/03/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-learning-resources From a224c226511e5d46252a5cacdebd4a2c3d29d789 Mon Sep 17 00:00:00 2001 From: msbrett Date: Thu, 4 Jun 2026 06:18:41 -0700 Subject: [PATCH 05/12] fix(docs): refresh Learn doc dates Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs-mslearn/conduct-iteration.md | 2 +- docs-mslearn/framework/capabilities.md | 2 +- docs-mslearn/framework/finops-framework.md | 2 +- docs-mslearn/framework/manage/governance.md | 2 +- docs-mslearn/framework/manage/manage-finops.md | 2 +- docs-mslearn/framework/manage/onboarding.md | 2 +- docs-mslearn/framework/optimize/architecting.md | 2 +- docs-mslearn/framework/optimize/licensing.md | 2 +- docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md | 2 +- docs-mslearn/framework/optimize/rates.md | 2 +- docs-mslearn/framework/optimize/sustainability.md | 2 +- docs-mslearn/framework/optimize/workloads.md | 2 +- docs-mslearn/framework/quantify/benchmarking.md | 2 +- docs-mslearn/framework/quantify/planning.md | 2 +- docs-mslearn/framework/understand/allocation.md | 2 +- docs-mslearn/toolkit/alerts/configure-finops-alerts.md | 2 +- docs-mslearn/toolkit/alerts/finops-alerts-overview.md | 2 +- docs-mslearn/toolkit/help/data-dictionary.md | 2 +- docs-mslearn/toolkit/help/errors.md | 2 +- docs-mslearn/toolkit/hubs/deploy.md | 2 +- docs-mslearn/toolkit/hubs/finops-hubs-overview.md | 2 +- docs-mslearn/toolkit/optimization-engine/overview.md | 2 +- docs-mslearn/toolkit/optimization-engine/reports.md | 2 +- docs-mslearn/toolkit/optimization-engine/setup-options.md | 2 +- .../toolkit/optimization-engine/suppress-recommendations.md | 2 +- docs-mslearn/toolkit/optimization-engine/troubleshooting.md | 2 +- docs-mslearn/toolkit/power-bi/reports.md | 2 +- docs-mslearn/toolkit/power-bi/workload-optimization.md | 2 +- docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md | 2 +- docs-mslearn/toolkit/workbooks/governance.md | 2 +- docs-mslearn/toolkit/workbooks/optimization.md | 2 +- 31 files changed, 31 insertions(+), 31 deletions(-) diff --git a/docs-mslearn/conduct-iteration.md b/docs-mslearn/conduct-iteration.md index c4703eda5..fdde0b9bf 100644 --- a/docs-mslearn/conduct-iteration.md +++ b/docs-mslearn/conduct-iteration.md @@ -3,7 +3,7 @@ title: Tutorial - Conduct an iteration description: This tutorial helps you learn how to take an iterative approach to FinOps adoption. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/capabilities.md b/docs-mslearn/framework/capabilities.md index 538a9a950..77bd68bab 100644 --- a/docs-mslearn/framework/capabilities.md +++ b/docs-mslearn/framework/capabilities.md @@ -3,7 +3,7 @@ title: FinOps capabilities description: Learn about what the fundamental building blocks of the FinOps Framework that enable you to maximize business value through the cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/finops-framework.md b/docs-mslearn/framework/finops-framework.md index 971ab5a63..0d2dea259 100644 --- a/docs-mslearn/framework/finops-framework.md +++ b/docs-mslearn/framework/finops-framework.md @@ -3,7 +3,7 @@ title: FinOps Framework overview description: 'Learn about what the FinOps Framework is and how you can use it to accelerate your cost management and optimization goals.' author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/governance.md b/docs-mslearn/framework/manage/governance.md index 03e6524c0..2065f117f 100644 --- a/docs-mslearn/framework/manage/governance.md +++ b/docs-mslearn/framework/manage/governance.md @@ -3,7 +3,7 @@ title: Governance, Policy & Risk description: This article helps you understand the governance, policy, and risk capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/manage-finops.md b/docs-mslearn/framework/manage/manage-finops.md index 02e931cd1..4e4dadd8c 100644 --- a/docs-mslearn/framework/manage/manage-finops.md +++ b/docs-mslearn/framework/manage/manage-finops.md @@ -3,7 +3,7 @@ title: Manage the FinOps practice description: Learn about the FinOps capabilities that help you establish your FinOps practice and drive organizational accountability. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/onboarding.md b/docs-mslearn/framework/manage/onboarding.md index 83c1602af..d47a50a17 100644 --- a/docs-mslearn/framework/manage/onboarding.md +++ b/docs-mslearn/framework/manage/onboarding.md @@ -3,7 +3,7 @@ title: Onboarding workloads description: This article helps you understand the onboarding workloads capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/architecting.md b/docs-mslearn/framework/optimize/architecting.md index fc517ecf3..4f3ab4af1 100644 --- a/docs-mslearn/framework/optimize/architecting.md +++ b/docs-mslearn/framework/optimize/architecting.md @@ -3,7 +3,7 @@ title: Architecting for cloud description: This article helps you understand the architecting for cloud capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/licensing.md b/docs-mslearn/framework/optimize/licensing.md index 98d6404a4..196c9e2ce 100644 --- a/docs-mslearn/framework/optimize/licensing.md +++ b/docs-mslearn/framework/optimize/licensing.md @@ -3,7 +3,7 @@ title: Licensing and SaaS description: This article helps you understand the licensing and SaaS capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md index e7b62e09a..236fa970a 100644 --- a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md +++ b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md @@ -3,7 +3,7 @@ title: Optimize usage and cost description: Learn about the FinOps capabilities that help you identify and implement the right mix of pricing models, services, and resources needed to meet business demands. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/rates.md b/docs-mslearn/framework/optimize/rates.md index ae60e7fc9..263cbf87f 100644 --- a/docs-mslearn/framework/optimize/rates.md +++ b/docs-mslearn/framework/optimize/rates.md @@ -3,7 +3,7 @@ title: Rate optimization description: This article helps you understand the rate optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/sustainability.md b/docs-mslearn/framework/optimize/sustainability.md index 5113bd2e3..d363ee9d6 100644 --- a/docs-mslearn/framework/optimize/sustainability.md +++ b/docs-mslearn/framework/optimize/sustainability.md @@ -3,7 +3,7 @@ title: Cloud sustainability description: This article helps you understand the cloud sustainability capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/workloads.md b/docs-mslearn/framework/optimize/workloads.md index fdb9eedcf..7bb4668e1 100644 --- a/docs-mslearn/framework/optimize/workloads.md +++ b/docs-mslearn/framework/optimize/workloads.md @@ -3,7 +3,7 @@ title: Usage optimization description: This article helps you understand the Usage optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/quantify/benchmarking.md b/docs-mslearn/framework/quantify/benchmarking.md index 62e0680fd..6acf0d072 100644 --- a/docs-mslearn/framework/quantify/benchmarking.md +++ b/docs-mslearn/framework/quantify/benchmarking.md @@ -3,7 +3,7 @@ title: FinOps benchmarking description: This article helps you understand the benchmarking capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/quantify/planning.md b/docs-mslearn/framework/quantify/planning.md index 5059669a4..5bf2b723b 100644 --- a/docs-mslearn/framework/quantify/planning.md +++ b/docs-mslearn/framework/quantify/planning.md @@ -3,7 +3,7 @@ title: Planning and estimating description: This article helps you understand the planning and estimating capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/understand/allocation.md b/docs-mslearn/framework/understand/allocation.md index 90b781b45..e55341cf7 100644 --- a/docs-mslearn/framework/understand/allocation.md +++ b/docs-mslearn/framework/understand/allocation.md @@ -3,7 +3,7 @@ title: Allocation description: This article helps you understand the Allocation capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md index 8055ef353..b0245322e 100644 --- a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md +++ b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md @@ -3,7 +3,7 @@ title: Configure FinOps alerts description: Learn how to configure and customize FinOps alerts to perform notifications and actions based on your organizational needs. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md index 9938dbda5..6f91c4e40 100644 --- a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md +++ b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md @@ -3,7 +3,7 @@ title: FinOps alerts overview description: FinOps alerts accelerate cost optimization efforts with scheduled notifications that continuously monitor your cloud environment. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/data-dictionary.md b/docs-mslearn/toolkit/help/data-dictionary.md index 3c66b461b..63abe134d 100644 --- a/docs-mslearn/toolkit/help/data-dictionary.md +++ b/docs-mslearn/toolkit/help/data-dictionary.md @@ -3,7 +3,7 @@ title: FinOps toolkit data dictionary description: This article describes the column names found in FinOps toolkit solutions, including columns from Cost Management and FOCUS. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/errors.md b/docs-mslearn/toolkit/help/errors.md index 6d193acfc..95ae5e567 100644 --- a/docs-mslearn/toolkit/help/errors.md +++ b/docs-mslearn/toolkit/help/errors.md @@ -3,7 +3,7 @@ title: Troubleshoot common FinOps toolkit errors description: This article describes common FinOps toolkit errors and provides solutions to help you resolve issues you might encounter. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/deploy.md b/docs-mslearn/toolkit/hubs/deploy.md index 1038e8af3..7b2d95c23 100644 --- a/docs-mslearn/toolkit/hubs/deploy.md +++ b/docs-mslearn/toolkit/hubs/deploy.md @@ -3,7 +3,7 @@ title: How to create and update FinOps hubs description: This tutorial helps you create a new or update an existing FinOps hubs instance in Azure or Microsoft Fabric. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md index 3c4c7c9d9..262569749 100644 --- a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md +++ b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md @@ -3,7 +3,7 @@ title: FinOps hubs overview description: FinOps hubs provide a reliable platform for cost analytics, insights, and optimization, supporting large accounts and organizations. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/overview.md b/docs-mslearn/toolkit/optimization-engine/overview.md index ab9de3ed8..a1ae83faa 100644 --- a/docs-mslearn/toolkit/optimization-engine/overview.md +++ b/docs-mslearn/toolkit/optimization-engine/overview.md @@ -3,7 +3,7 @@ title: Get started with the Azure Optimization Engine description: The Azure Optimization Engine (AOE) is an extensible solution designed to generate optimization recommendations for your Azure environment. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/reports.md b/docs-mslearn/toolkit/optimization-engine/reports.md index 0eae1c4e6..b97e7cd61 100644 --- a/docs-mslearn/toolkit/optimization-engine/reports.md +++ b/docs-mslearn/toolkit/optimization-engine/reports.md @@ -3,7 +3,7 @@ title: Azure optimization engine reports description: Visualize the Azure Optimization Engine's rich recommendations and insights through various reporting options, including Power BI reports. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/setup-options.md b/docs-mslearn/toolkit/optimization-engine/setup-options.md index c5018e3f6..2dd0fb8b6 100644 --- a/docs-mslearn/toolkit/optimization-engine/setup-options.md +++ b/docs-mslearn/toolkit/optimization-engine/setup-options.md @@ -3,7 +3,7 @@ title: Setup options description: This article describes advance scenarios for setting up or upgrading Azure optimization engine (AOE). author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md index 1659bd707..e29167bf8 100644 --- a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md +++ b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md @@ -3,7 +3,7 @@ title: Suppress recommendations description: Learn how to adjust the Azure Optimization Engine recommendation results for your environment characteristics by suppressing irrelevant recommendations. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md index 0b709f59a..72fe87e46 100644 --- a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md +++ b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md @@ -3,7 +3,7 @@ title: Troubleshoot Azure Optimization Engine issues description: This article helps you troubleshoot common issues with Azure Optimization Engine deployment and runtime. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/power-bi/reports.md b/docs-mslearn/toolkit/power-bi/reports.md index d15d3b995..4d799bfa3 100644 --- a/docs-mslearn/toolkit/power-bi/reports.md +++ b/docs-mslearn/toolkit/power-bi/reports.md @@ -3,7 +3,7 @@ title: FinOps toolkit Power BI reports description: Learn about the Power BI reports in the FinOps toolkit to customize and enhance your FinOps reporting and connect to Cost Management exports or FinOps hubs. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/power-bi/workload-optimization.md b/docs-mslearn/toolkit/power-bi/workload-optimization.md index b8ee2f3ea..c908d11bd 100644 --- a/docs-mslearn/toolkit/power-bi/workload-optimization.md +++ b/docs-mslearn/toolkit/power-bi/workload-optimization.md @@ -3,7 +3,7 @@ title: FinOps toolkit Usage optimization report description: Learn about the Usage optimization report, which identifies opportunities for rightsizing and removing unused resources to enhance efficiency. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md index 594b2178e..4976bfed0 100644 --- a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md +++ b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md @@ -3,7 +3,7 @@ title: Deploy FinOps workbooks description: FinOps workbooks are Azure Monitor workbooks that help you implement FinOps capabilities, including optimization and governance, to achieve your FinOps goals. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/governance.md b/docs-mslearn/toolkit/workbooks/governance.md index fcbb5b9d6..832b2fa75 100644 --- a/docs-mslearn/toolkit/workbooks/governance.md +++ b/docs-mslearn/toolkit/workbooks/governance.md @@ -3,7 +3,7 @@ title: Governance workbook description: Azure Monitor workbook focused on governance, providing an overview of your Azure environment's governance posture and compliance. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/optimization.md b/docs-mslearn/toolkit/workbooks/optimization.md index 6828bcda1..c9822bb87 100644 --- a/docs-mslearn/toolkit/workbooks/optimization.md +++ b/docs-mslearn/toolkit/workbooks/optimization.md @@ -3,7 +3,7 @@ title: FinOps toolkit Optimization workbook description: The Azure Monitor workbook focuses on cost optimization, providing insights and recommendations for improving cost efficiency in your Azure environment. author: flanakin ms.author: micflan -ms.date: 06/03/2026 +ms.date: 06/04/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit From 1fb9304e15e370ad87fd78c136d8574a3b765142 Mon Sep 17 00:00:00 2001 From: msbrett Date: Fri, 5 Jun 2026 01:51:22 -0700 Subject: [PATCH 06/12] docs: add changelog for naming updates Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs-mslearn/toolkit/changelog.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docs-mslearn/toolkit/changelog.md b/docs-mslearn/toolkit/changelog.md index 04f1298d2..b441c6f11 100644 --- a/docs-mslearn/toolkit/changelog.md +++ b/docs-mslearn/toolkit/changelog.md @@ -3,7 +3,7 @@ title: FinOps toolkit changelog description: Review the latest features and enhancements in the FinOps toolkit, including updates to FinOps hubs, Power BI reports, and more. author: MSBrett ms.author: brettwil -ms.date: 05/19/2026 +ms.date: 06/05/2026 ms.topic: reference ms.service: finops ms.subservice: finops-toolkit @@ -35,6 +35,9 @@ _Released June 2026_ ### [Implementing FinOps guide](../implementing-finops-guide.md) v15 +- **Changed** + - Aligned FinOps Framework capability names and links across guidance to current FinOps Framework terminology, including Usage optimization and Governance, Policy & Risk ([#2170](https://github.com/microsoft/finops-toolkit/pull/2170)). + - **Fixed** - Corrected stale and incorrect descriptions for `BilledCost`, `EffectiveCost`, `BillingCurrency`, `BillingProfileId`, `BillingProfileName`, `CommitmentDiscountQuantity`, `ListUnitPrice`, `PricingQuantity`, `PricingUnitDescription`, and `TotalSavingsRunningTotal` in the [data dictionary](help/data-dictionary.md) to align with FOCUS 1.2 ([#2112](https://github.com/microsoft/finops-toolkit/pull/2112)). @@ -50,6 +53,16 @@ _Released June 2026_ - **Changed** - Added a callout to the `config_RunBackfillJob` backfill option clarifying that it isn't supported on Microsoft Customer Agreement (MCA) billing accounts or billing profiles ([#2113](https://github.com/microsoft/finops-toolkit/issues/2113)). +### [Power BI reports](power-bi/reports.md) v15 + +- **Changed** + - Updated report labels and documentation to use current FinOps Framework capability names, including Usage optimization and Governance, Policy & Risk ([#2170](https://github.com/microsoft/finops-toolkit/pull/2170)). + +### [FinOps workbooks](workbooks/finops-workbooks-overview.md) v15 + +- **Changed** + - Updated workbook labels and documentation to use current FinOps Framework capability names, including Usage optimization and Governance, Policy & Risk ([#2170](https://github.com/microsoft/finops-toolkit/pull/2170)). + ### [Data dictionary](help/data-dictionary.md) updates - **Fixed** From fdf09fae9b283e4e0bc661b158b4e3ec7cd7dfc3 Mon Sep 17 00:00:00 2001 From: msbrett Date: Fri, 5 Jun 2026 02:00:47 -0700 Subject: [PATCH 07/12] fix(docs): refresh Learn changelog dates Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs-mslearn/conduct-iteration.md | 2 +- docs-mslearn/framework/capabilities.md | 2 +- docs-mslearn/framework/finops-framework.md | 2 +- docs-mslearn/framework/manage/governance.md | 2 +- docs-mslearn/framework/manage/manage-finops.md | 2 +- docs-mslearn/framework/manage/onboarding.md | 2 +- docs-mslearn/framework/optimize/architecting.md | 2 +- docs-mslearn/framework/optimize/licensing.md | 2 +- docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md | 2 +- docs-mslearn/framework/optimize/rates.md | 2 +- docs-mslearn/framework/optimize/sustainability.md | 2 +- docs-mslearn/framework/optimize/workloads.md | 2 +- docs-mslearn/framework/quantify/benchmarking.md | 2 +- docs-mslearn/framework/quantify/planning.md | 2 +- docs-mslearn/framework/understand/allocation.md | 2 +- docs-mslearn/toolkit/alerts/configure-finops-alerts.md | 2 +- docs-mslearn/toolkit/alerts/finops-alerts-overview.md | 2 +- docs-mslearn/toolkit/help/data-dictionary.md | 2 +- docs-mslearn/toolkit/help/errors.md | 2 +- docs-mslearn/toolkit/hubs/deploy.md | 2 +- docs-mslearn/toolkit/hubs/finops-hubs-overview.md | 2 +- docs-mslearn/toolkit/optimization-engine/overview.md | 2 +- docs-mslearn/toolkit/optimization-engine/reports.md | 2 +- docs-mslearn/toolkit/optimization-engine/setup-options.md | 2 +- .../toolkit/optimization-engine/suppress-recommendations.md | 2 +- docs-mslearn/toolkit/optimization-engine/troubleshooting.md | 2 +- docs-mslearn/toolkit/power-bi/reports.md | 2 +- docs-mslearn/toolkit/power-bi/workload-optimization.md | 2 +- docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md | 2 +- docs-mslearn/toolkit/workbooks/governance.md | 2 +- docs-mslearn/toolkit/workbooks/optimization.md | 2 +- 31 files changed, 31 insertions(+), 31 deletions(-) diff --git a/docs-mslearn/conduct-iteration.md b/docs-mslearn/conduct-iteration.md index fdde0b9bf..8b8ce5976 100644 --- a/docs-mslearn/conduct-iteration.md +++ b/docs-mslearn/conduct-iteration.md @@ -3,7 +3,7 @@ title: Tutorial - Conduct an iteration description: This tutorial helps you learn how to take an iterative approach to FinOps adoption. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/capabilities.md b/docs-mslearn/framework/capabilities.md index 77bd68bab..d54088b2f 100644 --- a/docs-mslearn/framework/capabilities.md +++ b/docs-mslearn/framework/capabilities.md @@ -3,7 +3,7 @@ title: FinOps capabilities description: Learn about what the fundamental building blocks of the FinOps Framework that enable you to maximize business value through the cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/finops-framework.md b/docs-mslearn/framework/finops-framework.md index 0d2dea259..3a7766671 100644 --- a/docs-mslearn/framework/finops-framework.md +++ b/docs-mslearn/framework/finops-framework.md @@ -3,7 +3,7 @@ title: FinOps Framework overview description: 'Learn about what the FinOps Framework is and how you can use it to accelerate your cost management and optimization goals.' author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/governance.md b/docs-mslearn/framework/manage/governance.md index 2065f117f..14ae79055 100644 --- a/docs-mslearn/framework/manage/governance.md +++ b/docs-mslearn/framework/manage/governance.md @@ -3,7 +3,7 @@ title: Governance, Policy & Risk description: This article helps you understand the governance, policy, and risk capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/manage-finops.md b/docs-mslearn/framework/manage/manage-finops.md index 4e4dadd8c..af63bd3fe 100644 --- a/docs-mslearn/framework/manage/manage-finops.md +++ b/docs-mslearn/framework/manage/manage-finops.md @@ -3,7 +3,7 @@ title: Manage the FinOps practice description: Learn about the FinOps capabilities that help you establish your FinOps practice and drive organizational accountability. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/onboarding.md b/docs-mslearn/framework/manage/onboarding.md index d47a50a17..51edc0377 100644 --- a/docs-mslearn/framework/manage/onboarding.md +++ b/docs-mslearn/framework/manage/onboarding.md @@ -3,7 +3,7 @@ title: Onboarding workloads description: This article helps you understand the onboarding workloads capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/architecting.md b/docs-mslearn/framework/optimize/architecting.md index 4f3ab4af1..4e9b2fbdc 100644 --- a/docs-mslearn/framework/optimize/architecting.md +++ b/docs-mslearn/framework/optimize/architecting.md @@ -3,7 +3,7 @@ title: Architecting for cloud description: This article helps you understand the architecting for cloud capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/licensing.md b/docs-mslearn/framework/optimize/licensing.md index 196c9e2ce..658fa7ceb 100644 --- a/docs-mslearn/framework/optimize/licensing.md +++ b/docs-mslearn/framework/optimize/licensing.md @@ -3,7 +3,7 @@ title: Licensing and SaaS description: This article helps you understand the licensing and SaaS capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md index 236fa970a..a21adfbb1 100644 --- a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md +++ b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md @@ -3,7 +3,7 @@ title: Optimize usage and cost description: Learn about the FinOps capabilities that help you identify and implement the right mix of pricing models, services, and resources needed to meet business demands. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/rates.md b/docs-mslearn/framework/optimize/rates.md index 263cbf87f..63cdb2753 100644 --- a/docs-mslearn/framework/optimize/rates.md +++ b/docs-mslearn/framework/optimize/rates.md @@ -3,7 +3,7 @@ title: Rate optimization description: This article helps you understand the rate optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/sustainability.md b/docs-mslearn/framework/optimize/sustainability.md index d363ee9d6..29621c4f3 100644 --- a/docs-mslearn/framework/optimize/sustainability.md +++ b/docs-mslearn/framework/optimize/sustainability.md @@ -3,7 +3,7 @@ title: Cloud sustainability description: This article helps you understand the cloud sustainability capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/workloads.md b/docs-mslearn/framework/optimize/workloads.md index 7bb4668e1..f437dcce1 100644 --- a/docs-mslearn/framework/optimize/workloads.md +++ b/docs-mslearn/framework/optimize/workloads.md @@ -3,7 +3,7 @@ title: Usage optimization description: This article helps you understand the Usage optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/quantify/benchmarking.md b/docs-mslearn/framework/quantify/benchmarking.md index 6acf0d072..1243d653c 100644 --- a/docs-mslearn/framework/quantify/benchmarking.md +++ b/docs-mslearn/framework/quantify/benchmarking.md @@ -3,7 +3,7 @@ title: FinOps benchmarking description: This article helps you understand the benchmarking capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/quantify/planning.md b/docs-mslearn/framework/quantify/planning.md index 5bf2b723b..5ba1cb99f 100644 --- a/docs-mslearn/framework/quantify/planning.md +++ b/docs-mslearn/framework/quantify/planning.md @@ -3,7 +3,7 @@ title: Planning and estimating description: This article helps you understand the planning and estimating capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/understand/allocation.md b/docs-mslearn/framework/understand/allocation.md index e55341cf7..ba978436d 100644 --- a/docs-mslearn/framework/understand/allocation.md +++ b/docs-mslearn/framework/understand/allocation.md @@ -3,7 +3,7 @@ title: Allocation description: This article helps you understand the Allocation capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md index b0245322e..91df1b3f0 100644 --- a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md +++ b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md @@ -3,7 +3,7 @@ title: Configure FinOps alerts description: Learn how to configure and customize FinOps alerts to perform notifications and actions based on your organizational needs. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md index 6f91c4e40..f7844e103 100644 --- a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md +++ b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md @@ -3,7 +3,7 @@ title: FinOps alerts overview description: FinOps alerts accelerate cost optimization efforts with scheduled notifications that continuously monitor your cloud environment. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/data-dictionary.md b/docs-mslearn/toolkit/help/data-dictionary.md index 63abe134d..a0159bbfa 100644 --- a/docs-mslearn/toolkit/help/data-dictionary.md +++ b/docs-mslearn/toolkit/help/data-dictionary.md @@ -3,7 +3,7 @@ title: FinOps toolkit data dictionary description: This article describes the column names found in FinOps toolkit solutions, including columns from Cost Management and FOCUS. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/errors.md b/docs-mslearn/toolkit/help/errors.md index 95ae5e567..925d77ec3 100644 --- a/docs-mslearn/toolkit/help/errors.md +++ b/docs-mslearn/toolkit/help/errors.md @@ -3,7 +3,7 @@ title: Troubleshoot common FinOps toolkit errors description: This article describes common FinOps toolkit errors and provides solutions to help you resolve issues you might encounter. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/deploy.md b/docs-mslearn/toolkit/hubs/deploy.md index 7b2d95c23..3610e8759 100644 --- a/docs-mslearn/toolkit/hubs/deploy.md +++ b/docs-mslearn/toolkit/hubs/deploy.md @@ -3,7 +3,7 @@ title: How to create and update FinOps hubs description: This tutorial helps you create a new or update an existing FinOps hubs instance in Azure or Microsoft Fabric. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md index 262569749..62ceda391 100644 --- a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md +++ b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md @@ -3,7 +3,7 @@ title: FinOps hubs overview description: FinOps hubs provide a reliable platform for cost analytics, insights, and optimization, supporting large accounts and organizations. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/overview.md b/docs-mslearn/toolkit/optimization-engine/overview.md index a1ae83faa..c643a8160 100644 --- a/docs-mslearn/toolkit/optimization-engine/overview.md +++ b/docs-mslearn/toolkit/optimization-engine/overview.md @@ -3,7 +3,7 @@ title: Get started with the Azure Optimization Engine description: The Azure Optimization Engine (AOE) is an extensible solution designed to generate optimization recommendations for your Azure environment. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/reports.md b/docs-mslearn/toolkit/optimization-engine/reports.md index b97e7cd61..6974c7aa4 100644 --- a/docs-mslearn/toolkit/optimization-engine/reports.md +++ b/docs-mslearn/toolkit/optimization-engine/reports.md @@ -3,7 +3,7 @@ title: Azure optimization engine reports description: Visualize the Azure Optimization Engine's rich recommendations and insights through various reporting options, including Power BI reports. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/setup-options.md b/docs-mslearn/toolkit/optimization-engine/setup-options.md index 2dd0fb8b6..50f6888bd 100644 --- a/docs-mslearn/toolkit/optimization-engine/setup-options.md +++ b/docs-mslearn/toolkit/optimization-engine/setup-options.md @@ -3,7 +3,7 @@ title: Setup options description: This article describes advance scenarios for setting up or upgrading Azure optimization engine (AOE). author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md index e29167bf8..f6ad48c3f 100644 --- a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md +++ b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md @@ -3,7 +3,7 @@ title: Suppress recommendations description: Learn how to adjust the Azure Optimization Engine recommendation results for your environment characteristics by suppressing irrelevant recommendations. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md index 72fe87e46..54bf81efe 100644 --- a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md +++ b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md @@ -3,7 +3,7 @@ title: Troubleshoot Azure Optimization Engine issues description: This article helps you troubleshoot common issues with Azure Optimization Engine deployment and runtime. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/power-bi/reports.md b/docs-mslearn/toolkit/power-bi/reports.md index 4d799bfa3..b6a219500 100644 --- a/docs-mslearn/toolkit/power-bi/reports.md +++ b/docs-mslearn/toolkit/power-bi/reports.md @@ -3,7 +3,7 @@ title: FinOps toolkit Power BI reports description: Learn about the Power BI reports in the FinOps toolkit to customize and enhance your FinOps reporting and connect to Cost Management exports or FinOps hubs. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/power-bi/workload-optimization.md b/docs-mslearn/toolkit/power-bi/workload-optimization.md index c908d11bd..b60b73831 100644 --- a/docs-mslearn/toolkit/power-bi/workload-optimization.md +++ b/docs-mslearn/toolkit/power-bi/workload-optimization.md @@ -3,7 +3,7 @@ title: FinOps toolkit Usage optimization report description: Learn about the Usage optimization report, which identifies opportunities for rightsizing and removing unused resources to enhance efficiency. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md index 4976bfed0..7e14c412d 100644 --- a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md +++ b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md @@ -3,7 +3,7 @@ title: Deploy FinOps workbooks description: FinOps workbooks are Azure Monitor workbooks that help you implement FinOps capabilities, including optimization and governance, to achieve your FinOps goals. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/governance.md b/docs-mslearn/toolkit/workbooks/governance.md index 832b2fa75..27e8de5e4 100644 --- a/docs-mslearn/toolkit/workbooks/governance.md +++ b/docs-mslearn/toolkit/workbooks/governance.md @@ -3,7 +3,7 @@ title: Governance workbook description: Azure Monitor workbook focused on governance, providing an overview of your Azure environment's governance posture and compliance. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/optimization.md b/docs-mslearn/toolkit/workbooks/optimization.md index c9822bb87..d3dc66836 100644 --- a/docs-mslearn/toolkit/workbooks/optimization.md +++ b/docs-mslearn/toolkit/workbooks/optimization.md @@ -3,7 +3,7 @@ title: FinOps toolkit Optimization workbook description: The Azure Monitor workbook focuses on cost optimization, providing insights and recommendations for improving cost efficiency in your Azure environment. author: flanakin ms.author: micflan -ms.date: 06/04/2026 +ms.date: 06/05/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit From 7358e8e559f4bf67c1d30466134ceb6a0b9ee698 Mon Sep 17 00:00:00 2001 From: msbrett Date: Wed, 17 Jun 2026 11:27:35 -0700 Subject: [PATCH 08/12] fix(docs): address PR #2170 review findings - Remove broken yaml-to-deck GitHub links (lines 82, 166) - Removed PowerPoint template reference (non-existent path) - Removed lint.py reference (non-existent path) - Kept Power BI theme reference (actual file exists) - Update ms.date to 06/17/2026 in 31 docs-mslearn files (was 06/05/2026, stale by 12 days) - Genericize brand.md: replace SRE Agent examples with product-neutral patterns - Line 113: Changed 'FinOps toolkit SRE Agent' to generic placeholder - Line 135: Replaced SRE-specific examples with placeholders - Line 159: Changed anaphora example from 'Azure SRE Agent' to generic 'Azure Data Explorer' - Line 184-192: Replaced all SRE Agent examples in page title table with Azure Data Explorer - Line 200-204: Updated anaphora short form table (removed SRE Agent, added Power BI) - Line 206: Generic 'product vs component' instead of 'agent vs subagent' - Line 210: Replaced SRE Agent in pattern list with generic products - Line 216: Changed 'subagents' to 'agents' (generic term) - Line 124: Changed URL example from SRE Agent to Azure Data Explorer - Line 240: Generic placeholder in external contributor guidance Brand guidance now provides product-neutral patterns reusable across all FinOps toolkit integrations, not coupled to SRE Agent work (PR #2168). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs-mslearn/framework/capabilities.md | 2 +- docs-mslearn/framework/finops-framework.md | 2 +- docs-mslearn/framework/manage/governance.md | 2 +- .../framework/manage/manage-finops.md | 2 +- docs-mslearn/framework/manage/onboarding.md | 2 +- .../framework/optimize/architecting.md | 2 +- docs-mslearn/framework/optimize/licensing.md | 2 +- .../optimize/optimize-cloud-usage-cost.md | 2 +- docs-mslearn/framework/optimize/rates.md | 2 +- .../framework/optimize/sustainability.md | 2 +- docs-mslearn/framework/optimize/workloads.md | 2 +- .../framework/quantify/benchmarking.md | 2 +- docs-mslearn/framework/quantify/planning.md | 2 +- .../framework/understand/allocation.md | 2 +- .../toolkit/alerts/configure-finops-alerts.md | 2 +- .../toolkit/alerts/finops-alerts-overview.md | 2 +- docs-mslearn/toolkit/changelog.md | 2 +- docs-mslearn/toolkit/help/data-dictionary.md | 2 +- docs-mslearn/toolkit/help/errors.md | 2 +- docs-mslearn/toolkit/hubs/deploy.md | 2 +- .../toolkit/hubs/finops-hubs-overview.md | 2 +- .../toolkit/optimization-engine/overview.md | 2 +- .../toolkit/optimization-engine/reports.md | 2 +- .../optimization-engine/setup-options.md | 2 +- .../suppress-recommendations.md | 2 +- .../optimization-engine/troubleshooting.md | 2 +- docs-mslearn/toolkit/power-bi/reports.md | 2 +- .../toolkit/power-bi/workload-optimization.md | 2 +- .../workbooks/finops-workbooks-overview.md | 2 +- docs-mslearn/toolkit/workbooks/governance.md | 2 +- .../toolkit/workbooks/optimization.md | 2 +- docs/brand.md | 43 +++++++++---------- 32 files changed, 52 insertions(+), 53 deletions(-) diff --git a/docs-mslearn/framework/capabilities.md b/docs-mslearn/framework/capabilities.md index d54088b2f..61526ac07 100644 --- a/docs-mslearn/framework/capabilities.md +++ b/docs-mslearn/framework/capabilities.md @@ -3,7 +3,7 @@ title: FinOps capabilities description: Learn about what the fundamental building blocks of the FinOps Framework that enable you to maximize business value through the cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/finops-framework.md b/docs-mslearn/framework/finops-framework.md index 3a7766671..0ba9c2db1 100644 --- a/docs-mslearn/framework/finops-framework.md +++ b/docs-mslearn/framework/finops-framework.md @@ -3,7 +3,7 @@ title: FinOps Framework overview description: 'Learn about what the FinOps Framework is and how you can use it to accelerate your cost management and optimization goals.' author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/governance.md b/docs-mslearn/framework/manage/governance.md index 14ae79055..bafd66ef9 100644 --- a/docs-mslearn/framework/manage/governance.md +++ b/docs-mslearn/framework/manage/governance.md @@ -3,7 +3,7 @@ title: Governance, Policy & Risk description: This article helps you understand the governance, policy, and risk capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/manage-finops.md b/docs-mslearn/framework/manage/manage-finops.md index af63bd3fe..7c7985b15 100644 --- a/docs-mslearn/framework/manage/manage-finops.md +++ b/docs-mslearn/framework/manage/manage-finops.md @@ -3,7 +3,7 @@ title: Manage the FinOps practice description: Learn about the FinOps capabilities that help you establish your FinOps practice and drive organizational accountability. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/manage/onboarding.md b/docs-mslearn/framework/manage/onboarding.md index 51edc0377..cc111d393 100644 --- a/docs-mslearn/framework/manage/onboarding.md +++ b/docs-mslearn/framework/manage/onboarding.md @@ -3,7 +3,7 @@ title: Onboarding workloads description: This article helps you understand the onboarding workloads capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/architecting.md b/docs-mslearn/framework/optimize/architecting.md index 4e9b2fbdc..ad4cd461f 100644 --- a/docs-mslearn/framework/optimize/architecting.md +++ b/docs-mslearn/framework/optimize/architecting.md @@ -3,7 +3,7 @@ title: Architecting for cloud description: This article helps you understand the architecting for cloud capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/licensing.md b/docs-mslearn/framework/optimize/licensing.md index 658fa7ceb..00577a5c5 100644 --- a/docs-mslearn/framework/optimize/licensing.md +++ b/docs-mslearn/framework/optimize/licensing.md @@ -3,7 +3,7 @@ title: Licensing and SaaS description: This article helps you understand the licensing and SaaS capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md index a21adfbb1..d5f0b2903 100644 --- a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md +++ b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md @@ -3,7 +3,7 @@ title: Optimize usage and cost description: Learn about the FinOps capabilities that help you identify and implement the right mix of pricing models, services, and resources needed to meet business demands. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/rates.md b/docs-mslearn/framework/optimize/rates.md index 63cdb2753..1cc1deaa6 100644 --- a/docs-mslearn/framework/optimize/rates.md +++ b/docs-mslearn/framework/optimize/rates.md @@ -3,7 +3,7 @@ title: Rate optimization description: This article helps you understand the rate optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/sustainability.md b/docs-mslearn/framework/optimize/sustainability.md index 29621c4f3..c63ac1534 100644 --- a/docs-mslearn/framework/optimize/sustainability.md +++ b/docs-mslearn/framework/optimize/sustainability.md @@ -3,7 +3,7 @@ title: Cloud sustainability description: This article helps you understand the cloud sustainability capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/workloads.md b/docs-mslearn/framework/optimize/workloads.md index f437dcce1..ffa348d35 100644 --- a/docs-mslearn/framework/optimize/workloads.md +++ b/docs-mslearn/framework/optimize/workloads.md @@ -3,7 +3,7 @@ title: Usage optimization description: This article helps you understand the Usage optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/quantify/benchmarking.md b/docs-mslearn/framework/quantify/benchmarking.md index 1243d653c..cd839d05a 100644 --- a/docs-mslearn/framework/quantify/benchmarking.md +++ b/docs-mslearn/framework/quantify/benchmarking.md @@ -3,7 +3,7 @@ title: FinOps benchmarking description: This article helps you understand the benchmarking capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/quantify/planning.md b/docs-mslearn/framework/quantify/planning.md index 5ba1cb99f..5de714195 100644 --- a/docs-mslearn/framework/quantify/planning.md +++ b/docs-mslearn/framework/quantify/planning.md @@ -3,7 +3,7 @@ title: Planning and estimating description: This article helps you understand the planning and estimating capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/understand/allocation.md b/docs-mslearn/framework/understand/allocation.md index ba978436d..4822bf813 100644 --- a/docs-mslearn/framework/understand/allocation.md +++ b/docs-mslearn/framework/understand/allocation.md @@ -3,7 +3,7 @@ title: Allocation description: This article helps you understand the Allocation capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md index 91df1b3f0..1c6f86f39 100644 --- a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md +++ b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md @@ -3,7 +3,7 @@ title: Configure FinOps alerts description: Learn how to configure and customize FinOps alerts to perform notifications and actions based on your organizational needs. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md index f7844e103..f59d4275b 100644 --- a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md +++ b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md @@ -3,7 +3,7 @@ title: FinOps alerts overview description: FinOps alerts accelerate cost optimization efforts with scheduled notifications that continuously monitor your cloud environment. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/changelog.md b/docs-mslearn/toolkit/changelog.md index b441c6f11..4aa219595 100644 --- a/docs-mslearn/toolkit/changelog.md +++ b/docs-mslearn/toolkit/changelog.md @@ -3,7 +3,7 @@ title: FinOps toolkit changelog description: Review the latest features and enhancements in the FinOps toolkit, including updates to FinOps hubs, Power BI reports, and more. author: MSBrett ms.author: brettwil -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: reference ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/data-dictionary.md b/docs-mslearn/toolkit/help/data-dictionary.md index a0159bbfa..712f0b20a 100644 --- a/docs-mslearn/toolkit/help/data-dictionary.md +++ b/docs-mslearn/toolkit/help/data-dictionary.md @@ -3,7 +3,7 @@ title: FinOps toolkit data dictionary description: This article describes the column names found in FinOps toolkit solutions, including columns from Cost Management and FOCUS. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/errors.md b/docs-mslearn/toolkit/help/errors.md index 925d77ec3..68eee54cf 100644 --- a/docs-mslearn/toolkit/help/errors.md +++ b/docs-mslearn/toolkit/help/errors.md @@ -3,7 +3,7 @@ title: Troubleshoot common FinOps toolkit errors description: This article describes common FinOps toolkit errors and provides solutions to help you resolve issues you might encounter. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/deploy.md b/docs-mslearn/toolkit/hubs/deploy.md index 3610e8759..07e4ab136 100644 --- a/docs-mslearn/toolkit/hubs/deploy.md +++ b/docs-mslearn/toolkit/hubs/deploy.md @@ -3,7 +3,7 @@ title: How to create and update FinOps hubs description: This tutorial helps you create a new or update an existing FinOps hubs instance in Azure or Microsoft Fabric. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md index 62ceda391..b8c1f55d6 100644 --- a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md +++ b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md @@ -3,7 +3,7 @@ title: FinOps hubs overview description: FinOps hubs provide a reliable platform for cost analytics, insights, and optimization, supporting large accounts and organizations. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/overview.md b/docs-mslearn/toolkit/optimization-engine/overview.md index c643a8160..3a30f101c 100644 --- a/docs-mslearn/toolkit/optimization-engine/overview.md +++ b/docs-mslearn/toolkit/optimization-engine/overview.md @@ -3,7 +3,7 @@ title: Get started with the Azure Optimization Engine description: The Azure Optimization Engine (AOE) is an extensible solution designed to generate optimization recommendations for your Azure environment. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/reports.md b/docs-mslearn/toolkit/optimization-engine/reports.md index 6974c7aa4..faa471aa5 100644 --- a/docs-mslearn/toolkit/optimization-engine/reports.md +++ b/docs-mslearn/toolkit/optimization-engine/reports.md @@ -3,7 +3,7 @@ title: Azure optimization engine reports description: Visualize the Azure Optimization Engine's rich recommendations and insights through various reporting options, including Power BI reports. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/setup-options.md b/docs-mslearn/toolkit/optimization-engine/setup-options.md index 50f6888bd..8f98158ec 100644 --- a/docs-mslearn/toolkit/optimization-engine/setup-options.md +++ b/docs-mslearn/toolkit/optimization-engine/setup-options.md @@ -3,7 +3,7 @@ title: Setup options description: This article describes advance scenarios for setting up or upgrading Azure optimization engine (AOE). author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md index f6ad48c3f..a5e30f831 100644 --- a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md +++ b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md @@ -3,7 +3,7 @@ title: Suppress recommendations description: Learn how to adjust the Azure Optimization Engine recommendation results for your environment characteristics by suppressing irrelevant recommendations. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md index 54bf81efe..b14bbc12a 100644 --- a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md +++ b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md @@ -3,7 +3,7 @@ title: Troubleshoot Azure Optimization Engine issues description: This article helps you troubleshoot common issues with Azure Optimization Engine deployment and runtime. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/power-bi/reports.md b/docs-mslearn/toolkit/power-bi/reports.md index b6a219500..b1fbaeb53 100644 --- a/docs-mslearn/toolkit/power-bi/reports.md +++ b/docs-mslearn/toolkit/power-bi/reports.md @@ -3,7 +3,7 @@ title: FinOps toolkit Power BI reports description: Learn about the Power BI reports in the FinOps toolkit to customize and enhance your FinOps reporting and connect to Cost Management exports or FinOps hubs. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/power-bi/workload-optimization.md b/docs-mslearn/toolkit/power-bi/workload-optimization.md index b60b73831..8c81c0045 100644 --- a/docs-mslearn/toolkit/power-bi/workload-optimization.md +++ b/docs-mslearn/toolkit/power-bi/workload-optimization.md @@ -3,7 +3,7 @@ title: FinOps toolkit Usage optimization report description: Learn about the Usage optimization report, which identifies opportunities for rightsizing and removing unused resources to enhance efficiency. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md index 7e14c412d..83bd32f80 100644 --- a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md +++ b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md @@ -3,7 +3,7 @@ title: Deploy FinOps workbooks description: FinOps workbooks are Azure Monitor workbooks that help you implement FinOps capabilities, including optimization and governance, to achieve your FinOps goals. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/governance.md b/docs-mslearn/toolkit/workbooks/governance.md index 27e8de5e4..c43bd738e 100644 --- a/docs-mslearn/toolkit/workbooks/governance.md +++ b/docs-mslearn/toolkit/workbooks/governance.md @@ -3,7 +3,7 @@ title: Governance workbook description: Azure Monitor workbook focused on governance, providing an overview of your Azure environment's governance posture and compliance. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/optimization.md b/docs-mslearn/toolkit/workbooks/optimization.md index d3dc66836..ed04a3a53 100644 --- a/docs-mslearn/toolkit/workbooks/optimization.md +++ b/docs-mslearn/toolkit/workbooks/optimization.md @@ -3,7 +3,7 @@ title: FinOps toolkit Optimization workbook description: The Azure Monitor workbook focuses on cost optimization, providing insights and recommendations for improving cost efficiency in your Azure environment. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs/brand.md b/docs/brand.md index 24b5a5a85..9f9ba1425 100644 --- a/docs/brand.md +++ b/docs/brand.md @@ -79,8 +79,7 @@ Do not create custom logo lockups that combine "FinOps toolkit" with another Mic | Asset | Where it lives | When to use | |---|---|---| -| Branded PowerPoint template | [`yaml-to-deck/assets/source-template.pptx`](https://github.com/microsoft/finops-toolkit/tree/main/.copilot/skills/yaml-to-deck/assets) | All training decks and customer-facing presentations | -| Power BI theme | `src/power-bi/**/Microsoft_FinOps_light_theme*.json` | All Power BI reports shipped with the toolkit | +| Power BI theme | `src/power-bi/FinOpsToolkitLight.json` | All Power BI reports shipped with the toolkit | If you need a layout the template doesn't have, extend it. Don't fork it into a new template. @@ -110,7 +109,7 @@ Do not coin new product names by combining the FinOps toolkit name with another | Don't write | Write instead | |---|---| -| FinOps toolkit SRE Agent | Azure SRE Agent (when you mean the Microsoft product) — or describe the toolkit's role: "the FinOps toolkit deploys Azure SRE Agent…" | +| FinOps toolkit \ | \ (when you mean the Microsoft product) — or describe the toolkit's role: "the FinOps toolkit deploys \…" | | FinOps toolkit Cost Management | Microsoft Cost Management (the product) — or "the FinOps toolkit's Cost Management exports configuration" | | FinOps toolkit Power BI service | Power BI service (the product) — or "FinOps toolkit Power BI reports" | @@ -122,7 +121,7 @@ Use lowercase, hyphen-separated slugs for everything in the repo: `finops-hubs`, ### URLs and references -When linking to a Microsoft product page, use the bare product name as the link text: `[Azure SRE Agent](https://learn.microsoft.com/azure/sre-agent/overview)`. When linking to FinOps toolkit pages about that product, include "FinOps toolkit" in the link text to disambiguate: `[Azure SRE Agent in the FinOps toolkit](https://learn.microsoft.com/cloud-computing/finops/toolkit/sre-agent/overview)`. +When linking to a Microsoft product page, use the bare product name as the link text: `[Azure Data Explorer](https://learn.microsoft.com/azure/data-explorer/overview)`. When linking to FinOps toolkit pages about that product, include "FinOps toolkit" in the link text to disambiguate: `[Azure Data Explorer in the FinOps toolkit](https://learn.microsoft.com/cloud-computing/finops/toolkit/data-explorer/overview)`. Reusing identical link text for two different destinations confuses readers and screen readers. Always disambiguate. @@ -132,14 +131,14 @@ Reusing identical link text for two different destinations confuses readers and ### Subject framing — most important rule -The FinOps toolkit is a configuration layer. The Microsoft products it deploys (Azure SRE Agent, Microsoft Cost Management, Azure Data Explorer, Power BI, etc.) are runtimes. **Keep the two distinct in every sentence.** +The FinOps toolkit is a configuration layer. The Microsoft products it deploys (Microsoft Cost Management, Azure Data Explorer, Power BI, etc.) are runtimes. **Keep the two distinct in every sentence.** Use the toolkit, the deployment, or the template as the subject when describing toolkit-specific behavior: | Don't write (over-attributes to the Microsoft product) | Write instead (anchors to the toolkit) | |---|---| -| "Azure SRE Agent includes 21 Kusto tools." | "The FinOps toolkit deployment configures Azure SRE Agent with 21 Kusto tools." | -| "Azure SRE Agent uses scheduled tasks to run weekly cost reviews." | "The FinOps toolkit ships scheduled tasks that run weekly cost reviews on Azure SRE Agent." | +| "\ includes 21 Kusto tools." | "The FinOps toolkit deployment configures \ with 21 Kusto tools." | +| "\ uses scheduled tasks to run weekly cost reviews." | "The FinOps toolkit ships scheduled tasks that run weekly cost reviews on \." | | "Microsoft Cost Management exports billing data to FinOps hubs." | "The FinOps toolkit configures Microsoft Cost Management exports and lands the data in FinOps hubs." | | "Power BI shows cost anomalies." | "FinOps toolkit Power BI reports show cost anomalies on top of the Power BI service." | @@ -157,13 +156,13 @@ The toolkit follows the [Microsoft Style Guide](https://learn.microsoft.com/styl - **Use sentence-style capitalization** for headings, titles, slide titles, table headers, and bullet labels. Reserve title case for proper nouns. - **Lead with verbs.** Avoid "There is" / "There are" openers. - **Include the small words.** "Use the agent to deploy" reads better than "Use agent to deploy" — keep articles for clarity and machine-translation friendliness. -- **Anaphora.** First mention spells out the full name; later references use a short form. After "Azure SRE Agent", subsequent references can use "the agent" if the antecedent is clear within the same paragraph or visible scope. +- **Anaphora.** First mention spells out the full name; later references use a short form. After a product name like "Azure Data Explorer", subsequent references can use a shorter form like "the cluster" or "the service" if the antecedent is clear within the same paragraph or visible scope. - **One sentence, one idea.** Split semicolon run-ons. -- **Don't prescribe action.** Say what something does, not what the reader must do. "The agent runs daily" is better than "You should run the agent daily." +- **Don't prescribe action.** Say what something does, not what the reader must do. "The service runs daily" is better than "You should run the service daily." ### Forbidden phrases -The lint pipeline at [`yaml-to-deck/scripts/lint.py`](https://github.com/microsoft/finops-toolkit/blob/main/.copilot/skills/yaml-to-deck/scripts/lint.py) flags these in any deck source: +Avoid these in any documentation or customer-facing content: - Marketing fluff: "best-in-class", "world-class", "game-changer", "revolutionary" - Marketing absolutes: "this solves", "the entire answer" @@ -181,16 +180,16 @@ This section covers the cases where a brand-aware reading would catch a problem ### Page titles for product reference docs -When a FinOps toolkit page documents a Microsoft product the toolkit deploys (Azure SRE Agent, Microsoft Cost Management, Azure Data Explorer), the H1 and frontmatter title MUST NOT duplicate the official Microsoft product page title on Microsoft Learn. Use one of these disambiguation patterns based on doc type: +When a FinOps toolkit page documents a Microsoft product the toolkit deploys (Microsoft Cost Management, Azure Data Explorer, Power BI, etc.), the H1 and frontmatter title MUST NOT duplicate the official Microsoft product page title on Microsoft Learn. Use one of these disambiguation patterns based on doc type: | Doc type | Pattern | Example | |---|---|---| -| Concept / overview | ` in the FinOps toolkit` | `Azure SRE Agent in the FinOps toolkit` | -| How-to / tutorial | ` with the FinOps toolkit` | `Deploy Azure SRE Agent with the FinOps toolkit` | -| Quickstart / getting started | `Get started with the FinOps toolkit on ` | `Get started with the FinOps toolkit on Azure SRE Agent` | -| Reference (template, parameters) | ` reference (FinOps toolkit)` or ` (Azure SRE Agent in the FinOps toolkit)` | `Azure SRE Agent template reference (FinOps toolkit)` | -| Troubleshooting | `Troubleshoot deployments from the FinOps toolkit` | `Troubleshoot Azure SRE Agent deployments from the FinOps toolkit` | -| Subtopic of a product reference | ` (Azure SRE Agent in the FinOps toolkit)` | `Scheduled tasks (Azure SRE Agent in the FinOps toolkit)` | +| Concept / overview | ` in the FinOps toolkit` | `Azure Data Explorer in the FinOps toolkit` | +| How-to / tutorial | ` with the FinOps toolkit` | `Deploy Azure Data Explorer with the FinOps toolkit` | +| Quickstart / getting started | `Get started with the FinOps toolkit on ` | `Get started with the FinOps toolkit on Azure Data Explorer` | +| Reference (template, parameters) | ` reference (FinOps toolkit)` or ` ( in the FinOps toolkit)` | `Template reference (FinOps toolkit)` | +| Troubleshooting | `Troubleshoot deployments from the FinOps toolkit` | `Troubleshoot Azure Data Explorer deployments from the FinOps toolkit` | +| Subtopic of a product reference | ` ( in the FinOps toolkit)` | `Scheduled tasks (Azure Data Explorer in the FinOps toolkit)` | If the doc does not document a Microsoft product directly (e.g., generic Kusto or Python tool reference whose title is a class name), use the bare title and let the parent page disambiguate. @@ -200,21 +199,21 @@ After the first body mention of a Microsoft product, subsequent references in th | First mention (full) | Short form (subsequent in same page) | |---|---| -| Azure SRE Agent | the agent | | Microsoft Cost Management | Cost Management | | Azure Data Explorer | the cluster (when referring to the user's specific instance) or Azure Data Explorer | +| Power BI service | Power BI | -The short form must be unambiguous in scope. If two competing antecedents exist (e.g., the agent product vs a subagent), spell out the full name. +The short form must be unambiguous in scope. If two competing antecedents exist (e.g., a product vs a component), spell out the full name. ### When the toolkit deploys a Microsoft product -Pattern: the FinOps toolkit ships an `azd up`-able template plus configuration for a Microsoft Azure product (Azure SRE Agent, Azure Data Explorer, Microsoft Cost Management exports). +Pattern: the FinOps toolkit ships an `azd up`-able template plus configuration for a Microsoft Azure product (Azure Data Explorer, Microsoft Cost Management exports, Power BI, etc.). Rules: 1. The first mention of the Microsoft product on each page links to the official Microsoft Learn page for that product. 2. The page title and H1 follow the disambiguation patterns above. -3. When listing components the toolkit ships (subagents, scheduled tasks, knowledge files, Bicep modules, Kusto functions), the subject of the sentence is the toolkit or the template — not the Microsoft product. +3. When listing components the toolkit ships (agents, scheduled tasks, knowledge files, Bicep modules, Kusto functions), the subject of the sentence is the toolkit or the template — not the Microsoft product. 4. When listing platform capabilities the Microsoft product provides (managed identity, RBAC, scheduled task runtime, query engine), the subject is the Microsoft product. ### When the toolkit reads from or writes to a Microsoft product @@ -238,7 +237,7 @@ Use Crawl/Walk/Run when discussing maturity. Use the official capability names ( This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark and Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks/). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies. -External contributors: when in doubt, prefer descriptive language ("works with Azure SRE Agent") over derivative naming ("FinOps Azure SRE Agent"). The descriptive form is always brand-safe; the derivative form requires CELA review. +External contributors: when in doubt, prefer descriptive language ("works with \") over derivative naming ("FinOps \"). The descriptive form is always brand-safe; the derivative form requires CELA review. --- From bef51fdc4b3947dbe5b722952bfffc794294043c Mon Sep 17 00:00:00 2001 From: msbrett Date: Wed, 17 Jun 2026 11:35:31 -0700 Subject: [PATCH 09/12] fix(docs): resolve ms.date merge markers (keep today's date) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs-mslearn/toolkit/changelog.md | 4 ---- docs-mslearn/toolkit/help/errors.md | 4 ---- docs-mslearn/toolkit/hubs/deploy.md | 4 ---- 3 files changed, 12 deletions(-) diff --git a/docs-mslearn/toolkit/changelog.md b/docs-mslearn/toolkit/changelog.md index 3d935ab79..42a5d0288 100644 --- a/docs-mslearn/toolkit/changelog.md +++ b/docs-mslearn/toolkit/changelog.md @@ -3,11 +3,7 @@ title: FinOps toolkit changelog description: Review the latest features and enhancements in the FinOps toolkit, including updates to FinOps hubs, Power BI reports, and more. author: MSBrett ms.author: brettwil -<<<<<<< HEAD ms.date: 06/17/2026 -======= -ms.date: 05/26/2026 ->>>>>>> origin/dev ms.topic: reference ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/errors.md b/docs-mslearn/toolkit/help/errors.md index 7e6b9762c..0db0f0132 100644 --- a/docs-mslearn/toolkit/help/errors.md +++ b/docs-mslearn/toolkit/help/errors.md @@ -3,11 +3,7 @@ title: Troubleshoot common FinOps toolkit errors description: This article describes common FinOps toolkit errors and provides solutions to help you resolve issues you might encounter. author: flanakin ms.author: micflan -<<<<<<< HEAD ms.date: 06/17/2026 -======= -ms.date: 06/03/2026 ->>>>>>> origin/dev ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/deploy.md b/docs-mslearn/toolkit/hubs/deploy.md index 54ad79119..3b04cf768 100644 --- a/docs-mslearn/toolkit/hubs/deploy.md +++ b/docs-mslearn/toolkit/hubs/deploy.md @@ -3,11 +3,7 @@ title: How to create and update FinOps hubs description: This tutorial helps you create a new or update an existing FinOps hubs instance in Azure or Microsoft Fabric. author: flanakin ms.author: micflan -<<<<<<< HEAD ms.date: 06/17/2026 -======= -ms.date: 06/03/2026 ->>>>>>> origin/dev ms.topic: tutorial ms.service: finops ms.subservice: finops-toolkit From 430eefaaa660962bb32b6f51fcd31d61baefbde1 Mon Sep 17 00:00:00 2001 From: MSBrett <24294904+MSBrett@users.noreply.github.com> Date: Wed, 17 Jun 2026 13:09:56 -0700 Subject: [PATCH 10/12] docs: address review feedback and refresh ms.date Correct optimize section copy, fix Invoicing report link segment in KQL and storage report.json, refine Build-PowerBI wording, fix Cost Management casing, and set ms.date to today for changed docs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs-mslearn/conduct-iteration.md | 2 +- docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md | 2 +- docs-mslearn/toolkit/help/errors.md | 2 +- src/power-bi/kql/Invoicing.Report/report.json | 2 +- src/power-bi/storage/Invoicing.Report/report.json | 2 +- src/scripts/Build-PowerBI.ps1 | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs-mslearn/conduct-iteration.md b/docs-mslearn/conduct-iteration.md index 8b8ce5976..eebdddf41 100644 --- a/docs-mslearn/conduct-iteration.md +++ b/docs-mslearn/conduct-iteration.md @@ -3,7 +3,7 @@ title: Tutorial - Conduct an iteration description: This tutorial helps you learn how to take an iterative approach to FinOps adoption. author: flanakin ms.author: micflan -ms.date: 06/05/2026 +ms.date: 06/17/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md index d5f0b2903..3289cad8f 100644 --- a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md +++ b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md @@ -30,7 +30,7 @@ To learn more, see [Architecting for the cloud](./architecting.md). ## Usage optimization -Onboarding workloads refers to the process of bringing new and existing applications into the cloud based on their financial and technical feasibility. With this capability, you analyze cost, usage, and carbon emissions for cloud workloads to identify opportunities to maximize efficiency. This capability usually starts with recommendations and expands into more nuanced optimization efforts based on detailed resource utilization analysis. This capability can be time and effort intensive as each cloud service has its different optimization opportunities. +Usage optimization focuses on analyzing cost, usage, and carbon emissions across cloud workloads to identify opportunities to maximize efficiency. This capability usually starts with recommendations and expands into more nuanced optimization efforts based on detailed resource utilization analysis. This capability can be time and effort intensive because each cloud service has different optimization opportunities. To learn more, see [Usage optimization](./workloads.md). diff --git a/docs-mslearn/toolkit/help/errors.md b/docs-mslearn/toolkit/help/errors.md index 0db0f0132..98dff53e5 100644 --- a/docs-mslearn/toolkit/help/errors.md +++ b/docs-mslearn/toolkit/help/errors.md @@ -392,7 +392,7 @@ Exports weren't found in the specified storage path. This billing scope type is not supported by managed exports. -**Mitigation**: Remove the unsupported billing scope from settings.json, confirm the billing scope is supported by FinOps hubs and manually create new Cost management exports for the billing scope. +**Mitigation**: Remove the unsupported billing scope from settings.json, confirm the billing scope is supported by FinOps hubs and manually create new Cost Management exports for the billing scope.
diff --git a/src/power-bi/kql/Invoicing.Report/report.json b/src/power-bi/kql/Invoicing.Report/report.json index 319bc02e1..a947a0978 100644 --- a/src/power-bi/kql/Invoicing.Report/report.json +++ b/src/power-bi/kql/Invoicing.Report/report.json @@ -3034,7 +3034,7 @@ "z": 1000.0 }, { - "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/storage/Invoicing.Report/report.json b/src/power-bi/storage/Invoicing.Report/report.json index 425a16680..c568e2ecb 100644 --- a/src/power-bi/storage/Invoicing.Report/report.json +++ b/src/power-bi/storage/Invoicing.Report/report.json @@ -920,7 +920,7 @@ "z": 3000.00 }, { - "config": "{\"name\":\"3b17519ee64f1d0bd78a\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"3b17519ee64f1d0bd78a\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/scripts/Build-PowerBI.ps1 b/src/scripts/Build-PowerBI.ps1 index ccaf969fd..a61faa497 100644 --- a/src/scripts/Build-PowerBI.ps1 +++ b/src/scripts/Build-PowerBI.ps1 @@ -137,7 +137,7 @@ $reports | ForEach-Object { Expressions = @("▶️ START HERE", "Cluster URL", "[storage]Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Remove Duplicate Resource IDs", "Deprecated: Perform Extra Query Optimizations", "ftk_DemoFilter", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } RateOptimization = @{ - Intro = "The Rate optimization report provides insights into rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This report uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice." + Intro = "The Rate optimization report provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This report uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice." Tables = @("Costs", "InstanceSizeFlexibility", "Prices", "PricingUnits", "ReservationRecommendations") Expressions = @("▶️ START HERE", "Cluster URL", "[storage]Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Deprecated: Perform Extra Query Optimizations", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } From 524777e39b7b0139c46771f59dabf04e2ac7d375 Mon Sep 17 00:00:00 2001 From: MSBrett <24294904+MSBrett@users.noreply.github.com> Date: Sun, 21 Jun 2026 09:30:22 -0700 Subject: [PATCH 11/12] docs: address PR review feedback on naming and links - Remove unauthorized docs/brand.md - Revert framework links from finops.org back to Microsoft Learn (guide.md, dashboard.json, 12 Power BI reports) - Normalize capability labels to sentence case per coding guidelines: "Governance, policy, and risk" and "Understand usage and cost" - Fix pre-existing grammar in manage-finops.md ("involve refers to" -> "refers to") - Refresh ms.date on modified docs-mslearn pages Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs-mslearn/conduct-iteration.md | 4 +- docs-mslearn/framework/capabilities.md | 8 +- docs-mslearn/framework/finops-framework.md | 6 +- docs-mslearn/framework/manage/governance.md | 12 +- .../framework/manage/manage-finops.md | 12 +- docs-mslearn/framework/manage/onboarding.md | 4 +- docs-mslearn/framework/optimize/licensing.md | 4 +- .../optimize/optimize-cloud-usage-cost.md | 4 +- docs-mslearn/framework/optimize/rates.md | 4 +- docs-mslearn/framework/optimize/workloads.md | 4 +- docs-mslearn/index.yml | 2 +- docs-mslearn/toolkit/changelog.md | 8 +- docs-mslearn/toolkit/help/data-dictionary.md | 4 +- docs-mslearn/toolkit/power-bi/reports.md | 4 +- .../workbooks/finops-workbooks-overview.md | 4 +- docs-mslearn/toolkit/workbooks/governance.md | 6 +- docs/brand.md | 249 ------------------ docs/guide.md | 2 +- .../kql/CostSummary.Report/report.json | 2 +- .../kql/DataIngestion.Report/report.json | 2 +- .../kql/Governance.Report/report.json | 4 +- src/power-bi/kql/Invoicing.Report/report.json | 2 +- .../kql/RateOptimization.Report/report.json | 2 +- .../WorkloadOptimization.Report/report.json | 2 +- .../storage/CostSummary.Report/report.json | 2 +- .../storage/DataIngestion.Report/report.json | 2 +- .../storage/Governance.Report/report.json | 4 +- .../storage/Invoicing.Report/report.json | 2 +- .../RateOptimization.Report/report.json | 2 +- .../WorkloadOptimization.Report/report.json | 2 +- src/scripts/Build-PowerBI.ps1 | 2 +- src/templates/finops-hub/dashboard.json | 10 +- 32 files changed, 66 insertions(+), 315 deletions(-) delete mode 100644 docs/brand.md diff --git a/docs-mslearn/conduct-iteration.md b/docs-mslearn/conduct-iteration.md index eebdddf41..5f8eda41c 100644 --- a/docs-mslearn/conduct-iteration.md +++ b/docs-mslearn/conduct-iteration.md @@ -3,7 +3,7 @@ title: Tutorial - Conduct an iteration description: This tutorial helps you learn how to take an iterative approach to FinOps adoption. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-learning-resources @@ -73,7 +73,7 @@ Use the following information as a guide to select the right FinOps capabilities 3. Rate optimization 4. Licensing and SaaS 5. Cloud sustainability - 6. Governance, Policy & Risk + 6. Governance, policy, and risk 7. If your team has a solid understanding of the basics and needs to map cloud investments back to business value, consider: 1. Unit economics 2. Allocation diff --git a/docs-mslearn/framework/capabilities.md b/docs-mslearn/framework/capabilities.md index 61526ac07..4b79fbcfb 100644 --- a/docs-mslearn/framework/capabilities.md +++ b/docs-mslearn/framework/capabilities.md @@ -3,7 +3,7 @@ title: FinOps capabilities description: Learn about what the fundamental building blocks of the FinOps Framework that enable you to maximize business value through the cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources @@ -16,9 +16,9 @@ The FinOps Framework includes capabilities that cover everything you need to per
-## Understand Usage & Cost +## Understand usage and cost -The **Understand Usage & Cost** domain is focused on data acquisition, reporting, analysis, and alerting on top of your cost, usage, and carbon consumption. This domain is all about observability and business intelligence. It brings the data that stakeholders need together (ingestion) into a meaningful breakdown for the organization (allocation). Then it can be reported on (reporting) and monitored to proactively identify and react to issues (anomalies). +The **Understand usage and cost** domain is focused on data acquisition, reporting, analysis, and alerting on top of your cost, usage, and carbon consumption. This domain is all about observability and business intelligence. It brings the data that stakeholders need together (ingestion) into a meaningful breakdown for the organization (allocation). Then it can be reported on (reporting) and monitored to proactively identify and react to issues (anomalies). - [Data ingestion](./understand/ingestion.md) - [Allocation](./understand/allocation.md) @@ -58,7 +58,7 @@ The **Manage the FinOps practice** domain is focused on establishing a clear and - [FinOps education and enablement](./manage/education.md) - [FinOps practice operations](./manage/operations.md) - [Onboarding workloads](./manage/onboarding.md) -- [Governance, Policy & Risk](./manage/governance.md) +- [Governance, policy, and risk](./manage/governance.md) - [Invoicing and chargeback](./manage/invoicing-chargeback.md) - [FinOps assessment](./manage/assessment.md) - [FinOps tools and services](./manage/tools-services.md) diff --git a/docs-mslearn/framework/finops-framework.md b/docs-mslearn/framework/finops-framework.md index 0ba9c2db1..5ec97593b 100644 --- a/docs-mslearn/framework/finops-framework.md +++ b/docs-mslearn/framework/finops-framework.md @@ -3,7 +3,7 @@ title: FinOps Framework overview description: 'Learn about what the FinOps Framework is and how you can use it to accelerate your cost management and optimization goals.' author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -115,7 +115,7 @@ The FinOps Framework defines a simple lifecycle with three phases: The FinOps Framework includes capabilities that cover everything you need to perform FinOps tasks and manage a FinOps practice. Capabilities are organized into a set of related domains based on the goals of the capabilities. Each capability defines a functional area of activity and a set of tasks to support your FinOps practice. -- Understand Usage & Cost +- Understand usage and cost - [Data ingestion](./understand/ingestion.md) - [Allocation](./understand/allocation.md) @@ -143,7 +143,7 @@ The FinOps Framework includes capabilities that cover everything you need to per - [FinOps education and enablement](./manage/education.md) - [FinOps practice operations](./manage/operations.md) - [Onboarding workloads](./manage/onboarding.md) - - [Governance, Policy & Risk](./manage/governance.md) + - [Governance, policy, and risk](./manage/governance.md) - [Invoicing and chargeback](./manage/invoicing-chargeback.md) - [FinOps assessment](./manage/assessment.md) - [FinOps tools and services](./manage/tools-services.md) diff --git a/docs-mslearn/framework/manage/governance.md b/docs-mslearn/framework/manage/governance.md index bafd66ef9..90aacbeda 100644 --- a/docs-mslearn/framework/manage/governance.md +++ b/docs-mslearn/framework/manage/governance.md @@ -1,9 +1,9 @@ --- -title: Governance, Policy & Risk +title: Governance, policy, and risk description: This article helps you understand the governance, policy, and risk capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -11,7 +11,7 @@ ms.reviewer: kedelaro # customer intent: As a FinOps practitioner, I want to understand the governance, policy, and risk capability so that I can implement it in the Microsoft Cloud. --- -# Governance, Policy & Risk +# Governance, policy, and risk This article helps you understand the governance, policy, and risk capability within the FinOps Framework and how to implement that in the Microsoft Cloud. @@ -19,13 +19,13 @@ This article helps you understand the governance, policy, and risk capability wi ## Definition -**Governance, Policy & Risk refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts.** +**Governance, policy, and risk refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts.** Define your governance goals and success metrics. Review and document how existing policies are updated to account for FinOps efforts. Review with all stakeholders to get buy-in and endorsement. Establish a rollout plan that starts with audit rules and slowly (and safely) expands coverage to drive compliance without negatively impacting engineering efforts. -Implementing a governance, policy, and risk strategy enables organizations to sustainably implement FinOps at scale. Governance, Policy & Risk can act as a multiplier to FinOps efforts by building them natively into day-to-day operations. +Implementing a governance, policy, and risk strategy enables organizations to sustainably implement FinOps at scale. Governance, policy, and risk can act as a multiplier to FinOps efforts by building them natively into day-to-day operations.
@@ -66,7 +66,7 @@ At this point, you have a basic set of policies in place that are being managed ## Learn more at the FinOps Foundation -This capability is a part of the FinOps Framework by the FinOps Foundation, a non-profit organization dedicated to advancing cloud cost management and optimization. For more information about FinOps, including useful playbooks, training and certification programs, and more, see the [Governance, Policy & Risk capability](https://www.finops.org/framework/capabilities/governance-policy-risk/) article in the FinOps Framework documentation. +This capability is a part of the FinOps Framework by the FinOps Foundation, a non-profit organization dedicated to advancing cloud cost management and optimization. For more information about FinOps, including useful playbooks, training and certification programs, and more, see the [Governance, policy, and risk capability](https://www.finops.org/framework/capabilities/governance-policy-risk/) article in the FinOps Framework documentation. You can also find related videos on the FinOps Foundation YouTube channel: diff --git a/docs-mslearn/framework/manage/manage-finops.md b/docs-mslearn/framework/manage/manage-finops.md index 7c7985b15..2e3bac384 100644 --- a/docs-mslearn/framework/manage/manage-finops.md +++ b/docs-mslearn/framework/manage/manage-finops.md @@ -3,7 +3,7 @@ title: Manage the FinOps practice description: Learn about the FinOps capabilities that help you establish your FinOps practice and drive organizational accountability. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources @@ -20,7 +20,7 @@ This domain is focused on establishing a clear and consistent vision of FinOps a ## FinOps education and enablement -FinOps education and enablement involve refers to the process of providing training, resources, and support to help individuals and teams within an organization adopt FinOps practices. This capability ensures that stakeholders across the organization have the resources they need to: +FinOps education and enablement refers to the process of providing training, resources, and support to help individuals and teams within an organization adopt FinOps practices. This capability ensures that stakeholders across the organization have the resources they need to: - Understand FinOps - Understand how it can help them achieve their goals @@ -56,15 +56,15 @@ To learn more, see [Onboarding workloads](./onboarding.md).
-## Governance, Policy & Risk +## Governance, policy, and risk -Governance, Policy & Risk refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of: +Governance, policy, and risk refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of: - Specific SKUs - Resource configurations - Other practices that might affect cost, usage, and carbon growth -To learn more, see [Governance, Policy & Risk](./governance.md). +To learn more, see [Governance, policy, and risk](./governance.md).
@@ -122,7 +122,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: -- [Understand Usage & Cost](../understand/understand-cloud-usage-cost.md) +- [Understand usage and cost](../understand/understand-cloud-usage-cost.md) - [Quantify business value](../quantify/quantify-business-value.md) - [Optimize usage and cost](../optimize/optimize-cloud-usage-cost.md) diff --git a/docs-mslearn/framework/manage/onboarding.md b/docs-mslearn/framework/manage/onboarding.md index cc111d393..de63fa6d5 100644 --- a/docs-mslearn/framework/manage/onboarding.md +++ b/docs-mslearn/framework/manage/onboarding.md @@ -3,7 +3,7 @@ title: Onboarding workloads description: This article helps you understand the onboarding workloads capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -104,6 +104,6 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Forecasting](../quantify/forecasting.md) -- [Governance, Policy & Risk](./governance.md) +- [Governance, policy, and risk](./governance.md)
diff --git a/docs-mslearn/framework/optimize/licensing.md b/docs-mslearn/framework/optimize/licensing.md index 00577a5c5..067ce4a8b 100644 --- a/docs-mslearn/framework/optimize/licensing.md +++ b/docs-mslearn/framework/optimize/licensing.md @@ -3,7 +3,7 @@ title: Licensing and SaaS description: This article helps you understand the licensing and SaaS capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -82,7 +82,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Reporting and analytics](../understand/reporting.md) -- [Governance, Policy & Risk](../manage/governance.md) +- [Governance, policy, and risk](../manage/governance.md) Related solutions: diff --git a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md index 3289cad8f..538bb4d75 100644 --- a/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md +++ b/docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md @@ -3,7 +3,7 @@ title: Optimize usage and cost description: Learn about the FinOps capabilities that help you identify and implement the right mix of pricing models, services, and resources needed to meet business demands. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: conceptual ms.service: finops ms.subservice: finops-learning-resources @@ -82,7 +82,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: -- [Understand Usage & Cost](../understand/understand-cloud-usage-cost.md) +- [Understand usage and cost](../understand/understand-cloud-usage-cost.md) - [Quantify business value](../quantify/quantify-business-value.md) - [Manage the FinOps practice](../manage/manage-finops.md) diff --git a/docs-mslearn/framework/optimize/rates.md b/docs-mslearn/framework/optimize/rates.md index 1cc1deaa6..9e064d2c5 100644 --- a/docs-mslearn/framework/optimize/rates.md +++ b/docs-mslearn/framework/optimize/rates.md @@ -3,7 +3,7 @@ title: Rate optimization description: This article helps you understand the rate optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -106,7 +106,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Data analysis and showback](../understand/reporting.md) -- [Governance, Policy & Risk](../manage/governance.md) +- [Governance, policy, and risk](../manage/governance.md) Related products: diff --git a/docs-mslearn/framework/optimize/workloads.md b/docs-mslearn/framework/optimize/workloads.md index ffa348d35..c59949974 100644 --- a/docs-mslearn/framework/optimize/workloads.md +++ b/docs-mslearn/framework/optimize/workloads.md @@ -3,7 +3,7 @@ title: Usage optimization description: This article helps you understand the Usage optimization capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources @@ -121,7 +121,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: - [Rate optimization](./rates.md) -- [Governance, Policy & Risk](../manage/governance.md) +- [Governance, policy, and risk](../manage/governance.md) Related products: diff --git a/docs-mslearn/index.yml b/docs-mslearn/index.yml index 21c1898b3..0928d691b 100644 --- a/docs-mslearn/index.yml +++ b/docs-mslearn/index.yml @@ -121,7 +121,7 @@ conceptualContent: text: FinOps education and enablement - url: framework/manage/governance.md itemType: concept - text: Governance, Policy & Risk + text: Governance, policy, and risk - url: framework/manage/invoicing-chargeback.md itemType: concept text: Invoicing + chargeback diff --git a/docs-mslearn/toolkit/changelog.md b/docs-mslearn/toolkit/changelog.md index 42a5d0288..dd603ce36 100644 --- a/docs-mslearn/toolkit/changelog.md +++ b/docs-mslearn/toolkit/changelog.md @@ -3,7 +3,7 @@ title: FinOps toolkit changelog description: Review the latest features and enhancements in the FinOps toolkit, including updates to FinOps hubs, Power BI reports, and more. author: MSBrett ms.author: brettwil -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: reference ms.service: finops ms.subservice: finops-toolkit @@ -36,7 +36,7 @@ _Released June 2026_ ### [Implementing FinOps guide](../implementing-finops-guide.md) v15 - **Changed** - - Aligned FinOps Framework capability names and links across guidance to current FinOps Framework terminology, including Usage optimization and Governance, Policy & Risk ([#2170](https://github.com/microsoft/finops-toolkit/pull/2170)). + - Aligned FinOps Framework capability names and links across guidance to current FinOps Framework terminology, including Usage optimization and Governance, policy, and risk ([#2170](https://github.com/microsoft/finops-toolkit/pull/2170)). - **Fixed** - Corrected stale and incorrect descriptions for `BilledCost`, `EffectiveCost`, `BillingCurrency`, `BillingProfileId`, `BillingProfileName`, `CommitmentDiscountQuantity`, `ListUnitPrice`, `PricingQuantity`, `PricingUnitDescription`, and `TotalSavingsRunningTotal` in the [data dictionary](help/data-dictionary.md) to align with FOCUS 1.2 ([#2112](https://github.com/microsoft/finops-toolkit/pull/2112)). @@ -59,12 +59,12 @@ _Released June 2026_ ### [Power BI reports](power-bi/reports.md) v15 - **Changed** - - Updated report labels and documentation to use current FinOps Framework capability names, including Usage optimization and Governance, Policy & Risk ([#2170](https://github.com/microsoft/finops-toolkit/pull/2170)). + - Updated report labels and documentation to use current FinOps Framework capability names, including Usage optimization and Governance, policy, and risk ([#2170](https://github.com/microsoft/finops-toolkit/pull/2170)). ### [FinOps workbooks](workbooks/finops-workbooks-overview.md) v15 - **Changed** - - Updated workbook labels and documentation to use current FinOps Framework capability names, including Usage optimization and Governance, Policy & Risk ([#2170](https://github.com/microsoft/finops-toolkit/pull/2170)). + - Updated workbook labels and documentation to use current FinOps Framework capability names, including Usage optimization and Governance, policy, and risk ([#2170](https://github.com/microsoft/finops-toolkit/pull/2170)). ### [Data dictionary](help/data-dictionary.md) updates diff --git a/docs-mslearn/toolkit/help/data-dictionary.md b/docs-mslearn/toolkit/help/data-dictionary.md index 712f0b20a..c6c7a50dd 100644 --- a/docs-mslearn/toolkit/help/data-dictionary.md +++ b/docs-mslearn/toolkit/help/data-dictionary.md @@ -3,7 +3,7 @@ title: FinOps toolkit data dictionary description: This article describes the column names found in FinOps toolkit solutions, including columns from Cost Management and FOCUS. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit @@ -281,7 +281,7 @@ Related FinOps capabilities: - [Reporting and analytics](../../framework/understand/reporting.md) - [Rate optimization](../../framework/optimize/rates.md) - [Usage optimization](../../framework/optimize/workloads.md) -- [Governance, Policy & Risk](../../framework/manage/governance.md) +- [Governance, policy, and risk](../../framework/manage/governance.md) Related products: diff --git a/docs-mslearn/toolkit/power-bi/reports.md b/docs-mslearn/toolkit/power-bi/reports.md index b1fbaeb53..a0d9e2102 100644 --- a/docs-mslearn/toolkit/power-bi/reports.md +++ b/docs-mslearn/toolkit/power-bi/reports.md @@ -3,7 +3,7 @@ title: FinOps toolkit Power BI reports description: Learn about the Power BI reports in the FinOps toolkit to customize and enhance your FinOps reporting and connect to Cost Management exports or FinOps hubs. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit @@ -29,7 +29,7 @@ The FinOps toolkit includes reports that connect to different data sources. We r - [Rate optimization](rate-optimization.md) – Summarizes existing and potential savings from commitment discounts. - [Invoicing and chargeback](invoicing.md) – Summarizes billed cost trends and facilitates invoice reconciliation and chargeback. - [Usage optimization](workload-optimization.md) – Summarizes opportunities to achieve resource cost and usage efficiencies. -- [Governance, Policy & Risk](governance.md) – Summarizes the governance posture including areas like compliance, security, operations, and resource management. +- [Governance, policy, and risk](governance.md) – Summarizes the governance posture including areas like compliance, security, operations, and resource management. - [Data ingestion](data-ingestion.md) – Provides insights into your data ingestion layer. If you need to monitor more than $1 million in spend, we generally recommend using Kusto Query Language (KQL) reports that connect to [FinOps hubs](../hubs/finops-hubs-overview.md) with Azure Data Explorer or Microsoft Fabric. Organizations who need other reports can continue to connect to the underlying hub storage account. diff --git a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md index 83bd32f80..bf2cd65cd 100644 --- a/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md +++ b/docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md @@ -3,7 +3,7 @@ title: Deploy FinOps workbooks description: FinOps workbooks are Azure Monitor workbooks that help you implement FinOps capabilities, including optimization and governance, to achieve your FinOps goals. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit @@ -80,7 +80,7 @@ Related FinOps capabilities: - [Rate optimization](../../framework/optimize/rates.md) - [Usage optimization](../../framework/optimize/workloads.md) -- [Governance, Policy & Risk](../../framework/manage/governance.md) +- [Governance, policy, and risk](../../framework/manage/governance.md) Related products: diff --git a/docs-mslearn/toolkit/workbooks/governance.md b/docs-mslearn/toolkit/workbooks/governance.md index c43bd738e..5b2e20dba 100644 --- a/docs-mslearn/toolkit/workbooks/governance.md +++ b/docs-mslearn/toolkit/workbooks/governance.md @@ -3,12 +3,12 @@ title: Governance workbook description: Azure Monitor workbook focused on governance, providing an overview of your Azure environment's governance posture and compliance. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit ms.reviewer: nteyan -#customer intent: As a FinOps user, I want to understand what the FinOps Governance workbook is and how it can help me implement the Governance, Policy & Risk capability. +#customer intent: As a FinOps user, I want to understand what the FinOps Governance workbook is and how it can help me implement the Governance, policy, and risk capability. --- # Governance workbook @@ -220,7 +220,7 @@ If you're looking for something specific, vote for an existing or create a new i Related FinOps capabilities: -- [Governance, Policy & Risk](../../framework/manage/governance.md) +- [Governance, policy, and risk](../../framework/manage/governance.md) Related products: diff --git a/docs/brand.md b/docs/brand.md deleted file mode 100644 index 9f9ba1425..000000000 --- a/docs/brand.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -layout: default -title: Brand and naming -nav_order: 90 -description: 'Brand colors, typography, naming, voice, and product-relationship rules for FinOps toolkit contributors and partners.' -permalink: /brand ---- - -Brand and naming -How the FinOps toolkit looks, sounds, and refers to other Microsoft products. -{: .fs-6 .fw-300 } - -This page is the source of truth for FinOps toolkit visual identity, naming conventions, and product-relationship language. It applies to anything the FinOps toolkit ships or publishes — Microsoft Learn modules, training decks, GitHub README files, Power BI reports, blog posts, demo videos, and partner submissions to the toolkit. - -When this page conflicts with another internal Microsoft brand asset, the other asset wins. When it conflicts with [Microsoft Trademark and Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks/), Microsoft's guidelines win. - -
- - On this page - - {: .text-delta } -- TOC -{:toc} -
- ---- - -## Visual identity - -### Color palette - -The FinOps toolkit uses the Microsoft FinOps light theme already shipped with every Power BI report under `src/power-bi/**/StaticResources/RegisteredResources/Microsoft_FinOps_light_theme*.json`. Use the same hex values in any new asset. - -**Primary data colors** (use these for charts, accents, and category fills, in this order for the first 8 categories): - -| # | Hex | Where to use | -|---|---|---| -| 1 | `#6F4BB2` | Primary accent — first category, hero highlights | -| 2 | `#0078D4` | Microsoft blue — links, secondary accent | -| 3 | `#EF6950` | Warm accent — anomalies, attention markers | -| 4 | `#3449AA` | Deep blue — supporting category | -| 5 | `#00A2AD` | Teal — supporting category | -| 6 | `#733569` | Plum — supporting category | -| 7 | `#E3008C` | Magenta — supporting category | -| 8 | `#335C50` | Forest — supporting category | - -The full 200+ color sequence in `Microsoft_FinOps_light_theme*.json` is meant for very high-cardinality Power BI visuals. For decks and Learn pages, stick to the eight above. - -**Neutrals** (text, backgrounds, surfaces): - -| Token | Hex | Use | -|---|---|---| -| Ink | `#1B1B1F` | Primary body text | -| Ink subdued | `#424242` | Secondary text, captions | -| Ink quiet | `#595959` | Tertiary text, footnotes, disabled | -| Surface | `#FFFFFF` | Default page and slide background | -| Surface subdued | `#F2F4FA` | Table stripes, callout backgrounds | -| Surface deep | `#10183A` | Hero panels, chyrons, title bars (use white text on top) | - -### Typography - -Inherit Microsoft's standard product fonts. The Power BI theme already specifies these. - -| Role | Font | Fallback chain | -|---|---|---| -| Headings, titles | Segoe UI Semibold | `'Segoe UI Semibold', wf_segoe-ui_semibold, helvetica, arial, sans-serif` | -| Body, captions | Segoe UI | `'Segoe UI', wf_segoe-ui_normal, helvetica, arial, sans-serif` | -| Code, identifiers | Cascadia Mono | `'Cascadia Mono', Consolas, 'Courier New', monospace` | - -Do not introduce display fonts, script fonts, or non-Microsoft typefaces. Microsoft Learn handles its own font rendering — do not specify fonts in `.md` source. - -### Logos and lockups - -The FinOps toolkit does not ship a standalone logo. Use the Microsoft master brand or the Microsoft Azure brand mark, per [Microsoft Trademark and Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks/). - -Do not create custom logo lockups that combine "FinOps toolkit" with another Microsoft product mark. Do not adapt the official Azure or Microsoft logos. - -### Slide and report templates - -| Asset | Where it lives | When to use | -|---|---|---| -| Power BI theme | `src/power-bi/FinOpsToolkitLight.json` | All Power BI reports shipped with the toolkit | - -If you need a layout the template doesn't have, extend it. Don't fork it into a new template. - ---- - -## Naming - -### What things are called - -The FinOps toolkit is a Microsoft-owned collection of components. Each component has a stable name. Use these forms exactly: - -| Concept | Correct name | Avoid | -|---|---|---| -| The whole project | FinOps toolkit | FinOps Toolkit (capital T), FTK in customer-facing prose | -| Hub data platform | FinOps hubs | FinOps Hub, FinOps hub (singular when you mean the product) | -| Power BI surface | FinOps toolkit Power BI reports | FinOps Power BI | -| PowerShell module | FinOps toolkit for PowerShell | FinOpsToolkit module | -| Open data | FinOps toolkit open data | FinOps open data | -| Bicep modules | FinOps toolkit Bicep modules | FinOps Bicep | -| The acronym | FTK (only in code, file names, internal short references — never in marketing or Learn body text) | — | - -Use **title case** for proper nouns ("FinOps", "Microsoft", "Azure", "Kusto"). Use **sentence case** for everything else, including page titles and slide titles ("Get started with FinOps hubs", not "Get Started with FinOps Hubs"). This matches the [Microsoft Style Guide](https://learn.microsoft.com/style-guide/capitalization). - -### What things are not called - -Do not coin new product names by combining the FinOps toolkit name with another Microsoft product trademark. The FinOps toolkit configures, deploys, or extends other Microsoft products — it does not rebrand them. - -| Don't write | Write instead | -|---|---| -| FinOps toolkit \ | \ (when you mean the Microsoft product) — or describe the toolkit's role: "the FinOps toolkit deploys \…" | -| FinOps toolkit Cost Management | Microsoft Cost Management (the product) — or "the FinOps toolkit's Cost Management exports configuration" | -| FinOps toolkit Power BI service | Power BI service (the product) — or "FinOps toolkit Power BI reports" | - -This is the most common branding mistake new contributors make. The rule: **you cannot put a Microsoft product trademark into the name of a FinOps toolkit component.** You can only describe what the toolkit does with that product. - -### File and directory names - -Use lowercase, hyphen-separated slugs for everything in the repo: `finops-hubs`, `sre-agent`, `cost-management-connector`. The toolkit name in slugs is `finops-toolkit`. Don't use camelCase or PascalCase except where required by the surrounding ecosystem (e.g., PowerShell cmdlet names, Bicep symbols). - -### URLs and references - -When linking to a Microsoft product page, use the bare product name as the link text: `[Azure Data Explorer](https://learn.microsoft.com/azure/data-explorer/overview)`. When linking to FinOps toolkit pages about that product, include "FinOps toolkit" in the link text to disambiguate: `[Azure Data Explorer in the FinOps toolkit](https://learn.microsoft.com/cloud-computing/finops/toolkit/data-explorer/overview)`. - -Reusing identical link text for two different destinations confuses readers and screen readers. Always disambiguate. - ---- - -## Voice - -### Subject framing — most important rule - -The FinOps toolkit is a configuration layer. The Microsoft products it deploys (Microsoft Cost Management, Azure Data Explorer, Power BI, etc.) are runtimes. **Keep the two distinct in every sentence.** - -Use the toolkit, the deployment, or the template as the subject when describing toolkit-specific behavior: - -| Don't write (over-attributes to the Microsoft product) | Write instead (anchors to the toolkit) | -|---|---| -| "\ includes 21 Kusto tools." | "The FinOps toolkit deployment configures \ with 21 Kusto tools." | -| "\ uses scheduled tasks to run weekly cost reviews." | "The FinOps toolkit ships scheduled tasks that run weekly cost reviews on \." | -| "Microsoft Cost Management exports billing data to FinOps hubs." | "The FinOps toolkit configures Microsoft Cost Management exports and lands the data in FinOps hubs." | -| "Power BI shows cost anomalies." | "FinOps toolkit Power BI reports show cost anomalies on top of the Power BI service." | - -The reverse direction matters too — don't attribute Microsoft product capabilities to the toolkit: - -| Don't write | Write instead | -|---|---| -| "FinOps toolkit hubs run KQL queries." | "FinOps hubs use Azure Data Explorer to run KQL queries." (ADX is the runtime; the toolkit configures the schema, functions, and ingestion.) | -| "FinOps toolkit Power BI renders the dashboard." | "Power BI renders the FinOps toolkit reports." | - -### Microsoft Voice basics - -The toolkit follows the [Microsoft Style Guide](https://learn.microsoft.com/style-guide/welcome/). Critical rules: - -- **Use sentence-style capitalization** for headings, titles, slide titles, table headers, and bullet labels. Reserve title case for proper nouns. -- **Lead with verbs.** Avoid "There is" / "There are" openers. -- **Include the small words.** "Use the agent to deploy" reads better than "Use agent to deploy" — keep articles for clarity and machine-translation friendliness. -- **Anaphora.** First mention spells out the full name; later references use a short form. After a product name like "Azure Data Explorer", subsequent references can use a shorter form like "the cluster" or "the service" if the antecedent is clear within the same paragraph or visible scope. -- **One sentence, one idea.** Split semicolon run-ons. -- **Don't prescribe action.** Say what something does, not what the reader must do. "The service runs daily" is better than "You should run the service daily." - -### Forbidden phrases - -Avoid these in any documentation or customer-facing content: - -- Marketing fluff: "best-in-class", "world-class", "game-changer", "revolutionary" -- Marketing absolutes: "this solves", "the entire answer" -- Internal jargon in customer prose: "MCAPS ask #", case IDs, "FastTrack engagement", "field research", "evidence pack", "corpus" -- Prescriptive openers: "you should", "you must", "Monday move" -- URLs in spoken narration: "see https://…" — write the destination as a link, don't read the URL aloud - -If the lint flags a sentence, fix the sentence — don't disable the lint. - ---- - -## Product-relationship rules - -This section covers the cases where a brand-aware reading would catch a problem the lint won't. - -### Page titles for product reference docs - -When a FinOps toolkit page documents a Microsoft product the toolkit deploys (Microsoft Cost Management, Azure Data Explorer, Power BI, etc.), the H1 and frontmatter title MUST NOT duplicate the official Microsoft product page title on Microsoft Learn. Use one of these disambiguation patterns based on doc type: - -| Doc type | Pattern | Example | -|---|---|---| -| Concept / overview | ` in the FinOps toolkit` | `Azure Data Explorer in the FinOps toolkit` | -| How-to / tutorial | ` with the FinOps toolkit` | `Deploy Azure Data Explorer with the FinOps toolkit` | -| Quickstart / getting started | `Get started with the FinOps toolkit on ` | `Get started with the FinOps toolkit on Azure Data Explorer` | -| Reference (template, parameters) | ` reference (FinOps toolkit)` or ` ( in the FinOps toolkit)` | `Template reference (FinOps toolkit)` | -| Troubleshooting | `Troubleshoot deployments from the FinOps toolkit` | `Troubleshoot Azure Data Explorer deployments from the FinOps toolkit` | -| Subtopic of a product reference | ` ( in the FinOps toolkit)` | `Scheduled tasks (Azure Data Explorer in the FinOps toolkit)` | - -If the doc does not document a Microsoft product directly (e.g., generic Kusto or Python tool reference whose title is a class name), use the bare title and let the parent page disambiguate. - -### Anaphora short form - -After the first body mention of a Microsoft product, subsequent references in the same page can use a short form: - -| First mention (full) | Short form (subsequent in same page) | -|---|---| -| Microsoft Cost Management | Cost Management | -| Azure Data Explorer | the cluster (when referring to the user's specific instance) or Azure Data Explorer | -| Power BI service | Power BI | - -The short form must be unambiguous in scope. If two competing antecedents exist (e.g., a product vs a component), spell out the full name. - -### When the toolkit deploys a Microsoft product - -Pattern: the FinOps toolkit ships an `azd up`-able template plus configuration for a Microsoft Azure product (Azure Data Explorer, Microsoft Cost Management exports, Power BI, etc.). - -Rules: - -1. The first mention of the Microsoft product on each page links to the official Microsoft Learn page for that product. -2. The page title and H1 follow the disambiguation patterns above. -3. When listing components the toolkit ships (agents, scheduled tasks, knowledge files, Bicep modules, Kusto functions), the subject of the sentence is the toolkit or the template — not the Microsoft product. -4. When listing platform capabilities the Microsoft product provides (managed identity, RBAC, scheduled task runtime, query engine), the subject is the Microsoft product. - -### When the toolkit reads from or writes to a Microsoft product - -Pattern: the toolkit pushes data into Power BI, queries Microsoft Cost Management, ingests from FOCUS exports. - -Rules: - -1. Name both sides of the integration in the first mention. "FinOps toolkit Power BI reports read from FinOps hubs" — both the toolkit-owned thing and the Microsoft-owned thing. -2. Don't anthropomorphize one side as "the toolkit" if it's really a Microsoft product doing the work. - -### When the toolkit recommends a Microsoft FinOps Framework practice - -Reference the practice by its official name from the [FinOps Framework](https://www.finops.org/framework/). The toolkit implements a subset; don't claim to ship the framework. - -Use Crawl/Walk/Run when discussing maturity. Use the official capability names (e.g., "Rate Optimization", not "reservation management"). - ---- - -## Trademark notice - -This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark and Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks/). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies. - -External contributors: when in doubt, prefer descriptive language ("works with \") over derivative naming ("FinOps \"). The descriptive form is always brand-safe; the derivative form requires CELA review. - ---- - -## Changelog - -| Date | Change | -|---|---| -| 2026-05-04 | Initial publication. Codified naming, voice, and product-relationship rules. Color palette and typography pulled from existing Power BI theme and PowerPoint template. | -| 2026-05-04 | Added the page-title disambiguation pattern table and the anaphora short-form table. Both decisions came out of applying the brand to the `docs-mslearn/toolkit/sre-agent/` doc set. | diff --git a/docs/guide.md b/docs/guide.md index 330bb1733..abe565fdb 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -63,7 +63,7 @@ Next, learn about the FinOps Framework and build a plan to implement FinOps capa
🏗️ FinOps Framework
Principles and practices to manage, optimize, and quantify value in the Microsoft Cloud.
- Explore the framework + Explore the framework
diff --git a/src/power-bi/kql/CostSummary.Report/report.json b/src/power-bi/kql/CostSummary.Report/report.json index cf1ea7a3f..27a7481b6 100644 --- a/src/power-bi/kql/CostSummary.Report/report.json +++ b/src/power-bi/kql/CostSummary.Report/report.json @@ -4999,7 +4999,7 @@ "z": 1000.0 }, { - "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Reporting and analy\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\"tics capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Reporting and analy\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/reporting\"},{\"value\":\"tics capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/reporting\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/kql/DataIngestion.Report/report.json b/src/power-bi/kql/DataIngestion.Report/report.json index d1d51fc35..7de714922 100644 --- a/src/power-bi/kql/DataIngestion.Report/report.json +++ b/src/power-bi/kql/DataIngestion.Report/report.json @@ -951,7 +951,7 @@ "z": 11000.00 }, { - "config": "{\"name\":\"faeff1c2227c98739d37\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Data ingestion report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides details about the data you've ingested into your FinOps hub storage account.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Data ingestion capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/data-ingestion/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/DataIngestion\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"faeff1c2227c98739d37\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Data ingestion report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides details about the data you've ingested into your FinOps hub storage account.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Data ingestion capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/ingestion\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/DataIngestion\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/kql/Governance.Report/report.json b/src/power-bi/kql/Governance.Report/report.json index e2083eb65..133f342b4 100644 --- a/src/power-bi/kql/Governance.Report/report.json +++ b/src/power-bi/kql/Governance.Report/report.json @@ -1926,7 +1926,7 @@ "z": 4000.00 }, { - "config": "{\"name\":\"278b621b26a043871160\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Governance, Policy & Risk report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"The Cloud Adoption Framework Govern methodology provides a structured approach for establishing and optimizing cloud governance in Azure, including areas like regulatory compliance, security, operations, cost, data, resource management, and artificial intelligence (AI).\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Governance, Policy & Risk capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/governance-policy-risk/\"},{\"value\":\" in the FinOps Framework. \"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Governance\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"278b621b26a043871160\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Governance, policy, and risk report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"The Cloud Adoption Framework Govern methodology provides a structured approach for establishing and optimizing cloud governance in Azure, including areas like regulatory compliance, security, operations, cost, data, resource management, and artificial intelligence (AI).\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Governance, policy, and risk capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/governance\"},{\"value\":\" in the FinOps Framework. \"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Governance\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, @@ -2293,7 +2293,7 @@ "z": 17000.00 }, { - "config": "{\"name\":\"ee7b5fb1edc97c406608\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Governance, Policy & Risk\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", + "config": "{\"name\":\"ee7b5fb1edc97c406608\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Governance, policy, and risk\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", "filters": "[]", "height": 85.83, "width": 852.50, diff --git a/src/power-bi/kql/Invoicing.Report/report.json b/src/power-bi/kql/Invoicing.Report/report.json index a947a0978..c64e0f08b 100644 --- a/src/power-bi/kql/Invoicing.Report/report.json +++ b/src/power-bi/kql/Invoicing.Report/report.json @@ -3034,7 +3034,7 @@ "z": 1000.0 }, { - "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"adad1df4dc74f2f73033\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/invoicing-chargeback\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/invoicing-chargeback\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/kql/RateOptimization.Report/report.json b/src/power-bi/kql/RateOptimization.Report/report.json index 854bf0936..622647150 100644 --- a/src/power-bi/kql/RateOptimization.Report/report.json +++ b/src/power-bi/kql/RateOptimization.Report/report.json @@ -2248,7 +2248,7 @@ "z": 14000.0 }, { - "config": "{\"name\":\"60280221a64c0eb4d3bd\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This report uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"60280221a64c0eb4d3bd\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This report uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/optimize/rates\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/kql/WorkloadOptimization.Report/report.json b/src/power-bi/kql/WorkloadOptimization.Report/report.json index 468d67b63..d11d893ce 100644 --- a/src/power-bi/kql/WorkloadOptimization.Report/report.json +++ b/src/power-bi/kql/WorkloadOptimization.Report/report.json @@ -1028,7 +1028,7 @@ "z": 11000.00 }, { - "config": "{\"name\":\"7e536659318f0aaddb2f\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shut down during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/usage-optimization/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"7e536659318f0aaddb2f\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":8000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shut down during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/optimize/workloads\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/storage/CostSummary.Report/report.json b/src/power-bi/storage/CostSummary.Report/report.json index 2178fa460..b8c9efc43 100644 --- a/src/power-bi/storage/CostSummary.Report/report.json +++ b/src/power-bi/storage/CostSummary.Report/report.json @@ -1416,7 +1416,7 @@ "z": 3000.0 }, { - "config": "{\"name\":\"8213d12a199c081d6009\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Reporting and analytics capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/reporting-analytics/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"8213d12a199c081d6009\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Cost summary report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your effective (amortized) and billed costs based on the FinOps Open Cost and Usage Specification (FOCUS). Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit. Effective costs will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Reporting and analytics capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/reporting\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/CostSummary\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.0, "width": 848.0, diff --git a/src/power-bi/storage/DataIngestion.Report/report.json b/src/power-bi/storage/DataIngestion.Report/report.json index f1336983e..348955720 100644 --- a/src/power-bi/storage/DataIngestion.Report/report.json +++ b/src/power-bi/storage/DataIngestion.Report/report.json @@ -834,7 +834,7 @@ "z": 4000.00 }, { - "config": "{\"name\":\"b6bbd19c451dc2c60d03\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Data ingestion report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides details about the data you've ingested into your FinOps hub storage account.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Data ingestion capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/data-ingestion/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/DataIngestion\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"b6bbd19c451dc2c60d03\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Data ingestion report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides details about the data you've ingested into your FinOps hub storage account.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Data ingestion capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/understand/ingestion\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/DataIngestion\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/storage/Governance.Report/report.json b/src/power-bi/storage/Governance.Report/report.json index 77ee88a2f..0eb980625 100644 --- a/src/power-bi/storage/Governance.Report/report.json +++ b/src/power-bi/storage/Governance.Report/report.json @@ -1606,7 +1606,7 @@ "z": 9000.00 }, { - "config": "{\"name\":\"343341e97b7308150de2\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Governance, Policy & Risk report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"The Cloud Adoption Framework Govern methodology provides a structured approach for establishing and optimizing cloud governance in Azure, including areas like regulatory compliance, security, operations, cost, data, resource management, and artificial intelligence (AI).\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Governance, Policy & Risk capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/governance-policy-risk/\"},{\"value\":\" in the FinOps Framework. \"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Governance\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"343341e97b7308150de2\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Governance, policy, and risk report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"The Cloud Adoption Framework Govern methodology provides a structured approach for establishing and optimizing cloud governance in Azure, including areas like regulatory compliance, security, operations, cost, data, resource management, and artificial intelligence (AI).\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Governance, policy, and risk capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/governance\"},{\"value\":\" in the FinOps Framework. \"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Governance\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, @@ -1907,7 +1907,7 @@ "z": 3000.00 }, { - "config": "{\"name\":\"d184e5815389da951190\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Governance, Policy & Risk\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", + "config": "{\"name\":\"d184e5815389da951190\",\"layouts\":[{\"id\":0,\"position\":{\"x\":211.66666666666669,\"y\":24.166666666666668,\"z\":8000,\"width\":852.5,\"height\":85.83333333333334,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"Governance, policy, and risk\",\"textStyle\":{\"fontWeight\":\"bold\",\"fontSize\":\"42pt\"}}]}]}}]},\"vcObjects\":{\"visualHeader\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Report name'\"}}}}}]}}}", "filters": "[]", "height": 85.83, "width": 852.50, diff --git a/src/power-bi/storage/Invoicing.Report/report.json b/src/power-bi/storage/Invoicing.Report/report.json index c568e2ecb..2a71ac8c2 100644 --- a/src/power-bi/storage/Invoicing.Report/report.json +++ b/src/power-bi/storage/Invoicing.Report/report.json @@ -920,7 +920,7 @@ "z": 3000.00 }, { - "config": "{\"name\":\"3b17519ee64f1d0bd78a\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/invoicing-chargeback/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"3b17519ee64f1d0bd78a\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Invoicing and chargeback report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides several summaries of your billed cost to facilitate invoice reconciliation for Microsoft Customer Agreement (MCA) and Enterprise Agreement (EA) accounts or to perform chargeback using effective (amortized) costs. Amortization breaks down reservation and savings plan purchases and allocates costs to the resources that received the benefit to facilitate more accurate chargeback reports and facilitate savings calculations.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Invoicing and chargeback \",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/invoicing-chargeback\"},{\"value\":\"capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/manage/invoicing-chargeback\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/Invoicing\"},{\"value\":\"\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/storage/RateOptimization.Report/report.json b/src/power-bi/storage/RateOptimization.Report/report.json index 08e120694..9482b98e3 100644 --- a/src/power-bi/storage/RateOptimization.Report/report.json +++ b/src/power-bi/storage/RateOptimization.Report/report.json @@ -1087,7 +1087,7 @@ "z": 19000.00 }, { - "config": "{\"name\":\"4cabaa169baeca1b8080\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This report uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/rate-optimization/\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"4cabaa169baeca1b8080\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Rate optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into any rate optimization opportunities, like reservations, savings plans, and Azure Hybrid Benefit. This report uses effective cost, which amortizes and breaks reservation and savings plan purchases down and allocates costs out to the resources that received the benefit. Effective cost will not match your invoice.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \",\"textStyle\":{\"fontSize\":\"13.3333px\"}},{\"value\":\"Rate optimization capability\",\"textStyle\":{\"fontSize\":\"13.3333px\",\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/optimize/rates\"},{\"value\":\" in the FinOps Framework.\",\"textStyle\":{\"fontSize\":\"13.3333px\"}}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/RateOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/power-bi/storage/WorkloadOptimization.Report/report.json b/src/power-bi/storage/WorkloadOptimization.Report/report.json index 8a0590ed6..c310accfb 100644 --- a/src/power-bi/storage/WorkloadOptimization.Report/report.json +++ b/src/power-bi/storage/WorkloadOptimization.Report/report.json @@ -1052,7 +1052,7 @@ "z": 8000.00 }, { - "config": "{\"name\":\"906ec3cf4a1ea0d9d39c\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shut down during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://www.finops.org/framework/capabilities/usage-optimization/\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", + "config": "{\"name\":\"906ec3cf4a1ea0d9d39c\",\"layouts\":[{\"id\":0,\"position\":{\"x\":216,\"y\":112.00000000000001,\"z\":7000,\"width\":848,\"height\":176,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"textbox\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"paragraphs\":[{\"textRuns\":[{\"value\":\"The \"},{\"value\":\"Usage optimization report\",\"textStyle\":{\"fontWeight\":\"bold\",\"color\":\"#6f4bb2\"}},{\"value\":\" provides insights into resource utilization and efficiency opportunities based on historical usage patterns. Use this report to determine if resources can be scaled down or even shut down during off-peak hours to minimize wasteful usage and spending. Also consider cheaper alternatives when available and ensure all workloads have some direct or indirect link to business value to avoid unnecessary usage and costs that don't contribute to the mission.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"This report helps implement the \"},{\"value\":\"Usage optimization capability\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://learn.microsoft.com/cloud-computing/finops/framework/optimize/workloads\"},{\"value\":\" in the FinOps Framework.\"}]},{\"textRuns\":[{\"value\":\"\"}]},{\"textRuns\":[{\"value\":\"Learn more\",\"textStyle\":{\"color\":\"#6f4bb2\"},\"url\":\"https://aka.ms/ftk/pbi/WorkloadOptimization\"}]}]}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Description'\"}}}}}]}}}", "filters": "[]", "height": 176.00, "width": 848.00, diff --git a/src/scripts/Build-PowerBI.ps1 b/src/scripts/Build-PowerBI.ps1 index a61faa497..1f64a8043 100644 --- a/src/scripts/Build-PowerBI.ps1 +++ b/src/scripts/Build-PowerBI.ps1 @@ -132,7 +132,7 @@ $reports | ForEach-Object { Expressions = @("▶️ START HERE", "Cluster URL", "Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Deprecated: Perform Extra Query Optimizations", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } Governance = @{ - Intro = "The Governance, Policy & Risk report summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps." + Intro = "The Governance, policy, and risk report summarizes your Microsoft Cloud governance posture. It offers the standard metrics aligned with the Cloud Adoption Framework to facilitate identifying issues, applying recommendations, and resolving compliance gaps." Tables = @("AdvisorRecommendations", "Compliance calculation", "Costs", "Disks", "ManagementGroups", "NetworkInterfaces", "NetworkSecurityGroups", "PolicyAssignments", "PolicyDefinitions", "PolicyStates", "Prices", "PricingUnits", "PublicIPAddresses", "Regions", "Resources", "ResourceTypes", "SqlDatabases", "Subscriptions", "VirtualMachines") Expressions = @("▶️ START HERE", "Cluster URL", "[storage]Storage URL", "Default Granularity", "Number of Months", "RangeStart", "RangeEnd", "Experimental: Add Missing Prices", "Remove Duplicate Resource IDs", "Deprecated: Perform Extra Query Optimizations", "ftk_DemoFilter", "ftk_DatetimeToJulianDate", "ftk_ImpalaToJulianDate", "ftk_Metadata", "ftk_ParseResourceId", "ftk_ParseResourceName", "ftk_ParseResourceType", "ftk_Storage") } diff --git a/src/templates/finops-hub/dashboard.json b/src/templates/finops-hub/dashboard.json index c3411ad66..67a7e1f94 100644 --- a/src/templates/finops-hub/dashboard.json +++ b/src/templates/finops-hub/dashboard.json @@ -1002,7 +1002,7 @@ "visualType": "markdownCard", "pageId": "ea47329e-0bc9-4c11-b110-534878dbb3ad", "layout": { "x": 0, "y": 0, "width": 22, "height": 5 }, - "markdownText": "# Understand Usage & Cost\nThe **Understand Usage & Cost** domain is focused on data acquisition, reporting, analysis, and alerting on top of your cost, usage, and carbon consumption. This domain focuses on observability and business intelligence. It involves gathering data (ingestion), organizing it for the organization (allocation), generating reports (reporting), and monitoring to proactively identify and address issues (anomalies).\n\n[Learn more](https://www.finops.org/framework/domains/understand-usage-cost/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Understand)\n", + "markdownText": "# Understand usage and cost\nThe **Understand usage and cost** domain is focused on data acquisition, reporting, analysis, and alerting on top of your cost, usage, and carbon consumption. This domain focuses on observability and business intelligence. It involves gathering data (ingestion), organizing it for the organization (allocation), generating reports (reporting), and monitoring to proactively identify and address issues (anomalies).\n\n[Learn more](https://learn.microsoft.com/cloud-computing/finops/framework/understand/understand-cloud-usage-cost)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Understand)\n", "visualOptions": {} }, { @@ -2103,7 +2103,7 @@ "visualType": "markdownCard", "pageId": "8beab65c-f5ec-4661-bc67-37b10baffb16", "layout": { "x": 0, "y": 0, "width": 22, "height": 5 }, - "markdownText": "# Quantify business value\nThe **Quantify business value** domain focuses on analyzing cost, usage, and sustainability to align with organizational plans and measure the return on investment from cloud computing efforts. This domain is all about measuring and maximizing the business value each team and workload gets from the cloud to maximize future potential.\n\n[Learn more](https://www.finops.org/framework/domains/quantify-business-value/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", + "markdownText": "# Quantify business value\nThe **Quantify business value** domain focuses on analyzing cost, usage, and sustainability to align with organizational plans and measure the return on investment from cloud computing efforts. This domain is all about measuring and maximizing the business value each team and workload gets from the cloud to maximize future potential.\n\n[Learn more](https://learn.microsoft.com/cloud-computing/finops/framework/quantify/quantify-business-value)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", "visualOptions": {} }, { @@ -2157,7 +2157,7 @@ "visualType": "markdownCard", "pageId": "d01a8154-8a60-4d22-96ea-54b45b1417fe", "layout": { "x": 0, "y": 0, "width": 22, "height": 5 }, - "markdownText": "# Optimize usage and cost\nThe **Optimize usage and cost** domain is focused on designing and optimizing solutions for efficiency to ensure you get the most out of your cloud investments.\n\n[Learn more](https://www.finops.org/framework/domains/optimize-usage-cost/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", + "markdownText": "# Optimize usage and cost\nThe **Optimize usage and cost** domain is focused on designing and optimizing solutions for efficiency to ensure you get the most out of your cloud investments.\n\n[Learn more](https://learn.microsoft.com/cloud-computing/finops/framework/optimize/optimize-cloud-usage-cost)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Quantify)\n", "visualOptions": {} }, { @@ -2304,7 +2304,7 @@ "visualType": "markdownCard", "pageId": "11f019cd-e0cc-4aa7-a125-4dc852eb3f10", "layout": { "x": 0, "y": 0, "width": 22, "height": 5 }, - "markdownText": "# Manage the FinOps practice\nThe **Manage the FinOps practice** domain focuses on establishing a clear and consistent vision of FinOps and driving cultural adoption across your organization. Other domains are focused on the FinOps tasks you perform to drive efficiency and maximize value. This domain is focused more on how you run your FinOps practice and supporting those efforts.\n\n[Learn more](https://www.finops.org/framework/domains/manage-finops-practice/)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Manage)\n", + "markdownText": "# Manage the FinOps practice\nThe **Manage the FinOps practice** domain focuses on establishing a clear and consistent vision of FinOps and driving cultural adoption across your organization. Other domains are focused on the FinOps tasks you perform to drive efficiency and maximize value. This domain is focused more on how you run your FinOps practice and supporting those efforts.\n\n[Learn more](https://learn.microsoft.com/cloud-computing/finops/framework/manage/manage-finops)     [Give feedback](https://portal.azure.com/#view/HubsExtension/InProductFeedbackBlade/extensionName/FinOpsToolkit/cesQuestion/How%20easy%20or%20hard%20is%20it%20to%20use%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/cvaQuestion/How%20valuable%20the%20FinOps%20hubs%20Data%20Explorer%20dashboard%3F/surveyId/FTK$$ftkver$$/bladeName/Hubs.Dashboard/featureName/Manage)\n", "visualOptions": {} }, { @@ -2340,7 +2340,7 @@ "visualType": "markdownCard", "pageId": "11f019cd-e0cc-4aa7-a125-4dc852eb3f10", "layout": { "x": 17, "y": 5, "width": 5, "height": 7 }, - "markdownText": "### Governance, Policy & Risk\nGovernance, Policy & Risk refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of:\n\n- Specific SKUs\n- Resource configurations\n- Other practices that might affect cost, usage, and carbon growth\n\n📊 Coming soon\n   \n📗 [Learn more](http://aka.ms/ftk/fx/policy)", + "markdownText": "### Governance, policy, and risk\nGovernance, policy, and risk refers to the process of defining, implementing, and monitoring a framework of rules that guide an organization's FinOps efforts. With this capability, you identify and implement policies to support organizational goals by promoting or limiting the use of:\n\n- Specific SKUs\n- Resource configurations\n- Other practices that might affect cost, usage, and carbon growth\n\n📊 Coming soon\n   \n📗 [Learn more](http://aka.ms/ftk/fx/policy)", "visualOptions": {} }, { From 82e3613b674e25e54bfae2f56f1832271f7deb43 Mon Sep 17 00:00:00 2001 From: MSBrett <24294904+MSBrett@users.noreply.github.com> Date: Sun, 21 Jun 2026 09:46:03 -0700 Subject: [PATCH 12/12] chore: update ms.date on changed docs-mslearn pages Set ms.date to today on all docs-mslearn pages changed in this PR so the update-mslearn-dates CI check passes on the protected branch (the bot cannot push to update them automatically). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs-mslearn/framework/optimize/architecting.md | 2 +- docs-mslearn/framework/optimize/sustainability.md | 2 +- docs-mslearn/framework/quantify/benchmarking.md | 2 +- docs-mslearn/framework/quantify/planning.md | 2 +- docs-mslearn/framework/understand/allocation.md | 2 +- docs-mslearn/toolkit/alerts/configure-finops-alerts.md | 2 +- docs-mslearn/toolkit/alerts/finops-alerts-overview.md | 2 +- docs-mslearn/toolkit/help/errors.md | 2 +- docs-mslearn/toolkit/hubs/deploy.md | 2 +- docs-mslearn/toolkit/hubs/finops-hubs-overview.md | 2 +- docs-mslearn/toolkit/optimization-engine/overview.md | 2 +- docs-mslearn/toolkit/optimization-engine/reports.md | 2 +- docs-mslearn/toolkit/optimization-engine/setup-options.md | 2 +- .../toolkit/optimization-engine/suppress-recommendations.md | 2 +- docs-mslearn/toolkit/optimization-engine/troubleshooting.md | 2 +- docs-mslearn/toolkit/power-bi/workload-optimization.md | 2 +- docs-mslearn/toolkit/workbooks/optimization.md | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs-mslearn/framework/optimize/architecting.md b/docs-mslearn/framework/optimize/architecting.md index ad4cd461f..0571ff738 100644 --- a/docs-mslearn/framework/optimize/architecting.md +++ b/docs-mslearn/framework/optimize/architecting.md @@ -3,7 +3,7 @@ title: Architecting for cloud description: This article helps you understand the architecting for cloud capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/optimize/sustainability.md b/docs-mslearn/framework/optimize/sustainability.md index c63ac1534..25ee6ec5e 100644 --- a/docs-mslearn/framework/optimize/sustainability.md +++ b/docs-mslearn/framework/optimize/sustainability.md @@ -3,7 +3,7 @@ title: Cloud sustainability description: This article helps you understand the cloud sustainability capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/quantify/benchmarking.md b/docs-mslearn/framework/quantify/benchmarking.md index cd839d05a..fe0038138 100644 --- a/docs-mslearn/framework/quantify/benchmarking.md +++ b/docs-mslearn/framework/quantify/benchmarking.md @@ -3,7 +3,7 @@ title: FinOps benchmarking description: This article helps you understand the benchmarking capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/quantify/planning.md b/docs-mslearn/framework/quantify/planning.md index 5de714195..fffd9309b 100644 --- a/docs-mslearn/framework/quantify/planning.md +++ b/docs-mslearn/framework/quantify/planning.md @@ -3,7 +3,7 @@ title: Planning and estimating description: This article helps you understand the planning and estimating capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/framework/understand/allocation.md b/docs-mslearn/framework/understand/allocation.md index 4822bf813..945e9cc06 100644 --- a/docs-mslearn/framework/understand/allocation.md +++ b/docs-mslearn/framework/understand/allocation.md @@ -3,7 +3,7 @@ title: Allocation description: This article helps you understand the Allocation capability within the FinOps Framework and how to implement that in the Microsoft Cloud. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-learning-resources diff --git a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md index 1c6f86f39..892063d2d 100644 --- a/docs-mslearn/toolkit/alerts/configure-finops-alerts.md +++ b/docs-mslearn/toolkit/alerts/configure-finops-alerts.md @@ -3,7 +3,7 @@ title: Configure FinOps alerts description: Learn how to configure and customize FinOps alerts to perform notifications and actions based on your organizational needs. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md index f59d4275b..7532addc4 100644 --- a/docs-mslearn/toolkit/alerts/finops-alerts-overview.md +++ b/docs-mslearn/toolkit/alerts/finops-alerts-overview.md @@ -3,7 +3,7 @@ title: FinOps alerts overview description: FinOps alerts accelerate cost optimization efforts with scheduled notifications that continuously monitor your cloud environment. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/help/errors.md b/docs-mslearn/toolkit/help/errors.md index 98dff53e5..d159296a0 100644 --- a/docs-mslearn/toolkit/help/errors.md +++ b/docs-mslearn/toolkit/help/errors.md @@ -3,7 +3,7 @@ title: Troubleshoot common FinOps toolkit errors description: This article describes common FinOps toolkit errors and provides solutions to help you resolve issues you might encounter. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/deploy.md b/docs-mslearn/toolkit/hubs/deploy.md index 3b04cf768..1f3a1991f 100644 --- a/docs-mslearn/toolkit/hubs/deploy.md +++ b/docs-mslearn/toolkit/hubs/deploy.md @@ -3,7 +3,7 @@ title: How to create and update FinOps hubs description: This tutorial helps you create a new or update an existing FinOps hubs instance in Azure or Microsoft Fabric. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: tutorial ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md index b8c1f55d6..bad3b861b 100644 --- a/docs-mslearn/toolkit/hubs/finops-hubs-overview.md +++ b/docs-mslearn/toolkit/hubs/finops-hubs-overview.md @@ -3,7 +3,7 @@ title: FinOps hubs overview description: FinOps hubs provide a reliable platform for cost analytics, insights, and optimization, supporting large accounts and organizations. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/overview.md b/docs-mslearn/toolkit/optimization-engine/overview.md index 3a30f101c..f4010e52a 100644 --- a/docs-mslearn/toolkit/optimization-engine/overview.md +++ b/docs-mslearn/toolkit/optimization-engine/overview.md @@ -3,7 +3,7 @@ title: Get started with the Azure Optimization Engine description: The Azure Optimization Engine (AOE) is an extensible solution designed to generate optimization recommendations for your Azure environment. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: how-to ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/reports.md b/docs-mslearn/toolkit/optimization-engine/reports.md index faa471aa5..72f78cc88 100644 --- a/docs-mslearn/toolkit/optimization-engine/reports.md +++ b/docs-mslearn/toolkit/optimization-engine/reports.md @@ -3,7 +3,7 @@ title: Azure optimization engine reports description: Visualize the Azure Optimization Engine's rich recommendations and insights through various reporting options, including Power BI reports. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/setup-options.md b/docs-mslearn/toolkit/optimization-engine/setup-options.md index 8f98158ec..7f9e9966d 100644 --- a/docs-mslearn/toolkit/optimization-engine/setup-options.md +++ b/docs-mslearn/toolkit/optimization-engine/setup-options.md @@ -3,7 +3,7 @@ title: Setup options description: This article describes advance scenarios for setting up or upgrading Azure optimization engine (AOE). author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md index a5e30f831..8ce57eb2a 100644 --- a/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md +++ b/docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md @@ -3,7 +3,7 @@ title: Suppress recommendations description: Learn how to adjust the Azure Optimization Engine recommendation results for your environment characteristics by suppressing irrelevant recommendations. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md index b14bbc12a..3d3e8e3b5 100644 --- a/docs-mslearn/toolkit/optimization-engine/troubleshooting.md +++ b/docs-mslearn/toolkit/optimization-engine/troubleshooting.md @@ -3,7 +3,7 @@ title: Troubleshoot Azure Optimization Engine issues description: This article helps you troubleshoot common issues with Azure Optimization Engine deployment and runtime. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: troubleshooting ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/power-bi/workload-optimization.md b/docs-mslearn/toolkit/power-bi/workload-optimization.md index 8c81c0045..d25e39f38 100644 --- a/docs-mslearn/toolkit/power-bi/workload-optimization.md +++ b/docs-mslearn/toolkit/power-bi/workload-optimization.md @@ -3,7 +3,7 @@ title: FinOps toolkit Usage optimization report description: Learn about the Usage optimization report, which identifies opportunities for rightsizing and removing unused resources to enhance efficiency. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit diff --git a/docs-mslearn/toolkit/workbooks/optimization.md b/docs-mslearn/toolkit/workbooks/optimization.md index ed04a3a53..33b0a4f73 100644 --- a/docs-mslearn/toolkit/workbooks/optimization.md +++ b/docs-mslearn/toolkit/workbooks/optimization.md @@ -3,7 +3,7 @@ title: FinOps toolkit Optimization workbook description: The Azure Monitor workbook focuses on cost optimization, providing insights and recommendations for improving cost efficiency in your Azure environment. author: flanakin ms.author: micflan -ms.date: 06/17/2026 +ms.date: 06/21/2026 ms.topic: concept-article ms.service: finops ms.subservice: finops-toolkit