Giter Club home page Giter Club logo

finops-toolkit's Issues

Document how to use Data Lake Storage outside of Power BI

โš ๏ธ Problem

As a FinOps practitioner, I need to build custom reports outside of Power BI in order to meet my organizational reporting needs

๐Ÿ› ๏ธ Solution

Document tools and services that can be connected with Data Lake Storage.

[Bicep Registry] Scheduled action bicep module for RBAC scopes

๐Ÿ“ Scenario

As a FinOps practitioner, I need to deploy scheduled actions as part of my templates in order to automate onboarding for new projects

๐Ÿ’Ž Solution

Publish scheduled action modules to the Bicep Registry for each supported scope.

โ„น๏ธ Additional context

Bicep requires separate files per deployment scope. Since this would require excessive duplication of code, we'll introduce a simple templating language optimized for enabling multi-scope deployment modules that support native Bicep tooling.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Update Build-Bicep to account for scope differences

โš ๏ธ Problem

Bicep-Build.ps1 does not account for different scopes in text strings in README.md or metadata.json. These must be manually updated.

๐Ÿ› ๏ธ Solution

  • Move core BRM files to a template folder.
  • Create a metadata file that contains details that change:
    • Name
    • Description (can change per scope)
    • Version
  • Update the build script to copy template files and update them based on the metadata.
    • Validate summary is <= 120 characters.
    • Allow formatting strings with the scope type.
    • For tenant scope, use "billing account" since we don't actually support tenant scope.
    • Prefix the README.md with the name, summary, and description.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Document end-to-end setup for initial release

โš ๏ธ Problem

Docs cover a few specific topics, which are good, but they don't explain:

  • What FinOps toolkit is.
  • Who it's built for.
  • Why they'd use it.
  • How the end-to-end setup process works.
  • What will get deployed (in a simple visual)
  • How to customize it and what not to customize.

๐Ÿ› ๏ธ Solution

Add more complete documentation for consumers.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

Check out the docs and let us know what you think is missing or would like to see added.

Merge Actual and Amortized datasets

๐Ÿ“ Scenario

As a FinOps practitioner, I need to monitor both actual and amortized costs using a single, consolidated dataset in order to produce chargeback reports and reconcile invoices without duplicating data

๐Ÿ’Ž Solution

Change amortization to be applied as separate rows, like Cost Management cost allocation, which would allow data to be either amortized or actual based on whether a filter is applied. Amortization would be the default since that is the more common scenario across the organization. (Only the people paying the invoice require the actual, billed charges.)

โ„น๏ธ Additional context

Consider writing a proposal to change how Cost Management provides amortized data. If the data was generated the same way cost allocation is generated, then this workaround wouldn't be needed and organizations would be able to reduce their data storage costs.

Create basic Power BI reports

๐Ÿ“ Scenario

As a FinOps practitioner, I need to view cost reports in order to understand my current cost details

๐Ÿ’Ž Solution

Create cost summary and commitment discount Power BI reports to get a more complete picture of current costs.

โ„น๏ธ Additional context

See reports docs for initial spec.

Document branching strategy

โš ๏ธ Problem

Everyone is currently working out of main but that will eventually cause issues when features have interim PRs that are not ready to roll out yet.

๐Ÿ› ๏ธ Solution

Document a branching strategy where devs work out of their own branches/forks, then commit back to a feature branch, which then gets merged into a dev branch. When the release is ready, we'll merge dev to main.

โ„น๏ธ Additional context

This should be done before closing any PRs that will not be included in the first release.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments if you'd like to share any thoughts to improve the plans.

[Power BI] Move all dataset processing from PBI to the data layer

โš ๏ธ Problem

Custom columns require more work to copy between reports for manual upgrades. Avoid using custom columns when possible.

๐Ÿ› ๏ธ Solution

Move the following calculated columns to be defined in the query:

  • CommitmentNameUnique
  • SubscriptionNameUnique
  • ResourceNameGroupUnique
  • ResourceNameUnique
  • CommitmentSavings
  • CommitmentType
  • CommitmentUtilizationAmount
  • CommitmentUtilizationPotential
  • DiscountSavings
  • Month
  • NegotiatedSavings
  • OnDemandCost
  • RetailCost
  • RetailPrice

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Document telemetry

โš ๏ธ Problem

The main readme must include an explicit note about telemetry collected and how to disable it.

๐Ÿ› ๏ธ Solution

Add the data collection section to this repo.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

Let us know if there's anything specific you'd like to see in this space.

Validate GitHub automation

Issues

  • 1. #Triage when new issues are created -- open issue !#Information !#Spec in progress !#Spec review !#Ready !#In progress !#Code review !assigned > #Triage @flanakin
  • 2. #Triage > #Info when comment includes "#needs-info" in a comment -- open issue "#needs-info" comment from @ankur-ms/@flanakin/@tsilvers-ms > #Info -#Triage @author
  • 2a1. +#Attention when no activity -- @1am: open issues inactive for 14d #Info -Attention > #Attention + reply
  • 2b. -#Attention when activity -- issue comment #Attention > -#Attention
  • 2a2. #Attention > Close when no activity -- @1am: open issues inactive for 14d #Info #Attention > Close #NoActivity + reply
  • 2b1. #Duplicate > Close when no activity -- @1am: open issues inactive for 7d #Duplicate > Close + reply
  • 3. #Info > #Triage when author comments -- open issue comment from author #Info > -#Info #Triage @flanakin
  • 4. -#Triage when "#approved" comment -- open issue "#approved" comment from @ankur-ms/@flanakin/@tsilvers-ms #Triage > -#Triage @none
    - [ ] No tags
    - [ ] "#ADF" > #Data factory
    - [ ] "#ARM" > #ARM
    - [ ] "#PBI" > #Power BI
  • 6. #Spec in progress > #Spec review when "Spec review:" PR created -- open issues #Spec in progress +#Spec review > -#Spec in progress
  • 7. #Spec review > #Ready when "Spec review:" PR closes -- open issues #Spec review +#Ready > -Spec review
  • 8. #Ready > #In progress when dev assigned -- open issues #Ready @ankur-ms/tsilvers-ms > -#Ready #In progress
  • 9. #In progress > #Code review when dev creates PR -- new PR #In progress > issue+#Code review +#(copy Area|Breaking|GFI|HW|Micro|Type from issue)
    -- Issues #In progress +#Code review > -#In progress
  • 10. #Code review > #Pending release when PR closes linked issue -- open issues closed #Code review > -#Code review #Pending release
  • 11. #Pending release > #Released when issue is included in a release -- closed issue "Released in v" comment #Pending release > -#Pending release #Released

Pull requests

  • 1. (New) > #Review when opened -- new/updated PR =main > #Review @ankur-ms @tsilvers-ms @flanakin +reviewers
  • 3a. #Attenton > #Review when PR updated -- author updated PR #Attention > -#Attention #Review
  • 3c. #Attenton > #Review when PR comment updated -- author PR comment #Attention > -#Attention #Review
  • 4. #Review > Close???

[Hubs] Support for large datasets

๐Ÿ“ Scenario

As a FinOps practitioner, I need to ingest data into a queryable data store in order to report on data at scale beyond $5M/mo

๐Ÿ’Ž Solution

Support large datasets (e.g., 500 GB/mo) with up to 7 years of historical data that refreshes when changed by adding an option to ingest data into Azure Data Explorer and update reporting to leverage that database.

๐Ÿ“‹ Tasks

Required tasks

  1. Needs: Information Tool: FinOps hubs
    Springstone
  2. Tool: FinOps hubs
    Springstone
  3. Tool: FinOps hubs
    Springstone
  4. Skill: Documentation Tool: FinOps hubs
  5. Tool: FinOps hubs

Stretch goals

  1. Needs: Information Tool: FinOps hubs Tool: Power BI
  2. Needs: Information Tool: FinOps hubs
  3. Needs: Information Tool: FinOps hubs

โ„น๏ธ Additional context

There was an internal analysis of the optimal data store to use for the largest datasets and Azure Data Explorer was deemed to be the best option that balanced cost, performance, and scale.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

[Power BI] Cost estimation Power BI report

๐Ÿ“ Scenario

As a FinOps practitioner, I need to estimate the cost of my hub instance in order to plan for future spending

๐Ÿ’Ž Solution

Create a Power BI report that looks at hub configuration settings and available data size to report on historical and estimate future monthly spending.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Hubs v0.1 โ€“ Power BI on CM exports

๐Ÿš€ Goal

Create an ARM template that configures a new Cost Management export to ADLS and generates a Power BI report that can work against that dataset. The template should also include a Data Factory pipeline to delete old files when data is exported each day.

๐Ÿ“‹ Tasks

v0.0.1 - finops-hub template (discuss)

  1. Skill: Documentation
  2. Skill: Deployment
  3. Tool: Power BI
    flanakin
  4. Skill: Documentation
    flanakin
  5. Tool: Power BI
    flanakin
  6. Skill: Deployment Skill: Documentation
    flanakin
  7. Skill: Data factory Skill: Deployment
    aromano2
  8. Skill: Documentation
    flanakin
  9. Skill: DevOps
    flanakin
  10. Skill: Deployment
    aromano2
  11. Skill: Data factory
    MSBrett
  12. Skill: Deployment Tool: PowerShell
    flanakin
  13. Skill: Deployment Type: Bug ๐Ÿ›
    flanakin
  14. Skill: Data factory Skill: Deployment Tool: PowerShell
    flanakin
  15. Skill: Data factory Skill: Deployment
    flanakin
  16. 1 of 1
    Status: ๐Ÿ”ฌ Code review Tool: FinOps hubs Tool: Power BI
    flanakin
  17. 13 of 13
    Skill: Documentation Status: ๐Ÿ”„๏ธ In progress Tool: FinOps hubs Type: Cleanup
    flanakin
  18. 2 of 2
    Skill: Deployment Tool: FinOps hubs
    flanakin

v0.0.2 - Self-managed exports (discuss)

  1. Good first issue ๐Ÿ† Micro PR ๐Ÿ”ฌ Skill: Documentation Status: ๐Ÿ“ฆ Pending release Tool: FinOps hubs Type: Bug ๐Ÿ›
    flanakin
  2. Status: ๐Ÿ“ฆ Pending release Tool: FinOps hubs Tool: Power BI
    flanakin
  3. Status: ๐Ÿ“ฆ Pending release Tool: FinOps hubs Type: Bug ๐Ÿ›
    flanakin
  4. Skill: Data factory Skill: Deployment Status: โœ… Released Tool: FinOps hubs
    MSBrett
  5. Skill: Data factory Tool: FinOps hubs
    MSBrett
  6. Tool: PowerShell Type: Feature ๐Ÿ’Ž
    MSBrett

v0.0.3 - Additional datasets (discuss)

  1. Skill: Data factory Tool: FinOps hubs Type: Feature ๐Ÿ’Ž

v0.1 - FOCUS schema (discuss)

  1. Skill: Data factory Skill: Documentation Status: โœ๏ธ Spec in progress
    flanakin
  2. Skill: Data factory Status: โœ๏ธ Spec in progress
  3. Skill: Data factory Type: Feature ๐Ÿ’Ž

Stretch

  1. Needs: Information Tool: Power BI
  2. Tool: FinOps hubs Type: Feature ๐Ÿ’Ž
    yuanzhang9

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We'd love to get your feedback! Please leave any questions, comments, or change requests in the release discussions at the bottom of each task list above. We'll try to close each of those out before we finalize the release.

[Power BI] Select a single currency by default

โš ๏ธ Problem

When a hub has multiple currencies, Power BI shows them all together, which isn't valid. People have to select a single currency before the report can accurately render.

๐Ÿ› ๏ธ Solution

Have the filter preset based on what currencies are available. Prefer the currency that is used the most.

Add containers and settings to storage

โš ๏ธ Problem

Settings must be saved to storage in order to have exports dynamically created.

๐Ÿ› ๏ธ Solution

  • Update the finops-hub template and hub.bicep module to accept exportScopes.
  • Pre-create the config, ms-cm-exports, and ingestion storage containers in the hub.bicep module.
  • Save the config/settings.json file in the hub.bicep module.

โ„น๏ธ Additional context

See finops-hub template and hub module specs.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Automate Azure Quickstart Templates repo publishing

โš ๏ธ Problem

Azure Quickstart Templates is the primary repository that FinOps toolkit releases will be published to. We need to minimize the effort needed to publish updates to ensure the process is as smooth and error-free as possible.

๐Ÿ› ๏ธ Solution

Automate the AQT release process as much as possible to avoid manual, error-prone steps. If we can't automate the actual publishing, at least generate a ZIP file that can be used to manually publish.

โ›” Blocked on modules other changes being committed so we can move modules into the finops-hub folder.

โ„น๏ธ Additional context

See also: https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/README.md#contribution-guide

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

[Hubs] Managed exports โ€“ Create exports on behalf of customers

๐Ÿ“ Scenario

As a hub admin, I need to automate CM export creation in order to minimize administrative overhead

๐Ÿ’Ž Solution

Create a msexports_Setup pipeline in ADF to manage Cost Management data exports automatically. Use config\settings.json to store the list of exports that will be managed.

๐Ÿ“— Documentation updates

  1. Remove steps 2 and 3 (create and run exports) in Create a new hub.
  2. Add the following paragraph before the info message under the "Access the cost data from custom tools" bullet in Get started with hubs.

    Data is ingested into the msexports container and transformed when moved into the ingestion container. Do not use the msexports container for anything other than Cost Management exports. If manipulating data, please do that in the ingestion container after the transform pipeline completes. Don't remove or rename columns, as that can break Power BI reports.

  3. Remove the comment about needing to setup Cost Management exports on the FinOps hub template description.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

[Hubs] Connector datasets โ€“ Add data parity with the Cost Management Power BI connector

๐Ÿ“ Scenario

As a FinOps practitioner, I need to report on many datasets in order to show a complete picture of my costs

๐Ÿ’Ž Solution

Add support for the following datasets based on what's currently available in the Cost Management connector for Power BI:

  • Balance summary (EA only)
  • Budgets
  • Actual cost
  • Pricesheets
  • Reservation charges
  • Shared reservation recommendations
  • Scoped reservatios recommendations

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Cost optimization workbook

๐Ÿ“ Scenario

As a FinOps practitioner, I need a central cost optimization hub in order to drive cost optimization within my organization

๐Ÿ’Ž Solution

Create a Cost optimization workbook that summarizes potential savings opportunities.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Implement a hard limit for budgets

๐Ÿ“ Scenario

As a FinOps practitioner, I need to stop all charges when a budget is exceeded in order to control costs

๐Ÿ’Ž Solution

Create a template that can deploy an action group with script to shut down and/or delete resources.
-OR-
Add the ability to monitor cost and trigger custom actions in FinOps hubs.

[Power BI] Create an Inventory page in the Cost summary report

๐Ÿ“ Scenario

As a DevOps team/leadership, I need to understand how many resources are deployed by type in order to <TODO: What is the goal? Why is this needed?>

โญ This is a requested feature, but we could use more context on how and why it would be used. Please leave comments.

๐Ÿ’Ž Solution

Create an Inventory page that provides a breakdown by resource type.

โ„น๏ธ Additional context

Consider writing a proposal to offer a built-in view inside of Cost Management for the same, if applicable.

Save deployment parameters file

๐Ÿ“ Scenario

As a hub admin, I need to save my deployment parameters file in order to update my deployment in the future.

๐Ÿ’Ž Solution

Save the deployment parameters file to the export storage account.

Use FOCUS schema for cost details

๐Ÿ“ Scenario

As a FinOps practitioner, I need to ingest data using a standard schema in order to support multiple clouds and account types

๐Ÿ’Ž Solution

Create a data factory pipeline that transforms data to the FOCUS schema. Use a new container for data ingestion and move Cost Management exports into this container when transformed.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

[Power BI] Create a Tags page in the Cost summary report

๐Ÿ“ Scenario

As a FinOps practitioner, I need to break costs down by tag in order to identify tagging gaps and perform chargeback

๐Ÿ’Ž Solution

Create a Tags page in Power BI that helps understand what tag keys are applied, offers drilldown into the tag values, and also what resources are missing tags.

โ„น๏ธ Additional context

Consider creating a proposal for a built-in view in Cost Management for this, given the in-portal experience would likely be a better place for DevOps teams to discover and resolve tag gaps.

Test

## ๐Ÿ› Problem

prob

## ๐Ÿ‘ฃ Repro steps

repro

## ๐Ÿค” Expected

expected

## ๐Ÿ“ท Screenshots

screens

## โ„น๏ธ Additional context

add'l

Publish v0.0.1 template to Azure Quickstart Templates

โš ๏ธ Problem

Most people won't discover the toolkit from GitHub alone.

๐Ÿ› ๏ธ Solution

Publish the toolkit templates to Azure Quickstart Templates.

โ›” Blocking issues

  1. 1 of 1
    Status: ๐Ÿ”ฌ Code review Tool: FinOps hubs Tool: Power BI
    flanakin
  2. Skill: Deployment Tool: PowerShell
    flanakin

โ„น๏ธ Additional context

See also: https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/README.md#contribution-guide

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

[Hubs] Historical data backfill โ€“ Preload historical data when a scope is added

๐Ÿ“ Scenario

As a FinOps practitioner, I need to backfill historical cost data in order to report on past data and monthly trends in the initial release

๐Ÿ’Ž Solution

Update the ms-cm-exports_Setup pipeline in ADF to handle data ingestion for historical data. Reuse the same exports to ensure data is placed in the same folder. Refer to config\settings.json for data retention settings.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Update Power BI data sources to use parquet

โš ๏ธ Problem

CSV is slower to process, so we're switching to parquet for data storage.

๐Ÿ› ๏ธ Solution

Switch Power BI to ingest data in parquet format.

โ›” Blocking issues

  1. Skill: Data factory
    MSBrett

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Add @include directive for Bicep templating

โš ๏ธ Problem

There are some common patterns that we'll use in multiple bicep files that could be error prone when repeated often or introduce maintenance burden when needing to update them.

๐Ÿ› ๏ธ Solution

Add an option to include reusable files using our Bicep templating. Something like:

// @include ../../include/telemetry.bicep

Consider explicit directives for the most common scenarios, like telemetry.

// @telemetry 'unique-id'

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Toolkit v1.0 โ€“ Basic Cost Management automation

๐Ÿ“ Scenario

As a FinOps practitioner, I need to automate the deployment of Cost Management resources in order to streamline onboarding

๐Ÿš€ Goal

Publish modules to the Bicep Registry for all Cost Management features to simplify template creation.

๐Ÿ“‹ Tasks

v0.1 โ€“ Basics (discuss)

  1. Help wanted โœจ Skill: Deployment Tool: Bicep Registry Type: Feature ๐Ÿ’Ž
  2. Skill: Deployment Status: ๐Ÿ”ฌ Code review Type: Feature ๐Ÿ’Ž
    flanakin
  3. 40 of 76
    Status: ๐Ÿ”„๏ธ In progress Tool: FinOps hubs Type: Release ๐Ÿš€
    flanakin

v0.2 โ€“ Bicep modules for billing accounts (discuss)

v0.3 โ€“ Scripts for resources (discuss)

v0.4 โ€“ Scripts for read-only APIs (discuss)

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We'd love to get your feedback! Please leave any questions, comments, or change requests in the release discussions at the bottom of each task list above. We'll try to close each of those out before we finalize the release.

Time-based scheduling for exports

๐Ÿ“ Scenario

As a FinOps practitioner, I need to have data p ushed at specific times in order to have a complete dataset when presenting to leadership

๐Ÿ’Ž Solution

Configure a data factory pipeline to manually run exports at specific times rather than waiting for exports to be run on their schedule.

Transform CM exports to a normalized schema

๐Ÿ“ Scenario

As a FinOps practitioner, I need to normalize cost data to a standard schema in order to **manage costs from **

๐Ÿ’Ž Solution

Normalize cost data to an interim schema (since FOCUS is not available yet) that aligns to the current Cost Managment connector schema.

๐Ÿ“— Documentation updates

  1. Change the transform step in the data processing page to:

    The msexports_Transform pipeline transforms the raw data to the normalized schema and saves it in parquet format to the ingestion container. For details about the transformation, see the dev docs.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Do you have preferences on what should be covered in the normalized schema?
  3. Leave comments to help us solidify the vision.

Automate storage account data reader role assignment

๐Ÿ“ Scenario

As a FinOps hub admin, I need to automate assignment of the Storage Account Data Reader role in order to streamline Power BI setup

๐Ÿ’Ž Solution

Create a template that assigns the Storage Account Data Reader role. Consider making this an optional part of the finops-hub template.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Enable tag inheritance during deployment

๐Ÿ“ Scenario

As a FinOps practitioner, I need to enable tag inheritance in order to streamline cost allocation and chargeback

๐Ÿ’Ž Solution

Create a template that enables tag inheritance for an EA billing account, MCA billing profile, or EA/MCA subscription.

Also add this as an option to the export and FinOps hub with exports templates.

Pipeline to dedupe and convert to parquet

๐Ÿ“ Scenario

As a FinOps practitioner, I need to dedupe CM exports in order to directly link Power BI to ADLS as a data source

๐Ÿ’Ž Solution

Create an ms-cm-exports_Transform pipeline to copy data from the ms-cm-exports container to the ingestion container in parquet format and overwrite old exports.
Start from https://github.com/MSBrett/ccm_lite/blob/main/ARM/azuredeploy.json and copy relevant pieces of https://github.com/MSBrett/ccm_lite/blob/main/Deploy-EA.ps1, as appropriate.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

Let us know if there's anything you'd like to see changed.

Add an option to deploy the Power BI reports to storage

๐Ÿ“ Scenario

As a FinOps hubs admin, I need to deploy and auto-configure PBIX files in order to streamline setup after each release

๐Ÿ’Ž Solution

Add an option to templates that allow an admin to decide if they want files deployed or not. When files are deployed, they should be auto-configured to point to the correct storage account. Auth credentials should be provided on first-run. Update the pbix template output to point to the new files.

Interim normalized schema spec

โš ๏ธ Problem

EA, MOSA, MCA, CSP, and classic Internal subscriptions all use different schemas. FOCUS is not available yet, so we need an interim schema.

๐Ÿ› ๏ธ Solution

Standardize a cost data schema that can be used until FOCUS is finalized.

The following changes have been scoped out for now to minimize changes compared to the Cost Management connector:

  • Rename AccountOwnerId to ClassicAccountOwnerId
  • Rename AccountName to ClassicAccountName
  • Rename BenefitId/Name to CommitmentId/Name
  • Rename BillingCurrencyCode to Currency
  • Rename ConsumedService to ResourceProvider = ConsumedService || (parse from ResourceId)
  • Rename CostInBillingCurrency to Cost
  • Rename CustomerTenantId to CustomerId
  • Rename CustomerName to CustomerName
  • Rename MeterCategory to ServiceName
  • Rename MeterSubCategory to ServiceTier
  • Rename PartnerTenantId to PartnerId
  • Rename ProductOrderId to OfferId
  • Rename ProductOrderName to OfferName
  • Rename ResellerMpnId to ResellerId
  • Add ResourceGroupId = ResourceGroupName == null ? null : (parse from ResourceId)
  • Add ResourceLocationId and ResourceLocationName for internal ID and English display names
  • Add ResourceTypeName (display names from Azure portal)
  • Add ServiceLevel = Allowed: OnPremises, Infrastructure, Platform, Software, Other
  • Add Hybrid Benefit columns from Power BI reports: HybridBenefitStatus, HybridBenefitVCPUs, CPUHours, CPUs, ImageType, InstanceName, SKU, UsageType, VMProperties, vCPUs
  • Add unique name columns from Power BI reports: BenefitNameUnique, ResourceGroupNameUnique, ResourceNameUnique, SubscriptionNameUnique
  • Add utilization and savings columns from Power BI reports: BenefitSavings, BenefitType, BenefitUtilizationAmount, BenefitUtilizationPotential, DiscountSavings, NegotiatedSavings, OnDemandCost
  • Consider merging ServiceInfo1 and ServiceInfo2 into AdditionalInfo
  • Only show column PartnerEarnedCreditRate/Applied if available
  • FOCUS: Rename ServiceFamily to ServiceCategory + add mapping to allowed values
  • Consolidation of actual and amortized cost into a single dataset
  • Consider a way to opt in to localized strings

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

Enable tag inheritance at scale

๐Ÿ“ Scenario

As a FinOps practitioner, I need to enable tag inheritance in order to facilitate chargeback reporting

๐Ÿ’Ž Solution

Create templates to enable tag inheritance for EA billing accounts, MCA billing profiles, and EA/MCA subscriptions.

Consider blueprints as an option to automate application for all subscriptions.

[Power BI] Currency conversion

๐Ÿ“ Scenario

As a user in a global organization, I need to convert my billing currency to my personal local currency in order to understand and report on costs within my local geography

๐Ÿ’Ž Solution

Cost details includes a separate column for cost in USD, but all the reports are using the Cost column. Add the ability to convert this USD column to any currency using a free or open-source currency conversion service.

โ„น๏ธ Additional context

Microsoft has currency conversion rates available internally. Consider writing a proposal for how we'd like to see that exposed via Cost Management APIs.

Export template

๐Ÿ“ Scenario

As a FinOps practitioner, I need to enable exports independently from the main FinOps toolkit deployment in order to handle scenarios where different accounts require different access

๐Ÿ’Ž Solution

Create a separate export template in addition to the finops-hub-with-exports template.

[Power BI] Partner-earned credit report

๐Ÿ“ Scenario

As a CSP partner, I need to view partner-earned credit in order to understand how much I'm earning from my customers

๐Ÿ’Ž Solution

Create a separate Power BI report focused on partner-earned credit (PEC) scenarios.

Update docs based on revised plans

โš ๏ธ Problem

In an effort to accelerate timelines, we are merging with https://github.com/MSBrett/ccm_lite for the v0.1 release.

๐Ÿ› ๏ธ Solution

Update docs based on revised plans for the 0.1 release.

๐Ÿ™‹โ€โ™€๏ธ Ask for the community

We could use your help:

  1. Please vote this issue up (๐Ÿ‘) to prioritize it.
  2. Leave comments to help us solidify the vision.

[Power BI] Create a SQL Azure Hybrid Benefit page in the Cost summary report

๐Ÿ“ Scenario

As a SQL admin, I need to review my AHB usage in order to determine if I'm maximizing my existing licenses

๐Ÿ’Ž Solution

Create a new Azure Hybrid Benefit report for SQL Server licenses.

โ„น๏ธ Additional context

The main issue here is that SQL and Windows usage data is inconsistent. Consider creating a proposal for the SQL and/or VM teams to emit usage in a consistent manner. Another possible workaround is to manipulate data in Data factory, but this is less ideal.

Test bug from form

๐Ÿ› Problem

problem goes here

๐Ÿ‘ฃ Repro steps

      1. ...

๐Ÿค” Expected

expected this

๐Ÿ“ท Screenshots

[ o ]

โ„น๏ธ Additional context

More to say...

Export expiration handling

๐Ÿ“ Scenario

As a FinOps hub admin, I need to be notified before my exports expire in order to ensure cost management activiites are not interupted

๐Ÿ’Ž Solution

Enable an option to either notify admins or auto-renew exports.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.