FOCUS_Spec
FOCUS_Spec copied to clipboard
Update to allowed ServiceCategory values
Type
Type of issue Dimension Normalized? Yes
Description
The list of service categories currently does not meet AWS's needs. We would like to add service category options so that AWS can properly represent its services.
Here is a comparison of the current FOCUS service category list related to AWS service categories:
-
The ones in Yellow are instances where there is a direct mapping, but AWS has a different name. We are okay using these as is.
-
The ones in Blue are where AWS does a different grouping related to FOCUS. We would like to add these categories so that AWS can provide the grouping that matches AWS's grouping.
-
The ones in Red are missing in FOCUS and make sense to us to just add to the allowed list.
Service category mappings that were previously considered based on common categories used by major providers: https://docs.google.com/spreadsheets/d/1q-3tDFE2lSqAg6DpBs5GZJ6WJtQ5z4Qwt2Rt5_KrukU/edit#gid=1562681871
@rupagcp / @flanakin - would like to get your review on the items raised in red, are there items in this list you feel need a new FOCUS Category added in 1.0. We do want to avoid having product_codes mapping to 'other' when we know there is a group needed in 1.0. The expectation is we review the normalised values each release and determine if more categories are needed.
@AWS-ZachErdman the intent here is to have a normalized field across vendors so this list was discussed in detail in the above spreadsheet linked by @udam-f2. It will be impossible to have a normalized group of values that matches 1:1 to all vendors marketing pages, but we expect most product_codes to fit into one of these categories.
Also relevant is how the community mapped AWS services in the open source Converter tool: https://github.com/finopsfoundation/focus_converters/blob/dev/focus_converter_base/focus_converter/conversion_configs/aws/mapping_files/aws_category_mapping.csv
I don't have access to Udam's sheets but requested it. I assume the list above contains all of the Google Cloud service categories? https://cloud.google.com/terms/services
There's some nuance on language; above it says "containers" (in red), and GCP says "Container Services" etc
For context, here are the principles we landed on for service categories, including when to create new ones:
- Every category must represent a single technology. Do not "and" multiple categories together unless they are synonymous.
- Each category should be unique and should not be a logical child of another category (e.g., Containers are a subclassification of Compute).
- Categories are used for cost classification purposes only. Do not create new categories for marketing differentiation (e.g., Containers).
- Avoid unnecessary words. Prefer short, concise names.
- Each service should have 1 and only 1 category that best aligns to its purpose.
- Each category should have around 3-10 services for the major cloud providers. Avoid categories with only 1 or with over 20 services. No category should have more than 20% of services.
- Do not create categories that describe traits of the service that could be applied to many categories (e.g., "serverless").
- Beyond purely cost categorization purposes, the category is based on the primary function the service intends to solve.
We can change these, if needed, but this is our starting point as we consider new categories.
The spreadsheet was copied into the supporting content, so you can also see that here: https://github.com/FinOps-Open-Cost-and-Usage-Spec/FOCUS_Spec/blob/working_draft/supporting_content/columns/servicecategory.md
Here's where we placed each of these when we discussed them in 0.5:
- Cloud Financial Management falls into
Management and GovernanceDescription: "Management, logging, and observability of a customer's use of cloud."
Justification: While we loved the idea of creating a separate category for our favorite topic, we didn't feel it was warranted after looking at the larger picture. Most cost management tools are also general cloud management solutions anyway, so the category would likely be small. And for a single organization, even smaller.
- Customer Enablement falls into
Management and GovernanceDescription: "Management, logging, and observability of a customer's use of cloud."
Justification: This one's not as clear because of the ambiguity of "customer enablement". Looking at what you have in this group, there are a few unrelated offerings:
- Support helps you "manage" your environment when there are issues.
- Collaboration tools would fall within Business Applications.
- Startup resources and third-party offers should fall within the category those services would pertain to.
- End User Computing falls into
Business ApplicationsDescription: "Business and productivity applications and services."
Justification: "End user" computing is a productivity solution for business users (information workers).
- Game Development falls into
MediaDescription: "Media and entertainment streaming and processing services."
Justification: The idea was that "gaming" is for "entertainment", hence grouping it with Media.
- Quantum falls into
ComputeDescription: "Virtual, containerized, serverless, or high-performance computing infrastructure and services."
Justification: Quantum computing is a specialized compute offering for which the primary purpose is processing (or compute).
- Containers falls into
ComputeDescription: "Virtual, containerized, serverless, or high-performance computing infrastructure and services."
Justification: Containers are a specialized compute offering. This is one we discussed might be useful if we create ServiceSubcategory.
- Blockchain falls into
ComputeDescription: "Virtual, containerized, serverless, or high-performance computing infrastructure and services."
Justification: Blockchain is a specialized compute offering. This is another possible ServiceSubcategory value.
- Robotics falls into
Internet of ThingsDescription: "Development and management of IoT devices and networks."
Justification: This is one we were less sure about, but AWS is the only major cloud provider that has this category today and we didn't want to create a new category for only a single provier. Worst case, it falls into
Other. - Satelite falls into
NetworkingDescription: "Network connectivity and management."
Justification: Satellite-based services are connectivity offerings which aligns with the purpose of the Networking category. Other providers (Microsoft) already categorize this as Networking. This might be another good ServiceSubcategory.
@mike-finopsorg Yup, agreed that it's impossible to have a 1:1 matching for all providers categories which makes this a tricky task.
@flanakin Thanks for sharing the principles for choosing categories. They look logical and well thought out.
The decision of how to categorize AWS services is decided well above me, so I'll have to talk internally with how AWS would like to handle some of the cases where there is not a great mapping. This feedback might not come in time for v1.0.
I'm personally still questioning a few:
- FinOps/Cloud Financial Management in Management and Governance: Putting finops tools in the same category as logging, customer support, etc. seems like way too broad of a category
- The suggested mappings for: End User Computing, Game Dev, Blockchain, and Robotics, don't sound right to me. Those might need to be "Other" depending on AWS marketing input and future decisions to add categories.
Added a PR for this change: https://github.com/FinOps-Open-Cost-and-Usage-Spec/FOCUS_Spec/pull/403
This is up for a quick discussion. From the original set of 9 new service categories, I am proposing we add 4, reject 1 and collectively discuss about the rest 4.
@AWS-ZachErdman @rupagcp @flanakin I am trying to work out which categories absolutely need to resolve for 1.0 and which we can discuss longer post 1.0. We are aiming to add a subcategory which I feel will help in feeling more comfortable with less categories at the top level (making it easier for course grain reporting). Can we review the list of categories you each respectively feel we need to add so we can filter it down to a solid proposal for changes in 1.0.
After today's TF2 call, it was decided to hold this ticket onto 1.1 for further discussion with context of a subcategory column.
Copying the related description/conversation from issue #141
Suggestion:
Proposed Change
Add 'On Premises Private Cloud' ServiceCategory
Context / Supporting information
To cover non cloud products, for On Premises datacenters, like following: Azure Stack solutions, AWS Outpost, AWS MDC and Google Anthos (?).
Comment:
FYI - On-premises is currently covered by
Multicloud. "Support for interworking of multiple cloud and/or on-premises environments."
Copying the related description/conversation from issue #321
The original suggestion by @yprikhodko:
Add new Service Category value Support to allow practitioners to easily distinguished support related charges from workload related charges
Comment by @thecloudman :
Agree - Support should be a service category, however Microsoft do not include support in usage data from what i have seen. Other CSP's do. Would need to ensure CSP's can include this when support is purchased outside of the CSP plan as well.
Note: Both of these issues (321 and 379) are also already mentioned in the issue #404
Classified as Service Category by the Maintainers on the May 24 call
The group agreed this Issue should be linked to #404, and #321, on Jun 10 call and close it.