This work is licensed under CC BY 4.0 - Read how use or adaptation requires attribution
Early Bird registration is available for FinOps X Europe 2024

Allocation

Framework / Domains / Understand Cloud Usage & Cost / Allocation

Define strategies to assign and share cloud costs using accounts, tags, labels, and other metadata, creating accountability among teams and projects within an organization.

Maintain an allocation strategy

  • Define organizational groupings to which we allocate all cloud costs in our business
  • Define specific terminology to describe all the allocation groupings

Maintain a tagging & hierarchy strategy

  • Define specific tags, labels, naming standards, grouping structures used to identify that a cost is in a particular grouping
  • Define how to identify subsets of cost that are shared

Maintain a shared cost strategy

  • Define the need to share any subsets of cost among allocation targets
  • Define mechanisms to share costs for each shared cost item

Validate allocation compliance

  • Create mechanisms to ensure adequate allocation of cost to our allocation groupings
  • Define and maintain an allocation taxonomy of categories for our cloud usage
  • Define and maintain a strategy to document apportionment of shared costs and impacts to allocation targets

Definition

The FinOps Principle, “Everyone takes ownership for their cloud usage,” is enabled by Allocation.

Allocation defines how cloud costs should be apportioned to those responsible for each component of that cost, whether directly or as a shared element. In the context of FinOps, this involves using account structures, tags, labels and derived metadata to identify categories to which we assign costs in a way that provides product managers, engineers, and other personas with a transparent and complete understanding of the cost of cloud resources for which they are responsible.

Allocation from aggregated usage datasets can be done by splitting costs manually or using a known list of owners of accounts, projects, subscriptions, resource groups or other logical groupings of cloud resources. Allocation granularity is enhanced using resource-level naming conventions and tags or labels applied within the cloud. Even more granular allocation, or allocation of shared cost elements can be accomplished using other sources such as the organization Configuration Management Database (CMDB), observability, or utilization data. The methods and intricacy of the allocation will generally increase as organizations demand more detailed Reporting & Analytics.

Allocation will require three primary strategies: Allocation Strategy, Tagging Strategy and Shared Cost Strategy. Each is described below.

  1. The allocation strategy defining how costs should be mapped to the organization.The allocation strategy primarily involves understanding and defining how the organization wishes to look at cloud costs in order to do showback to various teams, chargeback to finance, or allocation to cost centers. See the Invoicing & Chargeback Capability for more information on the impact of Cost Allocation to Showback / Chargeback. There can be multiple layers of cost allocation and multiple ways to slice the cost and usage data. For example, finance may need to see costs divided by Cost Center or by type of spending (e.g. R&D, COGS), but engineering teams may need more granular breakdown by application, and operations teams may need to see all costs related to Production environments for all applications.
  2. The tagging or metadata strategy defining how cloud usage and resources will be mapped to the defined parts of the organization.The tagging strategy primarily involves understanding what mix of cloud data will be required, how resources will be segregated into accounts, how accounts will be grouped, how naming standards will be used, how tags or labels will be applied, and how all of that information will be aggregated. Tagging strategies must take into account the challenges of tagging compliance and consistency, differences in how resources can be tagged in different environments, and the fact that some costs cannot be tagged in cloud environments. Tagging can be much more effective as well using automation, infrastructure as code, or using tools to manage tags after resources are launched.While the scope of the metadata strategy discussed here is confined to Cost Allocation, the metadata strategy may also encompass or be combined with the needs of other areas within an organization such as operations, automation, and security. The organization’s tagging strategy may be owned by a Cloud Center of Excellence (CCOE), Cloud Platform team, or DevOps team, requiring collaboration with those groups to contribute Cost Allocation requirements in the combined plan.
  3. The shared cost strategy which defines how each set of shared resources will be allocated to budgets.Most organizations will also have shared costs to be allocated. Examples include support costs that benefit all users, centralized networking services, or shared environments (platforms, containers, etc.). While the ultimate goal of an organization may be full allocation of costs, the allocation and reporting of shared costs can be complex. Many early FinOps practices adopt an “informed ignore” approach where a business decision is explicitly made to centrally budget for shared cost items, rather than allocating from each cost center’s budget. Choose for each shared cost what kind of allocation policy generates the best value for the organization. Most organizations use a mix of strategies with some shared costs allocated to cost center budgets and others funded from central budgets. Allocation of shared costs can be performed in a variety of ways including fixed allocations, proportional or by using proxy metrics to determine a variable proportion.As an organization’s cloud use and FinOps practice matures, and particularly as automation is introduced or increased, it is likely that these strategies will change and mature as well. These changes will inform the Data Ingestion capability to obtain all the data and contextual information required. Multiple versions of these strategies could be in force at any given time. So 100% consistency in tagging, allocation, or shared cost allocation may be difficult to achieve. The goal should be to achieve the level of allocation that provides the organization with the level of information to make good decisions at its chosen level of maturity.

Maturity Assessment

Crawl

  • Simple Allocation strategy where costs of accounts, projects or subscriptions are allocated to the business units, portfolios or cost centers using a list of accounts known to belong to specific cost centers or business units
  • Tagging strategy exists including
    • resource naming standards
    • Account, Project, Subscription naming standards
  • Tagging strategy compliance is inconsistent
  • Monthly challenges identifying the owners of unknown, untagged, unidentified accounts
  • 50% of total cost of cloud can be allocated without adjustments or alterations to metadata
  • Tags or labels are used for some allocation, but cannot be used consistently, or not used for a majority of spend
  • Shared costs are not identified beyond common charges such as support, tax, etc.
  • Shared costs are allocated to central budgets or cloud platform teams directly and not charged back to cost centers or business units
  • Product owners and engineers primarily manage to direct costs only, resulting in reduction in accuracy of forecasting and budgets
  • Basic KPIs for Cost ALlocation are defined and manually created on an inconsistent cadence
  • Allocation tasks are primarily managed with cloud service provider systems and tooling

Walk

  • Well-documented Allocation strategy identifying multiple mechanisms for allocating cost has been implemented but may not be used consistently or universally
  • Infrequent investigation to identify unallocated, untagged, or unidentified cost elements
  • 75% of cloud cost can be allocated without adjustment, alteration or investigation
  • Cost allocation can be done to an application or service level
  • Tagging strategy for resources and hierarchy groupings is well-documented and followed
  • Tagging compliance is consistent in key areas or applications but not universal
  • Allocation mechanisms will typically include a combination of factors, such as accounts, projects or subscriptions which are identified by metadata or naming standard as belonging to specific cost centers, resources within shared cost pools which can be identified as belonging to a particular cost center, and some mechanisms for the distribution of shared costs
  • Legacy or less critical parts of the cloud infrastructure which are not consistently using the allocation standards still exist and require some manual or estimation effort
  • Shared cost strategy is well documented and understood for multiple elements of shared cost
  • Shared costs are split using an appropriate distribution model(s) (proportional, fixed, even-split) across the entirety of the organization
  • Use of a combination of Cloud Service Provider tools, third party, or custom tooling to manage allocation and sharing
  • Discounts are spread proportionally across all teams cloud spend
  • KPIs for cost allocation understood, but not automated
  • Shared platform owners are able to showback costs generated by internal customers
  • Product owners and engineers are aware of their portion of shared platform/service costs and include these costs when forecasting and budgeting
  • Shared cost process documented to enable and manage expectations of “fair share” onboarding of new cost centers/business units

Run

  • Cloud costs are allocated at any level of granularity required by the organization
  • Direct allocation or consistent mechanisms for distributing shared cost items, and strategies for metadata, hierarchy and naming standards are being used consistently and effectively universally
  • 80-100% of FinOps managed costs are allocated without adjustment, alteration, or investigation
  • Automation allows for multiple sources of data to be used to allocate shared costs at the level they can be where important to the organization (e.g. using metering tools to capture usage and augment billing data to attribute shared costs with greater accuracy)
  • There are few scenarios where all cost is not allocated at the most granular level or is unidentified, requiring essentially no research or reporting generation time
  • Use of Cloud Service Provider tools, third party tools, custom tools integrated consistently
  • Employing automation in the provisioning of resources to create consistency of resource and account tagging and metadata
  • Using mechanisms to automatically correct for or augment cloud service provider tagging capabilities after receipt of billing data to achieve high allocation percentage compliance
  • KPIs well understood and automated.
  • Cost allocation is performed in near real time allowing for Product Owners and Engineers to better understand their monthly costs
  • Product owners and engineers are aware of their portion of shared platform/service costs and include all costs as part of their forecasting & budget planning
  • Shared platform/service owners are able to fully allocate and chargeback costs generated by internal customers
  • Shared platform/service owners are able to recover costs generated by internal customers and perform accurate forecasting/budget planning
  • Shared cost recovery reflects commercial discounts/commitment based discounts
  • Shared cost process automated to enable “fair share” onboarding of new cost centers/business units
  • Shared costs are distinguished from dedicated costs

Functional Activities

FinOps Practitioner

As someone in the FinOps team role, I will…

  • Develop naming standards for all required and optional layers of hierarchical groupings (Accounts, Projects, Folders, Subscriptions, Departments, Organizational Units, etc.)
  • Develop compliance standards for various groups
  • Coordinate with CCOE or Cloud Platform teams to coordinate Tagging Strategy and metadata needs with other operational or security requirements
  • Coordinate with owners of shared services to determine the appropriate level of shared cost management for each and document in Shared Cost Strategy
  • Coordinate with Leadership on appropriate level of granularity for Cost Allocation Strategy
  • Evaluate compliance with established allocation strategies

Product

As someone in a Product role, I will…

  • Provide feedback on cost allocations made to products within my control

Finance

As someone in a Finance role, I will…

  • Determine the organizational and budgetary units to which costs will be allocated
  • Determine how to allocate percentages of any shared cost items

Engineering

As someone in an Engineering role, I will…

  • Determine how and when metadata will be applied to hierarchical groupings and resources
  • Enforce and automate metadata standards for cost allocation metadata
  • Identify and provide all metadata sources required for analysis and cost allocation
  • Comply with organizational allocation strategies where required, and provide feedback on issues or opportunities to improve

Leadership

As someone in a Leadership role, I will…

  • Review and approve cost allocations assigned to organizations within my control
  • Review and approve cost allocation strategies
  • Determine and provide feedback when cost allocation must become more granular or mature

Allied Personas

As someone in an Allied Persona role, I will…

  • Provide feedback to FinOps personas on appropriate level of granularity and compliance requirements for allocation related to areas within my control (e.g. IT Security, ITAM, Service Management, IT Financial Management, etc.)

Measures of Success & KPIs

  • The majority of cloud costs can be categorized and allocated directly to an organizational unit. According to the FinOps Community of Practitioners, comprehensive allocation translates to at least 80% of cloud spend is allocated for a FinOps practice operating at a Crawl maturity level; and 90% for a FinOps practice operating at a Run maturity level
  • Ability to surface the percentage of cost that cannot be categorized and allocated directly, and which must be investigated at a low level
  • Metadata compliance as a percent of spend (i.e. 80% of cost has appropriate allocation metadata, or is within a known hierarchical grouping)
  • Stakeholder notifications for missing allocation metadata when resources are deployed
  • See the KPI Library for a longer list of FinOps KPIs that could be used for Cost Allocation

Mapping Business Metadata

Objective: Achieve comprehensive cost allocation to organizational units

KPI: Percentage of cloud costs allocated directly to organizational units

Thresholds:
– Crawl maturity level: 50% or higher
– Run maturity level: 90% or higher

Uncategorized Cost Percentage

Objective: Minimize unallocated cloud costs

KPI: Percentage of cloud costs that cannot be categorized and allocated directly

Threshold: Maintain below a specified threshold, e.g., 10%

Metadata Compliance

Objective: Ensure accurate and complete metadata for cost allocation

KPI: Percentage of cloud costs with appropriate allocation metadata

Threshold: Maintain at least 80% compliance

Stakeholder Notifications

Objective: Proactively address missing allocation metadata

KPI: Number of stakeholder notifications for missing metadata

Threshold: Minimize notifications by ensuring comprehensive metadata compliance

Investigation Response Time

Objective: Efficiently investigate and resolve unallocated costs

KPI: Average time taken to investigate and resolve unallocated costs

Threshold: Set a target response time, e.g., within 48 hours

Cost Trend Variance

Objective: Monitor and control costs against forecasted trends

KPI: Percentage variance of actual costs from forecasted trends

Thresholds: Define acceptable variance levels based on financial goals

Continuous Improvement in Allocation Accuracy

Objective: Continuously enhance the accuracy of cost allocations

KPI: Quarterly improvement in the accuracy of cost allocations

Threshold: Achieve a set percentage improvement each quarter

Resource Deployment Compliance

Objective: Ensure all deployed resources have proper metadata

KPI: Percentage of resource deployments with missing allocation metadata

Threshold: Minimize missing metadata for resource deployments

Training and Awareness

Objective: Improve understanding and adherence to cost allocation practices

KPI: Percentage increase in awareness and adherence to cost allocation practices

Inputs & Outputs

  • Provide requirements to inform Data Ingestion activities as a feedback loop for improving Allocation strategy goals
  • Receive requirements from initiatives related to Reporting & Analytics activities to inform the requirements of Allocation mappings to achieve organizational reporting goals
  • Incorporate Cloud Adoption Frameworks / Architecture Frameworks from Cloud Service Providers
  • Consolidate existing tag/label standards and establish consistent naming conventions
  • Overlay the organizational business metadata for each element of allocation metadata. For example: constructs like Project Names, Application IDs, Cost Center IDs, …etc.
  • Establish reports that surface any spend that is not allocated by the established allocation metadata
  • Align roles for organizational P&L groupings to map cost ownership back to Invoicing & Chargeback activities
  • Leverage the capabilities of CI/CD, platform, cloud provider capabilities
  • Ensure allocation requirements align with Policy & Governance activities, including tag compliance, allocation compliance, governance mechanisms