This work is licensed under CC BY 4.0 - Read how use or adaptation requires attribution

Managing Shared Cloud Costs

Introduction

A foundational principle of FinOps is: “everyone takes ownership for their cloud usage.” Cloud cost transparency is essential for enabling understanding and accountability of cloud costs. Unallocated shared costs threaten this. Without appropriately splitting costs that are shared, engineers, product managers and others will lack a complete picture of how much their products really cost.

Shared Costs (as it pertains to cloud computing) refer to charges which are utilized or attributed to multiple owners, applications, or products.

The benefits of allocating shared costs

Almost every organization will have cloud charges that need to be split and allocated across multiple teams. As organizations increase their adoption of public cloud resources, it becomes increasingly complex to assign shared costs back to specific business owners for accurate visibility into cost ownership. A shared resource could be shared by a business unit but not by other allocation hierarchies.

That said, sharing cloud resources can result in greater scalability and flexibility as resources can be dynamically allocated and provisioned as needed by its users and the benefit of only paying for what is used. Being able to purchase cloud infrastructure and commitment based discounts at a scale commensurate for the entire enterprise, unit costs are driven down through purchasing practices, private rate cards and other discounts. However, to maximize value provided and ensure optimization, the costs must be allocated back out to the areas of the business that are the drivers of the consumption.

As a result, it is critical that organizations tag shared costs effectively and do not have a significant portion of their costs left untagged or unallocated. If shared costs are not allocated effectively and there is no accountability to manage these shared costs, shared cloud costs can spiral. Ultimately, organizations will benefit from cost savings as a result of sharing cloud infrastructure and therefore supporting cost allocation on shared cloud resources should be encouraged to optimize cloud spend.

Allocating shared costs accurately offers numerous advantages to organizations. Many FinOps capabilities are strengthened and matured by defining cost allocation as close as possible to actual spend. This approach can lead to distinct advantages, such as:

  • Fairness: Properly tagging shared costs ensures a more equitable distribution of expenses. When costs are not accurately allocated, certain teams or business units may be held accountable for more or less than their actual usage. This is especially critical when infrastructure teams bear the burden of costs generated by other teams and business units or when determining costs per customer or costs per product.
  • Ownership: A lack of accountability for shared costs can lead to a reduced incentive for cost reduction and monitoring. By accurately allocating these costs, organizations can promote a culture of responsibility that aligns with FinOps principles.
  • Forecasting and Budgeting: Unallocated shared costs make it challenging to forecast, budget, and conduct financial planning for different teams and business units. Proper allocation of shared costs ensures that usage is fully reflected in financial plans, leading to more informed decision-making.  It can prevent or limit the impact of cloud cost anomalies, since there is more traceable spend information.  

Allocating shared costs is an increasingly complex and growing concern for many organizations. Although complex, one advantage of allocating a shared cost across the business is it gives better insight into unit cost at a lower level which allows decision making to be driven closer to the product.  By allocating shared costs back to the areas of the business that created the spend, you are creating transparency.

Who might care about shared cost allocation?

FinOps practitioners, finance, product/business, engineering & operations, executives all have a stake in the allocation of shared costs. Below is an example role matrix that highlights common shared cloud cost roles and who is responsible, accountable, consulted, and informed within these roles.

  • R: Responsible, one that does the work to complete the task
  • A: Accountable, one that is responsible for the work to be completed
  • C: Consulted, particulates in decision making
  • I: Informed, notified of details
Item Practitioner Finance Business/Product Owner Engineering & Operations Executives
Develop and refine appropriate method(s) for shared cost allocation R C C C A
Create reports for showback showing where shared costs are allocated  R I I I A
Create reports for and implement chargeback showing where shared costs are allocated  C R I I A
Updating forecast and budget with shared cost allocation costs C R/A C I I
Understand impact of product roadmaps on shared costs  C R A C I
Understanding the impact of shared services on a product or service C I A R
Reviews business and aggregated product P&L I C R I A
Alignment/transparency: Supporting cost management goals for shared cost owners and educating others on how and why shared cost allocation is what it is R/A I I I
Make decisions on shared products and services: duplicate applications, etc. C C C R/A C***

 

***: Depends on cost scale for Executive involvement

Recommended Approach

Implementing a shared cost allocation process is best understood when broken into several logical steps.  These steps may need to be performed for the totality of shared costs or individually for different costs based on their complexity or congruence. While they are shown as steps, they could also be thought of as a loop as the final step suggests, reviewing and updating your allocation process is crucial to maintaining its usefulness.  

Identify which costs are shared

What classifies as a shared cost can vary from company to company, and also depends on the maturity and size within the company itself. However, there are a standard set of costs that generally appear on every company’s profit and loss statement, and it becomes the responsibility of the company to determine whether they should be shared or not. A company may decide to allocate shared costs differently – some shared costs apply to the entire company, while others may be allocated to the teams, applications, or products that use them.

Tracking is essential to view progress on allocating shared costs. In addition to tracking cost allocations, you should also develop KPIs that consider how much of the shared cost is accurately distributed. An example KPI to track the success of this step could be the percentage of shared versus dedicated cost tagging and labeling coverage. 

Support charges from cloud service providers are a typical example of a cost that is incurred by many organizations. Support charges are generally incurred at the parent account level and are either paid from a centralized IT/Cloud team’s budget or allocated via chargeback mechanisms following a cost allocation strategy to all teams.

Modern architecture has also introduced more shared costs with the rise of shared platforms. These platforms have multiple teams working with the same core resources, such as data lakes built in commonly shared S3 buckets or Kubernetes systems running on shared clusters. At first glance, chargeback and showback for these platforms can seem impossible, but proper tagging and leveraging operational data, can help with splitting shared costs equitably.

Common types of Shared Costs 

Shared Cost Examples Description Details & Example
Third Party SAAS and Marketplace Services These services are often categorized as shared, whether they are paid through the CSP marketplace or as a separate invoice.  Monitoring and Logging tools, Data Warehouses, Security Tools, etc. from Cloud Providers.
Cloud Infrastructure via Managed Services These are resources and services within the cloud environment that are used collectively by multiple business units or applications and are managed services (AWS RDS, DynamoDB, Azure Cosmos DB, Azure Analysis Services, Google Cloud SQL, etc.) These items may be taggable or untaggable. 

Taggable examples:

Managed Kubernetes can be tagged on a cluster level, but there may be namespaces or services representing different applications.  A managed database may be used by different business units.  This also applies to Storage, Message Queues, or Data Lakes

Untaggable examples

CSP Support services, CSP Security services, CSP Monitoring and logging services, some network costs

Custom Built, Internal Services These are custom built services built by one’s infrastructure or platform teams within an organization and are designed for use by other teams. As these services are shared resources, their costs often need to be distributed among the benefiting units. A Data Lake can be a shared resource built by the data engineering team, used by multiple business units for data analysis, machine learning, and business intelligence tasks.
Another example is microservices, like user management or payment processing, which could be developed once by an internal team and used across multiple applications or projects.
Commitment Based Discounts Charges associated with commitment based discounts may not be applied to the account or resources which consume the discounts. Some organizations may wish to redistribute these charges based on use or share the discounts equally across all organizational members versus just those who received the benefit of the discounts.   Reserved Instances, Savings Plan, etc. Azure Hybrid Benefit for Windows servers.

Select a strategy for splitting up shared costs 

There are three common methods for splitting up shared costs:

  • Even split: Split total amount evenly across targets
  • Fixed Proportional: Based on relative percentage of costs, usage, or some other metric which is infrequently updated
  • Variable Proportional: Based on relative percentage of costs, usage, or some other metric which is routinely used for determining the split of spend

Metrics of some nature are used for determining how much spend to allocate to which group for the fixed and variable proportional spend methodologies. While these options comparatively require more effort than the even split method, as a result, cost proportions more accurately mirror the actual usage of shared resources and dynamically adjust over time.

Some examples of metrics you may use to determine proportional splits are cost of other relative cloud resources/consumption, revenue/sales, number of support tickets, number hosts or vCPU hours, etc. 

Note some organizations choose to use multiple of these methods or multiple variations of these methods.  

Using our common example of Enterprise Support costs, the table below shows CSP costs incurred by several business units in a given month, along with the enterprise support charge of $12,000.

Business units Cost % of total (excluding enterprise support)
Sales $50K 50%
Product $30K 30%
Engineering $20K 20%
Enterprise support charge $12K
Total $112K 100%

Without sharing the enterprise support charge, you can see that:

  • Sales pays $50,000.
  • Product pays $30,000.
  • Engineering pays $20,000.
  • The $12,000 enterprise support charge isn’t being distributed to any of the teams and would need to be determined how to be paid.

Even Split

Under the even split strategy, the enterprise support charge ($12,000) will be shared evenly by all business units. Because of its simplicity, this strategy tends to be more popular in smaller organizations but can be deemed unfair or even inappropriate in larger organizations.

Business units Original Cost Shared Cost Allocation $12K Support Total Cost
Sales $50K 33.3% $4K $54K
Product $30K 33.3% $4K $34K
Engineering $20K 33.3% $4K $24K
Total $100K 100.0% $12K $112K

The even split strategy makes allocation of shared costs simple, but will impact some business unit’s budget more than others. In the above example, Engineering is paying 13% more for shared costs than under a proportional strategy:

  • Sales pays $54,000 ($50,000 direct cost + $4,000 support charge allocation).
  • Product pays $34,000 ($30,000 direct cost + $4,000 support charge allocation).
  • Engineering pays $24,000 ($20,000 direct cost + $4,000 support charge allocation).
  • The enterprise support charge has been distributed and does not need to be determined how to be paid.

Fixed Proportion

The fixed proportion strategy relies on using a set percentage to attribute shared costs month over month. Typically these ratios have been determined by evaluating past spend (or revenue) and arriving at a fair breakdown for allocating spend. Consider our $12,000 enterprise support charge example using these designated percentages.

Business units Original Cost Shared Cost Allocation (coefficient) $12K Support Total Cost
Sales $50K 50%  $6.0K $56.0K
Product $30K 30%  $3.6K $33.6K
Engineering $20K 20%  $2.4K $22.4K
Total $100K 100% $12.0K $112k

The fixed proportion strategy attempts to provide a more equitable distribution of shared costs than even split, but still leaves allocation easy to calculate. It relies on analysis of historical data to define the coefficient, but the cadence for updating the coefficient needs to be agreed upon within one’s organization.

  • Sales pays $56,000 ($50,000 direct cost + $6,000 support charge allocation).
  • Product pays $33,600 ($30,000 direct cost + $3,600 support charge allocation).
  • Engineering pays $22,400 ($20,000 direct cost + $2,400 support charge allocation).
  • The enterprise support charge has been distributed and does not need to be determined how to be paid.

Variable Proportional

The variable proportional cost method will allocate the enterprise support charge ($12,000) to be distributed among the business units based on the percentage of their raw spend and will change month to month based on the variable costs of the cloud. Mature organizations tend to proportionally distribute shared costs among business units based on their direct charges on a monthly basis.

Business units Original Cost Shared Cost Allocation (coefficient) – # of Support Tickets $12K Support Total Cost
Sales $50K 40 = 40% $4.8K $54.8K
Product $30K 30 = 30% $3.6K $33.6K
Engineering $20K 30 = 30% $3.6K $23.6K
Total $10K 100 = 100% $12.0K $112.0K

Sharing the enterprise support charge, you can see that:

  • Sales pays $56,000 ($50,000 direct cost + $4,800 support charge allocation).
  • Product pays $33,600 ($30,000 direct cost + $3,600 support charge allocation).
  • Engineering pays $23,600 ($20,000 direct cost + $3,600 support charge allocation).
  • The enterprise support charge has been distributed and does not need to be determined how to be paid.

Once the shared cost allocation method has been decided upon the FinOps practitioner will need to engage all business budget owners and stakeholders to ensure they understand what this change is and why the change is necessary.

Navigating Complex Shared Cost Allocations: A Network Costs Case Study

Having demonstrated the allocation of enterprise support charges through strategies like fixed proportion and variable proportional, we’ve tackled a crucial aspect of shared cost allocation while sharing a simple example. However, more mature organizations may necessitate a greater level of sophistication in our allocation methods.

To illustrate this progression, let’s delve into an example that’s a step above in complexity: network costs. It’s important to clarify that this example isn’t exhaustive, but serves as an illustrative case of how shared cost allocation strategies must evolve in line with the increasing complexity of our business operations. 

Crawl: Proportional Based on Total Cost

At the “Crawl” stage, businesses often allocate network costs based on an easily measurable factor, such as the total cost of each business unit. Although this method is straightforward, it can fail to account for the specific patterns of network usage.

Business Units Original Cost Shared Cost Allocation (coefficient) $20k Network Costs Total Cost
Sales $50K 50% $10.0K $60.0K
Product $30K 30% $6.0K $36.0K
Engineering $20K 20% $4.0K $24.0K
Total $100K 100 = 100% $20.0K $120.0K
Walk: Proportional Based on Data Volume

As the business matures and enters the “Walk” phase, it might begin to factor in data volume into its allocation of network costs, offering a closer approximation of true network cost usage.

Business Units Original Cost Shared Cost Allocation (coefficient) – Data Transferred $20k Network Costs Total Cost
Sales $50K 500GB = 25% $5.0K $55.0K
Product $30K 800GB = 40% $8.0K $38.0K
Engineering $20K 700GB = 35% $7.0K $27.0K
Total $100K 2TB = 100% $20.0K $120.0K
Run: Proportional Based on Network Costs Types

Finally, in the “Run” stage, businesses might use advanced network monitoring tools to allocate costs based on specific types of network costs incurred, like cross-region and cross-AZ data transfers, or public IP address usage. This method can offer the most accurate distribution of network costs.

This evolution in network cost allocation helps organizations ensure that business units bear the costs of their network usage more equitably. As the allocation method grows more sophisticated, it also becomes more reflective of the specific ways that each unit uses and benefits from the network. This fairer and more accurate allocation of costs can foster better resource usage, encourage cost-saving practices, and promote greater financial transparency across the organization.

Apply a Shared Cost Method

Based on the decisions made in the prior step, now as is necessary chargeback or showback processes, execute the actions necessary to split your shared costs. 

Work with finance and accounting to develop a process for when and who will be splitting these shared costs and for integrating such knowledge into forecasts and budgets.

There is not a single perfect, one size fits all shared cost allocation method for everyone except we recommend to follow the KISS principle as much as possible: Keep It Simple Stupid. A company will need to decide what works best for them, and what makes the most sense based on their budgeting and accounting methodology, organizational goals and resources. Typically, more mature organizations rely on variable proportionality.

Having cloud resources only identified as shared and having them tagged as such does not mean they are allocated explicitly and accurately using an appropriate method so having a KPI to track the percentage of applied shared cost distribution on all shared resources can help track your completeness and maturity.

A note of caution: combining multiple types of shared cost strategies with multiple approaches to splitting shared costs can quickly become complicated. Some charges like support fees, might seem to work better under a proportional method, but other costs like shared resources, or dev/test environments might make sense under the even split or fixed proportion approach.

Reporting Shared Costs

Allocating shared costs is a huge win but providing visibility into the amounts allocated and providing stakeholders with an understanding of the shared cost allocation method and reasoning becomes more powerful. Effective reporting on shared costs will show:

  • Trend of the costs over time to indicate whether they are growing or shrinking (both in totality and per owner, product, etc.)
  • Shared cost actuals vs budget vs forecast
  • Identification of spend drivers – (perhaps service or group that is creating the spend) 

A crucial part of the reporting process is that the data is reviewed and understood by the teams who drive actions that impact costs and with the data they can successfully begin to manage costs. The reporting must be accurate, timely and clearly show the allocation of shared costs.It has been reported from many FinOps Foundation community members that simply beginning to show cost reporting to others can help identify charges that may go underlooked by current enterprise accounting policies. Tracking your shared costs to evaluate whether they have exploded relative to your dedicated costs is a useful KPI, but it requires a baseline evaluation before it can be accurately used.

One challenge to accurate accounting is knowing when to stop with shared costs. It’s easy to say something is a shared cost and soon the bucket of shared costs that need to be split can get pretty large. You should have a scheduled, regular review of shared costs to make sure resources that have been marked shared are still relevant, and the resources are still needed. Since no one pays directly for these costs, it can be easy for these resources to be left on, because no one business unit feels the impact of their cost. 

Sustaining Your Approach

At this step, the heavy lifting is done and you have successfully set a shared cost allocation method, applied it, and are reporting the data. It can be easy to relax and think the difficult work is over, but process sustainability is an essential part of allocating shared costs. It’s essential to remain vigilant, and develop processes to maintain maturity and identify areas that can devolve over time. As you work towards a long-running, sustainable shared cost method, consider a few of these questions:

  • If the company has adopted a tagging standard for allocation, what is the process for ensuring that tags are correct?
  • How do you handle unallocated shared costs that may pop-up due to lack of appropriate tags, an anomalous scenario, etc.
  • What is your review process for when new cost centers or business units are introduced?
  • When using a fixed proportion method, how often are those ratios reviewed?
  • Is your data modeling approach sustainable?
  • How much documentation do you have for your processes?
  • How many people know the system that has been implemented?
  • Is there sufficient shared knowledge so it does not rest in too small of a group?

Indicators of success

The method of spreading out shared costs is iterative, and evolves over time. The goal of splitting these costs is that teams, applications, services, or products have a complete and holistic view of their actual running costs. As the method becomes more mature, confidence in the accuracy of the allocation should grow. Cost centers or teams should have a greater ability to be able to optimize or influence these shared costs.

The best way to know if you’re on the right track is to evaluate how the method fits within your organization’s overarching approach to cost management. Is the method of splitting shared costs helping to drive innovation and understanding? This is an important consideration to make. While splitting shared costs is in itself a cultural shift, it should help everybody make better decisions about what they’re spending and why.

We’ve worked out some milestones that we think make sense at the crawl, walk, and run stage of your journey through shared costs; they may help you to consider how to approach shared costs. The model is not proscriptive, many companies have implemented walk strategies before crawl or vice versa. Cost is complex and different costs have varying impacts depending on your company infrastructure.

The following table is intended to be iterative:

Step Crawl Walk Run
Focus and Review Identity general types of shared cost from EA, historical invoice/bill Focus on more detail key areas of high shared cost using actual running costs Full enterprise scope cycle  reviews of shared costs using showback based on running cost, committed use savings
Select a shared cost approach or method Apply shared cost model – usually even-split or fixed proportional split to shared cost Fixed Proportion or variable Proportional split Variable proportion based, usage/metric based, or a combination of shared cost allocation approaches 
Decide on cost areas that require shared breakdown Enterprise support fees, Invoices, Subscriptions Breakout of shared spend on resources per application, project or infrastructure that will allow for showback of cost allocation Tools or processes for tracking shared costs using defined methods – could be variable proportional or measured by usage. Goals might to show real time trending, forecast and anomaly detection
Reporting shared costs Reporting that meets general shared cost allocation visibility for teams/ stakeholders cloud cost management Add details that are more timely and accurate on showing shared cost allocation for particular business-unit, or other owners Accurate tracking to Finance to allow timely response to changes in shared cost allocation. Benefit of optimal resource utilization and efficiency
Sustaining Document and plan for shared cost allocation mature state

Identify KPI gaps

Document and maintain tagging usefulness

Implement process and schedule for review of shared cost allocation effectiveness with stakeholders

Deploy and make use of KPIs

Ensure accurate tagging

Consistent usage of KPIs and KPIs enforcement for cost allocation effectiveness

Acknowledgements

The FinOps Foundation extends a huge thank you to the members of the Special Interest Group that broke ground on this documentation in 2020, as well as the Working Group members who contributed a major update to this asset during 2023:

We’d also like to thank our Working Group supporters:

  • Janine Pickard Green
  • Amanda Dalton
  • Alex Dominic Savio
  • Amit Doshi

Lastly, we also want to thank the FinOps Foundation’s own Rob Martin (Staff Sponsor), Samantha White (Program Management), Tom Sharpe (Design), and Andrew Nhem (Content).