Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FOCUS-580: remove use case library and link to the FOCUS website #581

Merged
merged 1 commit into from
Oct 4, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 1 addition & 44 deletions specification/use_case_library.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,3 @@
# Use Case Library

The following table contains a set of commonly performed FinOps scenarios that were used as a basis for developing this specification. These use cases were developed by FinOps practitioners.

| Persona | Capability | Use Case | FOCUS Columns |
|:--|:--|:--|:--|
| Business / Product Owner | Budget Management | As a Business/Product Owner, I need to compare actual usage costs incurred within a time period to the amount forecasted. | BilledCost<br>BillingAccountId<br>BillingAccountName<br>ChargePeriodStart<br>ChargePeriodEnd<br>ChargeCategory<br>Provider |
| Engineering & Operations | Budget Management | As an Engineering Manager who wants to reduce their billed cost for Compute for a specific provider, I want to understand what is my current rate of commitment discount (without negotiated discounts) per type of commitment, so that I can strategize further purchases | BillingPeriodStart<br>CommitmentDiscountType<br>EffectiveCost<br>ProviderName<br>ServiceName<br>SubAccountId<br>SubAccountName |
| Engineering & Operations | Data Analysis and Showback | As an Engineer, I want to understand the costs of the components that belong to an application | ChargeDescription<br>ChargePeriodStart<br>EffectiveCost<br>ResourceId<br>ResourceName<br>ResourceType<br>ServiceCategory<br>ServiceName<br>SkuId<br>Tags |
| Engineering & Operations | Data Analysis and Showback | As an Engineer, I want to understand the costs of the components for a specific resource | ChargePeriodStart<br>EffectiveCost<br>ResourceId<br>ResourceName<br>SkuId |
| Engineering & Operations | Data Analysis and Showback | As an Engineer, I want to understand the costs of all components and resources within a subaccount | ChargePeriodStart<br>EffectiveCost<br>ResourceId<br>ResourceName<br>SkuId<br>SubAccountId |
| Engineering & Operations | Data Analysis and Showback | As an Engineering & Operations person I would like to analyze the usage of serverless requests on a weekly basis to identity potential optimization candidates | BilledCost<br>ProviderName<br>ChargePeriodStart <br>ChargePeriodEnd <br>SkuId<br>ConsumedQuantity<br>Tags<br>ConsumedUnit |
| Engineering & Operations | Data Analysis and Showback | As an Engineer, I need to extract a ranked list of the top 10 service cost drivers within a sub account from a time period | ChargePeriodStart<br>EffectiveCost<br>SubAccountId<br>SubAccountName<br>ServiceName |
| Engineering & Operations | Workload Management & Automation | As an Engineer I need to ensure my costs within a region are distributed across the different availability zones in an expected manner. | ProviderName<br>AvailabilityZone<br>RegionId<br>RegionName<br>BillingPeriodStart<br>EffectiveCost |
| Engineering & Operations | Workload Management & Automation | As an Engineering manager, I need to see the cost of each compute resource in a production SubAccount I'm responsible for. | ResourceId<br>ResourceName<br>ChargePeriodStart<br>ChargePeriodEnd<br>ServiceName<br>ServiceCategory<br>PricingQuantity<br>EffectiveCost |
| Finance | Budget Management | As a person in Finance, I need to update cloud budget with actual cost details within a billing period | BilledCost<br>BillingPeriodStart<br>BillingPeriodEnd<br>ProviderName |
| Finance | Budget Management | As a person in Finance, I need to update budget, by application, with actual cost details within a billed time period | BilledCost<br>BillingPeriodStart<br>BillingPeriodEnd<br>ProviderName<br>Tags |
| Finance | Budget Management | As a person in Finance, I need to track tax costs month over month. | BillingPeriodStart<br>BilledCost<br>ChargeCategory<br>ProviderName |
| Finance | Budget Management | As a Financial Analyst or member of the company's treasury, I would like to understand what volume of commitment discount charges are going to reoccur in the coming financial year | ChargeFrequency<br>BillingPeriodStart<br>BilledCost |
| Finance | Data Analysis and Showback | As a Finance person of a company that sells SaaS services, I need to determine the resource quantity and type used by a customer so that a monthly invoice can be issued to the customer. | ProviderName <br>BillingPeriodStart <br>SkuId<br>PricingQuantity<br>ConsumedQuantity<br>ConsumedUnit<br>Tags |
| Finance | Data Analysis and Showback | As a person in Finance, I need a report of all cost associated with a product from all geographic locations for a given month. | BilledCost<br>BillingCurrency<br>BillingAccountId<br>BillingAccountName<br>BillingPeriodEnd<br>ProviderName<br>Tags |
| Finance | FinOps & Intersecting Frameworks | As a person in Finance, I need a report of service-level cost within a specific Sub Account as a part of a private pricing negotiation. | BillingPeriodStart<br>EffectiveCost<br>ProviderName<br>ServiceName<br>SubAccountId<br>SubAccountName |
| Finance | Forecasting | As a person in Finance, I need to forecast amortized costs on a month over month basis, based on historical trends | BillingPeriodStart<br>ChargeCategory<br>EffectiveCost<br>PricingUnit<br>ProviderName<br>ServiceName<br>ServiceCategory |
| Finance | Forecasting | As a person in Finance, I need to forecast cashflow on a month over month basis, based on historical trends | BillingPeriodStart<br>ChargeCategory<br>ChargeDescription<br>BilledCost<br> BillingCurrency <br>ProviderName<br>ServiceName<br>ServiceCategory |
| FinOps Practitioner | Data Analysis and Showback | As a FinOps practitioner, I need to analyze service costs month over month, over a time period | EffectiveCost<br>BillingPeriodStart<br>ProviderName<br>ServiceName |
| FinOps Practitioner | Data Analysis and Showback | As a FinOps practitioner, I need to analyze service costs, by region, over a time period | EffectiveCost<br>BillingPeriodStart<br>ProviderName<br>RegionId<br>RegionName<br>ServiceName |
| FinOps Practitioner | Data Analysis and Showback | As a FinOps practitioner, I need to analyze Compute Engine service costs month over month for a period of time to identify accounts spending the most money on Compute Engine | BilledCost<br>BillingPeriodStart<br>ProviderName<br>ResourceId<br>ResourceName<br>ServiceName<br>SubAccountId<br>SubAccountName |
| FinOps Practitioner | Data Analysis and Showback | As a FinOps practitioner, I want to monitor how much we are spending on a specific SaaS product purchased via the cloud service provider's marketplace. | ChargePeriodStart<br>ChargePeriodEnd<br>EffectiveCost<br>InvoiceIssuer<br>ProviderName<br>Publisher |
| FinOps Practitioner | Data Analysis and Showback | As a FinOps Practitioner, I need to understand what we are spending across providers, billing periods, and service categories | ProviderName<br>BillingPeriodStart<br>BilledCost<br>BillingCurrency<br>ServiceCategory |
| FinOps Practitioner | FinOps & Intersecting Frameworks | As a FinOps Practitioner, I need to verify the accuracy of the cloud service provider invoices | ProviderName<br>BillingAccountId<br>BillingAccountName<br>BillingPeriodStart<br>BilledCost<br>BillingCurrency |
| FinOps Practitioner | FinOps & Intersecting Frameworks | As a FinOps Practitioner, I need to verify the accuracy of the cloud service provider invoices and the underlying services | ProviderName<br>BillingAccountId<br>BillingAccountName<br>BillingPeriodStart<br>BilledCost<br>BillingCurrency<br>ServiceName |
| FinOps Practitioner | FinOps & Intersecting Frameworks | As a FinOps Practitioner, I need to reconcile discounts on the cloud service provider invoices and the underlying services | ProviderName<br>BillingAccountId<br>BillingAccountName<br>BillingPeriodStart<br>BilledCost<br>BillingCurrency<br>EffectiveCost<br>ListCost<br>ServiceName |
| FinOps Practitioner | FinOps & Intersecting Frameworks | As a FinOps Practitioner, I need to analyze usage data of resources | ChargePeriodStart<br>ChargeCategory<br>EffectiveCost<br>ProviderName<br>PricingQuantity<br>ConsumedQuantity<br>ResourceId<br>ServiceName<br>SkuId<br>ConsumedUnit |
| FinOps Practitioner | Forecasting | As a FinOps Practitioner, I need to forecast costs, based on historical usage trends and rates | BillingPeriodStart<br>ChargeCategory<br>ChargeDescription<br>EffectiveCost<br>ProviderName<br>PricingQuantity<br>ConsumedQuantity<br>RegionId<br>ServiceCategory<br>ServiceName<br>SkuId<br>ConsumedUnit |
| FinOps Practitioner | Managing Anomalies | As a FinOps Practitioner, I need to see the daily costs across all cloud providers, billing accounts, and sub accounts | BillingAccountId<br>SubAccountId<br>ChargePeriodStart<br>ChargePeriodEnd<br>ProviderName<br>EffectiveCost |
| FinOps Practitioner | Managing Anomalies | As a FinOps Practitioner, I need to see the daily costs across all cloud providers, billing accounts, sub accounts, and region | BillingAccountId<br>SubAccountId<br>ChargePeriodStart<br>ChargePeriodEnd<br>EffectiveCost<br>ProviderName<br>RegionId<br>RegionName |
| FinOps Practitioner | Managing Anomalies | As a FinOps practitioner, I need to see the daily costs across all cloud providers, billing accounts, sub accounts, and service | BillingAccountId<br>SubAccountId<br>ChargePeriodStart<br>ChargePeriodEnd<br>EffectiveCost<br>ProviderName<br>ServiceName |
| FinOps Practitioner | Managing Commitment Discounts | As a FinOps Practitioner, I want to track all commitment discounts purchased for a time period | ProviderName<br>BillingAccountId<br>CommitmentDiscountId<br>CommitmentDiscountType<br>BilledCost<br>ChargePeriodStart<br>ChargeCategory |
| FinOps Practitioner | Managing Commitment Discounts | As a FinOps Practitioner, I want to track unused commitment charges in any given time period so that I consider them in my future commitment planning or remedy them | CommitmentDiscountStatus (filter)<br>CommitmentDiscountId<br>BilledCost<br>ChargePeriodStart |
| FinOps Practitioner | Resource Utilization & Efficiency | As a FinOps Practitioner, I need to analyze the fleet diversity in order to run a campaign to standardize application architecture. | ChargeCategory<br>ChargeDescription<br>ChargePeriodStart<br>ProviderName<br>ResourceType<br>SubAccountId<br>ServiceName |
| FinOps Practitioner | Resource Utilization & Efficiency | As a FinOps Practitioner, I need to analyze the fleet diversity in order to run a campaign to standardize application architecture within a specific service | ChargeCategory<br>ChargeDescription<br>ChargePeriodStart<br>ProviderName<br>ResourceType<br>SubAccountId<br>ServiceName |
| FinOps Practitioner | Resource Utilization & Efficiency | As a FinOps Practitioner, I need to identify total refunds within a billing period. | ProviderName<br>BillingAccountId<br>ServiceCategory<br>BilledCost<br>BillingPeriodStart<br>ChargeCategory<br>ChargeClass |
| FinOps Practitioner | Resource Utilization & Efficiency | As a FinOps Practitioner, I need to identify refunds across sub accounts within a billing period. | ProviderName<br>BillingAccountId<br>ServiceCategory<br>BilledCost<br>BillingPeriodStart<br>ChargeCategory<br>ChargeClass<br>SubAccountId |
| FinOps Practitioner | Workload Management & Automation | As a FinOps Practitioner, I need to do an analysis on compliance to data residency requirements across all regions | ChargePeriodStart<br>ProviderName<br>RegionId<br>RegionName<br>SubAccountId |
| Procurement | Data Analysis and Showback | As a person in Procurement, I need to understand what we are spending, across billing periods, across service categories to focus negotiations toward highest costing items | ProviderName<br>BillingAccountId<br>BillingAccountName<br>BillingCurrency<br>BilledCost<br>BillingPeriodStart<br>ServiceCategory<br>ServiceName |
| Procurement, Finance, FinOps Practitioner | FinOps & Intersecting Frameworks | Multiple personas in an organization need to know the top SKU Codes based on spend, so that they can achieve multiple goals such as contract negotiation, SKU based forecasting, or high unit cost cleanup activities. | ChargePeriodStart<br>ChargePeriodEnd<br>ListCost<br>PricingUnit<br>ListUnitPrice<br>PricingQuantity<br>SkuId<br>SkuPriceId<br>ProviderName |
This specification is based on a set of common FinOps use cases, which are publicly available at [https://focus.finops.org/use-cases/](https://focus.finops.org/use-cases/). Developed by FinOps practitioners, these use cases are organized by persona and capability, making it easy to find relevant scenarios. Each use case includes sample SQL queries to help you get started with implementation.
Loading