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:
- You will either under or over-allocate costs to your cost centers,
- Nobody will take responsibility for those costs, leading them to potentially spiral out of control, and/or
- 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:ย
- Mapping cloud costs to business-specific groupings, andย
- 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.
Example 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
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
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.
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.
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โ.
Then, weโre going to split our unallocated costs first by selecting the โUnallocatedโ item from the dropdown.
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.
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.
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.



