Blog

Split shared costs for accurate cloud cost allocation

In every companyā€™s cloud journey, thereā€™s a trigger event that causes them to scrutinize their cloud bill more than they were before.

It may be once you reach a certain monthly spend threshold, a large undetected cost spike occurs, when youā€™re negotiating a commitment contract with your cloud provider(s), or perhaps when youā€™re unable to explain spending when asked about it by the exec team or board.

Whatever the event is, cost allocation is your key to unlocking transparency around your cloud spend to manage these situations. Once you allocate costs against your org structure, youā€™ll be able to easily answer business questions around your cloud spend and nudge engineers towards owning their share of costs.

And while itā€™s important that you map your cloud costs to your cost centers, there are also shared costs to contend with ā€” think support charges, shared resources (ex. storage), and more.

If you donā€™t takeĀ  shared costs into account when performing cost allocation:

  1. You will either under or over-allocate costs to your cost centers,
  2. Nobody will take responsibility for those costs, leading them to potentially spiral out of control, and/or
  3. Any forecasts or budgets will be based on incomplete data, leading to ill-informed decision making

Thatā€™s why weā€™re excited to introduce Cost Splitting to Cloud Analytics Reports, enabling DoiT customers to easily spread shared and unallocated costs among different stakeholder groups in the DoiT Console

Before we go over how to split shared and unallocated costs in the DoiT Console, letā€™s quickly review two prerequisites to splitting costs:Ā 

  1. Mapping cloud costs to business-specific groupings, andĀ 
  2. Combining them together so that we know which cost centers to spread our shared costs among

Mapping cloud costs against your org structure with Attributions

DoiT customers use Attributions to relate cloud costs to their business. An Attribution is a logical grouping of cloud resources (i.e. individual VMs, tags, projects/accounts, etc.).Ā 

With Attributions, you donā€™t need perfect account structure or tagging to start mapping cloud costs to org-specific categories like products, teams, and more. Or you could enhance your good account structure and thoughtful cost tagging with Attributions and prevent their limitations from stopping you to allocate costs properly.

For example, some cloud services have their own nuances about how costs can be tagged, and to what extent. Google Cloud Storage only features bucket-level labeling, and not per object. That makes it challenging to deal with buckets that are allocatable to multiple entities.

Or you could have a project/account-per-team structure with one or more shared projects that need to have their costs distributed.Ā 

Finally, itā€™s not possible to retroactively tag costs. Attributions can complement your tagging strategy in all of these cases to help you achieve exhaustive cost allocation.

Illustration of how to map costs to cost centers with AttributionsExample of an Attribution defining an Engineering teamā€™s costs (any resource tagged with ā€œteam:engineeringā€ in two accounts)

In the example below, BI Application costs are defined as any resources tagged with a ā€œteamā€ label or project label value corresponding to ā€œBI Applicationā€.Ā 

To view other popular use cases for Attributions, read here.

Example of an attribution defining costs for a BI application

Example of an attribution defining costs for a BI application

Next, weā€™ll also define which shared costs are using Attributions. In our case below, we grouped all charges related to AWS and GCP support but shared costs can also include shared resources like storage or Kubernetes costs.

 

Attribution defining shared cloud costs

Attribution defining shared cloud costs

Group Attributions and shared costs together

Attribution Groups help you do cost allocation between a common set of Attributions, setting the stage for splitting shared and unallocated costs (costs that arenā€™t connected to any Attribution in an Attribution Group).

After creating all of the Attributions youā€™d like to map costs to ā€” in our case all of our applications + shared costs ā€” we now want to put them all into an Attribution Group.Ā 

Below, you can see an Attribution Group ā€œApplicationsā€, containing Attributions representing the costs of three different Applications and our shared costs, along with unallocated costs.

Group of Attributions representing our different Application costs, along with shared costs.

Group of Attributions representing our different Application costs, along with shared costs.

Group of Attributions representing our different Application costs, along with shared costs.

They also allow you to break down a group of Attributions by another group. In the example below, weā€™re able to break down application costs by environment with two Attribution Groups ā€” one containing application costs and the other containing environment costs.

ā€œBreaking

Splitting shared and unallocated costs

Now weā€™re ready to split unallocated and shared costs among the three applications weā€™re looking to track costs for. Take the interactive tour to experience this yourself or follow along below.

To do so, weā€™re going to build a report using our ā€œApplicationsā€ Attribution Group. Then weā€™re going to click on the vertical ellipsis next to the ā€œApplicationsā€ chip and then on ā€œDistribute costsā€.

ā€œStep

 

Then, weā€™re going to split our unallocated costs first by selecting the ā€œUnallocatedā€ item from the dropdown.

ā€œStep

You have three options when splitting costs:

  • Evenly split - Allocates costs evenly across all selected Attributions.
  • Proportional - Allocates costs across your Attributions based on the proportional weighted cost of each selected Attribution.
  • Custom - Allocates costs across your targets based on a custom-defined percentage.

Weā€™re going to split unallocated costs evenly among the three Application Attributions.

ā€œSplitting

Finally, weā€™re going to click ā€œDistribute costā€ and re-run the report. We will do this again for our ā€œShared Costsā€ Attribution as well.

Below we can view how each teamā€™s costs are split between their actual costs and their portion of shared and unallocated costs.

Now we have a more accurate view of what each teamā€™s costs are responsible for. But in the longer-term youā€™d want to minimize those unallocated costs (ideally bringing them down to $0) via tagging and/or refining your Attributions.

ā€œBreakdown

 

Conclusion

One of the main FinOps principles is that ā€œEveryone takes ownership for their cloud usageā€. But in order for engineering teams to do that, they need an accurate view of their costs. Otherwise, any conclusions they arrive at from an analysis of their cloud costs risk being way off.Ā 

Cost splitting in the DoiT Console allows you to spread shared and unallocated costs among your relevant business units so you can not only drive cost transparency among your cloud users, but accountability as well.

Take the interactive tour, which will take you through creating an Attribution and Attribution Group, and ultimately splitting shared and unallocated costs among them.

Subscribe to updates, news and more.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related blogs

Schedule a call with our team

You will receive a calendar invite to the email address provided below for a 15-minute call with one of our team members to discuss your needs.

You will be presented with date and time options on the next step