Why and how to track unit cost in the cloud
There are times when you need the big picture and there are times when you need the details. When it comes to the cloud, focusing too much on the big picture and too little on the unit cost can lead to inefficiencies in cloud spending.
The drawbacks of the billing dashboards
All the main cloud providers, including Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform, provide billing dashboards. These sometimes go by other names (for example Cost Explorer) but the basic idea is the same. They give you an overview of the services you use which enables you to see the overall cost of your cloud usage.
Unfortunately, these billing dashboards only tend to provide information at a very high level. For example, you can expect to be able to see the nature of the service (for example computing, storage or networking), but not the specific environment in which it is being used (for example development, staging or production) as the boundaries of the services are generally not identified, or at least not clearly enough for any sort of meaningful analysis.
If, as is often the case, you have different services or applications running on the same instance (or using the same database services), then the situation becomes even more confusing. For the most part, it’s likely to be effectively impossible to calculate standard business metrics with any degree of certainty, let alone accuracy. This means that the average business essentially has to take its best guess about key metrics such as business unit costs, costs by order, costs per customer, costs by subscription and so forth.
You need to go deeper than an overview of cumulative cloud spending
An overview of cumulative cloud spending can be useful in some situations, but there is a limit to the amount of insight it can provide. If you want to gain a real understanding of where your cloud spend is going and what it is achieving (or not), then you need to get down to the unit costs. That is the only way to gain clarity about the cost-efficiency and profitability of the cloud environment.
Getting down to the unit costs
Your source data for calculating unit costs is system logs plus reports showing details such as spending breakdown, utilization metrics, and performance data. When used properly, these can then be broken down into their components and re-consolidated into relevant units such as cost per user, cost per transaction or cost per source of revenue.
The trick to making this happen is to make sure that all of the necessary reports are tagged in such a way that they link back to a deployment item, either directly or, more commonly and usually more effectively, through a chain. For example, you would have each tag link back to a component of a deployment item and these would then ultimately lead back to the deployment item and be used to calculate unit costs.
It’s entirely up to you how intensive you want to be with your tagging. Sometimes it takes a bit of trial and error to find the sweet spot where you have sufficient detail without getting into tagging overload. It is, however, important to remember that any changes to tags are, currently, only applied to reports produced after the changes are made. In other words, they are not applied retrospectively.
For completeness, if you are using more than one cloud, then you will need to familiarize yourself with the tagging rules in each of them so you can implement a single tagging system which works across all of them and thus makes it possible to calculate the unit cost of any given project, product or service, even when that deployment item works across more than one cloud and hence more than one pricing model.
Putting financial staff and technical staff on the same page
In principle, this approach should give financial staff all the information they need to manage cloud spend effectively. In practice, financial staff may not have the technical knowledge to understand why money is being spent where it is. Likewise, technical staff may not have the financial knowledge to understand why the finance team is questioning where they are spending their money.
By using effective tagging to connect costs to deployment items (and their components), both financial staff and technical staff get the same information presented in a way that makes sense to both groups and hence facilitates meaningful analysis and discussion from both a financial and a technical perspective.