FOCUS_Spec icon indicating copy to clipboard operation
FOCUS_Spec copied to clipboard

Update to allowed ServiceCategory values

Open AWS-ZachErdman opened this issue 1 year ago • 13 comments

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: image

  • 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.

AWS-ZachErdman avatar Apr 03 '24 00:04 AWS-ZachErdman

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

udam-f2 avatar Apr 08 '24 20:04 udam-f2

@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

mike-finopsorg avatar Apr 08 '24 21:04 mike-finopsorg

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

rupagcp avatar Apr 09 '24 00:04 rupagcp

For context, here are the principles we landed on for service categories, including when to create new ones:

  1. Every category must represent a single technology. Do not "and" multiple categories together unless they are synonymous.
  2. Each category should be unique and should not be a logical child of another category (e.g., Containers are a subclassification of Compute).
  3. Categories are used for cost classification purposes only. Do not create new categories for marketing differentiation (e.g., Containers).
  4. Avoid unnecessary words. Prefer short, concise names.
  5. Each service should have 1 and only 1 category that best aligns to its purpose.
  6. 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.
  7. Do not create categories that describe traits of the service that could be applied to many categories (e.g., "serverless").
  8. 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.

flanakin avatar Apr 12 '24 16:04 flanakin

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

flanakin avatar Apr 12 '24 17:04 flanakin

Here's where we placed each of these when we discussed them in 0.5:

  • Cloud Financial Management falls into Management and Governance

    Description: "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 Governance

    Description: "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 Applications

    Description: "Business and productivity applications and services."

    Justification: "End user" computing is a productivity solution for business users (information workers).

  • Game Development falls into Media

    Description: "Media and entertainment streaming and processing services."

    Justification: The idea was that "gaming" is for "entertainment", hence grouping it with Media.

  • Quantum falls into Compute

    Description: "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 Compute

    Description: "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 Compute

    Description: "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 Things

    Description: "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 Networking

    Description: "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.

flanakin avatar Apr 12 '24 17:04 flanakin

@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.

AWS-ZachErdman avatar Apr 13 '24 00:04 AWS-ZachErdman

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.

SonalGarg-SG avatar Apr 16 '24 14:04 SonalGarg-SG

@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.

mike-finopsorg avatar Apr 17 '24 02:04 mike-finopsorg

After today's TF2 call, it was decided to hold this ticket onto 1.1 for further discussion with context of a subcategory column.

mike-finopsorg avatar Apr 17 '24 23:04 mike-finopsorg

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."

ijurica avatar May 17 '24 15:05 ijurica

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

ijurica avatar May 17 '24 16:05 ijurica

Classified as Service Category by the Maintainers on the May 24 call

jpradocueva avatar May 24 '24 15:05 jpradocueva

The group agreed this Issue should be linked to #404, and #321, on Jun 10 call and close it.

jpradocueva avatar Jun 10 '24 20:06 jpradocueva