This work is licensed under CC BY 4.0 - Read how use or adaptation requires attribution
FinOps X 2023, San Diego June 27-30 - Early Bird Registration Ends April 3

Container Cost Allocation Labels and Dictionary

Introduction

Our Container Cost Allocation project focuses on creating guidance and best practices to practitioners around allocating cost of containers.

This first output provides suggested container labels that are ready to use and can be combined into useful schemas. We also want this resource to encourage community debate about container cost allocation labeling, schemas, and best practices, inspiring contribution and future improvements.

During the September 2022 Summit, the Working Group presented their container cost allocation label schema tool.

Our group decided to transform the most important parts of that presentation into an interactive tool for our FinOps community.

How to use this resource

Use this interactive dictionary to learn common container labeling that the Working Group (WG) has sourced from community contributions. Use combinations of these dictionary cards to build out schemas, and to learn of possible mapping variants via “Label alias”, where similarly named labels might have similar purposes to one distinct label.

  • Click each filter to sort cards by the parameters that you choose.
  • Unclick filters to change how you’re sorting the cards, e.g. unclicking the crawl parameter will remove the filter seeking cards with the crawl label.

NOTE: Container Cost Allocation labeling and schema may greatly differ between different organizations with different use cases, goals, optimizations, and cloud service providers. The goal here is to provide an opinionated example about how to tackle the challenge of allocating container costs.

Filter by FinOps Persona:

Filter by FinOps Maturity Level:

Check out our community documentation on FinOps Personas and Maturity Model for more information.

application

Label that supports organizing your spend around application architecture hierarchy.

crawl

executive
business

Context: App / Service Hierarchy

Common Resources: namespace, pod, deployment

Aliases: application, app, application-name, application-id

Example: ACME Fitness

cost-center

Cost-centers aligns to a business structure and help define the various areas that are driving the company expenses.

crawl

finance

Context: Business organization

Common Resources: namespace, pod, deployment

Aliases: psp-element, cost-center

Example: Can be seen as alpha-numeric codes

team

Team Label help identify groups within an organization that are responsible for this spend.

crawl

executive
business
engineering
finance

Context: Business organization

Common Resources: namespace, pod, deployment

Aliases: team, squad, group, owner, maintainer, contact

Example: [team name] [team id]

product

Product label organizes spend to align on the ‘products’ a firm customer consume. This label helps organize applications and services that support the product.

walk

business
finance

Context: App / Service Hierarchy

Common Resources: namespace, pod, deployment

Aliases: product, workload, project

Example: ACME Fitness Store, ACME Fitness + Video Streaming

department

Department applies to business organization. Some organization use terms like Business Unit. The meaning is very organization dependent.

walk

business
finance

Context: Business organization

Common Resources: namespace, pod, deployment

Aliases: business-unit, department, business-domain, domain

Example: retail BU, streaming BU

environment

Environment support calculating Cost of Good Sold (COGS) and aligns how organization deploy code. e.g. production versus development.

walk

business
engineering

Context: Platform + Operations

Common Resources: namespace, pod, deployment

Aliases: stage, environment, env

Example: dev, staging, prod

customer

Customer label can identify that that are consuming a product/service. This can support multi-tenant environment as well as silo tenant environments.

walk

business
engineering

Context: Business organization

Common Resources: namespace, pod, deployment

Aliases: customer

Example: [customer id] or [customer name]

service

Service label adds a layer to app/service hierarchy around how firms organize product/applications into sub-components.

run

engineering
finance

Context: App / Service Hierarchy

Common Resources: pod, deployment

Aliases: service, service-id

Example: Point of Sale, Store Shopping Cart, Store Catalog

component

Component label adds a layer to app/service hierarchy around how firms organize “Microservice / Component / Function” that support application or services.

run

business
engineering

Context: App / Service Hierarchy

Common Resources: namespace, pod

Aliases: component, tier

Example: database, storage

tech-stack

Tech-stack helps bring context of spend to the view of platform or operations by purpose.

run

business
engineering
finance

Context: Platform + Operations

Common Resources: namespace, pod, deployment

Aliases: stack, servicegroup

Example: observability, build-tools, automation, security

call-for-contribution

What kind of container labeling helps add information and context for walk-stage executives? Contribute it here!

walk

executive

Context: Business organization

Common Resources: namespace, pod, deployment

Aliases: TBD

Example: TBD

call-for-contribution

What kind of container labeling helps add information and context for run-stage executives? Contribute it here!

run

executive

Context: Business organization

Common Resources: namespace, pod, deployment

Aliases: TBD

Example: TBD

Ways to contribute

FinOps practitioners can contribute in two ways. This collection of cards is maintained separately from the working group repository that handles more of the raw information and scripts. While we work on a future where we’ll source all of this content from one source of truth, everyone’s welcome to contribute to either of these repos.

In short:

  • Contributing to this repo edits the website content (the above cards)
  • Contributing to this repo edits source code examples and raw Working Group content

We apologize for this temporary complication as the FinOps Foundation team improves contribution processes. Feel free to fill out issues to communicate your recommendations or Make a Suggestion to suggest edits to the site.

You can also get in touch with our WG via Community Slack channel if you have more questions or want to contribute, or add Issues on the Working Group’s GitHub repo.

Thanks for your patience as we improve how we welcome community contributions to our more advanced projects.

Help Wanted: User Stories!

We welcome any and all community user stories on how to best allocate and manage container costs at scale. User stories will be featured as links on all of these cards and be part of the greater FinOps Foundation collection of stories.

Here’s an example of a User Story and how it connects with other similar User Stories. These stories help us add practical real-world flavor to these Working Group projects, showing how real practitioners solve real FinOps problems.

Get in touch with our WG via Community Slack channel if you’re interested!

Not a member yet? Request access and join the community!

Acknowledgements

The FinOps Foundation extends its gratitude to the hard-working members of the Working Group:

Lastly, a big thank you to the FinOps Foundation support team for helping us bring our work to life: Ashley Hromatko (Staff Sponsor), Samantha White (Program Management), Tom Sharpe (Design), and Andrew Nhem (Content).