microsoft / finops-toolkit

Tools and resources to help you adopt and implement FinOps capabilities that automate and extend the Microsoft Cloud.
https://aka.ms/finops/toolkit
MIT License
288 stars 99 forks source link

Add Pricing to Orphaned Azure Services with Retail Rates Prices API to Advisor Cost Optimization Workbook - to justify orphaned service cleanup. #788

Open FallenHoot opened 3 months ago

FallenHoot commented 3 months ago

📝 Scenario

Persona: This scenario is for the financial controller of the organization, who is responsible for overseeing the financial health and ensuring cost-effectiveness within the Azure environment.

Action: The financial controller needs to analyze the Cost Optimization Workbook to identify and address the issue of orphaned services, which are incurring unnecessary costs.

Goal: The ultimate goal is to optimize the Azure environment for cost-efficiency, ensuring that resources are utilized effectively, and expenses are justified, leading to a better return on investment (ROI).

Need: This is needed because maintaining financial discipline is crucial for the organization's stability and growth. Identifying and eliminating wasteful expenditure on orphaned services will contribute significantly to the organization's financial health.

💎 Solution

Solution Overview: The solution will utilize the Azure Retail Rates Prices API to provide a high-level estimate of the cost savings achievable by removing identified orphaned services within the organization's Azure environment.

Outcome: The Financial Analyst will receive a report detailing the estimated monthly and annual cost savings that could be realized if the orphaned services are decommissioned. This report will be generated by cross-referencing the list of orphaned services with the pricing data retrieved from the Azure Retail Rates Prices API, considering the specific SKUs and regions applicable to the organization.

Value Proposition: By providing a quantifiable financial impact, the organization can make informed decisions on resource management, leading to improved cost efficiency and a stronger ROI focus.

📋 Tasks

### Required tasks
- [X] Identify Orphaned Services: Compile a comprehensive list of all orphaned services currently running in the Azure environment.
- [X] Gather Service Details: For each orphaned service, collect relevant details such as service type, SKU, and region.
- [ ] Access Azure Retail Rates Prices API: Obtain necessary permissions and access to the Azure Retail Rates Prices API.
- [ ] Retrieve Pricing Data: Use the API to fetch the current retail rates for the identified services based on their SKUs and regions.
- [ ] Calculate Estimated Savings: Cross-reference the orphaned services list with the pricing data to calculate the potential monthly and annual cost savings.
- [ ] Prepare Savings Report: Compile the findings into a clear and concise report, highlighting the estimated cost savings.
- [ ] Review and Validation: Ensure the accuracy of the report by cross-checking the calculations and data used.
- [ ] Decision Making: Based on the report, decide on the next steps for decommissioning the orphaned services.
- [ ] Monitor Impact: After the changes are implemented, monitor the Azure environment to ensure the expected cost savings are realized.

ℹī¸ Additional context

The Azure Retail Rates Prices API was chosen for its ability to provide detailed and up-to-date pricing information, which is essential for accurately estimating the potential cost savings from removing orphaned services. This approach aligns with the goal of providing a clear financial impact assessment to support informed decision-making within the organization.

The parameters needed to call the API are already gathered by the Cost Optimization Workbook. It is now the "simple" task to apply the API next to it.

🙋‍♀ī¸ Ask for the community

  1. Please vote this issue up (👍) to prioritize it and leave your comments below to help us refine our vision.
  2. We're seeking your insights and expertise to enhance our solution for Azure Cost Optimization. Your contributions are vital to refining our approach and ensuring its success.
arthurclares commented 2 months ago

@Springstone I'm thinking about leaving this one open to track this work for the ADX solution. What do you think? We won't be able to do that with the existing Hubs on ADF.

arthurclares commented 1 month ago

Adding the blocked status as this is pending on ADX support to be released.