All the major cloud providers allow users to attach business context to their infrastructure in some way. It’s this context that allows users to divide up their cloud bill into more easily digestible bites and keep track of cost trends for different resource types.
Thorough cloud cost allocation gives companies the ability to make educated business decisions.
When you can track every dollar spent and the revenue generated from that investment, there’s no limit to the optimizations you can make or the savvy innovations you can come up with. You’ll know exactly what has worked well in the past, and you’ll be able to replicate it and improve upon it with every iteration.
The details of how to use each cloud provider’s system may vary somewhat, but there are really only two ways to allocate cloud costs regardless of the provider you use: tagging and decentralized accounts.
Both can be helpful, but they also come with a certain amount of complexity and stress.
Here’s what you can expect from trying to allocate costs with traditional methods — and how you can make things easier on yourself.
Why The Two Major Cloud Cost Allocation Methods Are Helpful — But Frustrating
When we talk about tagging, we’re referring to the process of assigning business context to the resources you’ve used.
Basically, tagging means manually stamping each resource with what it’s powering — customers, products, features, teams, etc.
Not all cloud providers call this practice “tagging” — GCP calls this same action labeling, for example, and tags refer to something else entirely — but the concept is the same.
Tagging can be done through your provider dashboard by isolating a resource and giving it an identifier, along with some other metadata, so you can see this resource apart from the others when you view your overall cloud costs.
The other option is to build context into the infrastructure itself using decentralized accounts.
Instead of maintaining one huge, central account to manage everything under one umbrella, break your accounts down into smaller pieces. You may want to have separate accounts for each product you develop, or take it a step further and divide different aspects of each product — marketing, development, and production, for example — into separate accounts.
The pros and cons of tagging
If you tag everything that can be tagged and use a consistent, organized strategy, you can gain some great insights into your costs.
It’s a relatively slow manual process and takes time away from innovation activities, but the data it yields is generally worth it. So, to a certain degree, tagging is a necessary evil.
However, it can be hard to achieve thorough, consistent tagging throughout your company’s entire cloud infrastructure. There’s no dropdown menu of common labels to choose from to help guide tagging decisions; engineers are largely on their own to pick the names and metadata to include in their tags.
That might mean one engineer does it one way and someone else does it completely differently. Or it could mean a whole team of engineers choosing similar-but-different naming conventions, making typos, forgetting to tag some resources, or otherwise muddying the waters.
It’s rare to find a company with perfect tagging implementation, because getting to that point requires incredibly high levels of coordination and cost management maturity. And even when a company has made every effort to stay consistent, some resources just can’t be tagged, so they’ll always be there skewing the otherwise useful results.
The pros and cons of using decentralized accounts
From a reporting perspective, decentralized accounts are the simplest way to track costs. That’s because, in an ideal world, it’s extremely helpful to have your costs separated out into clear categories.
When properly implemented, decentralized accounts make cost aggregation much easier than it would be with central accounts. Your costs for project X versus project Y are already separate and therefore simple to compare, and you can easily monitor the results of changes you make within specific areas.
If you were to talk to an AWS specialist and ask for their recommendations, they would advise you to choose account decentralization whenever possible — even over tagging, if you can only choose one method.
The reality, however, is a bit less straightforward.
It’s not always easy to fully isolate your infrastructure into divisions of products, teams, or environments.
For example, what if you have only a handful of accounts to begin with, and each covers hundreds of thousands or even millions of dollars of infrastructure? Separating every useful category into its own account would be an operational nightmare.
Therefore, decentralized accounts are often better for breaking down the overall picture into large chunks than for achieving real, granular detail.
So, What Can You Do If Both Methods Leave Something To Be Desired?
If your company is like most, your tagging scheme is probably more convoluted and inconsistent than you’d like, and your accounts aren’t well organized or granular enough.
The good news is that even if your current cost allocation efforts aren’t paying off, you can still achieve granular visibility into your cloud costs and gather the data you need to make smarter spending decisions.
CloudZero takes all the data from your cloud provider — including your tags and accounts — and aggregates it into one place. We then apply logic and filters on top of that data to smooth out the inconsistencies and arrive at a result that’s easy to make sense of.
In other words, it doesn’t matter if you have seven versions — complete with typos — of the same tags or your accounts are messy and too broad. CloudZero can pull everything together and reassign each item where it should be, so you can start gathering valuable insights right away.