Stage V of AWS Cost Efficiency: Understanding the business value of increasing cloud spending
Here’s the dirty little secret of cloud spending: if your business is successful, your bill will probably go up.
In this post, we’ll discuss the fifth step of our Five Stages of AWS Cost Efficiency: acknowledging that a growing cloud bill isn’t a bad thing if your business is growing accordingly, and learning how to separate wasteful spending from efficient growth by calculating unit cost.
Introducing unit cost
Unit cost can be simply defined as the amount of money it takes to deliver a unit of service. We’re not talking about the unit cost of a server (e.g. cost per hour of an m3.large) but instead the cost to serve something of value: cost per customer, per subscription, per pageview or whatever is relevant to your business. For Netflix, it’s cost per stream. For you, it may be cost per API call.
Shifting emphasis from total cost to unit cost involves marrying business metrics with cloud spending data. It’s a practice generally reserved for the most advanced AWS users—there are a lot of steps to take before you reach this point. But once you do, it’s an incredibly important process: one that yields unparalleled insight into the true value of your cloud use.
When it really starts to matter
At some point in the growth of every organization’s cloud use, an invisible line is crossed: the point at which the executive team starts to really care about the costs. For some companies this happens when spending reaches $100k/mo; for others, when it reaches $1M/mo.
There’s generally a lot of internal pressure to get spending under control and stop the runaway train. A lot of focus is put into reducing waste (see Stage III) and buying reserved instances (see Stage IV). Despite all of the money savings effort, the bill usually continues to go up anyway… just not as steeply. That’s where unit cost comes in handy.
Putting your exec team at ease
When your exec team asks why your efforts to trim costs haven’t reduced the upwards trend in your spending, it’s time to bring in unit cost. With the ability to show a correlation between dollars spent and dollars made, you can justify your cloud spending in terms of business value. Otherwise, you’ll spend a lot of cycles fruitlessly trying to stop the rising tide of spending.
Picking your metric and doing the math
What metric should you use to calculate unit cost? There’s no simple answer to this question. You should be able to tie the metrics back to a value you’re delivering for an internal or external customer. Companies with multiple product offerings or lines of business will have multiple unit costs on their executive dashboard. One line of business may focus on cost per customer, another on cost per pageview, a third on cost per API call, and another on cost per download.
Once you’ve identified which metric to use, the formula is pretty straightforward:
total cost ÷ business metric = unit cost
Obviously, teasing out the value for total cost may not always be so simple. You’ll need to have already laid the groundwork of cost allocation in Stage II so that you can split out total cost for application X vs. total cost for application Y. The easiest way to do this is to use a lot of linked accounts within a consolidated billing structure, with a separate linked account for each discrete application and environment that it runs. Putting environments in separate accounts makes optimization in stage III easier and also lets you quickly separate COGS (e.g. production) from R&D (e.g. development) spending.
Want a shortcut? If you are a scaled web business that relies heavily on a service like AWS to deliver the core part of your business, there’s a quasi-unit cost shortcut you can take: simply try tracking your AWS spending as a percentage of your total revenue.
Getting to Unit Cost with the Cloudability API
It’s surprisingly easy to pull your cloud cost data out of Cloudability into a spreadsheet. Start by building a cost report by linked account/tag/account group/etc, then grab the URL and your API token and use a simple “IMPORTDATA” function in Google Sheets to start dumping dynamically updating data into the spreadsheet.
Once you’ve got the breakdown of spending in place, add your business metrics to the spreadsheet, add some simple division formulas, and voila: you have a unit cost that updates dynamically as your total cloud bill changes.
Managing to unit cost
Great, you’ve produced your unit cost(s)! Now what? Beyond having a pretty number to put on dashboards, you can—and should—start managing your teams to their respective unit cost. It’s by far the simplest way to drill down into the value of costs as they’re accrued. It can be particularly interesting for engineering or operations groups who are spinning up resources, allowing them to see a direct link between their infrastructure choices and the margins of the business. Similarly, you can use unit cost to measure the effectiveness of your efficiency efforts (see stage III) and reserved instance purchases (see stage IV), and whether they’ve had a real impact on your cost management.
So long as your revenue continues to scale with the unit being measured, your unit cost will mark one of the most important numbers that your business tracks. If you make more money when you deliver more X, then managing to drive your unit cost down for X will deliver higher margins.
A process in motion
If you’ve made it this far, it means you’ve completed your first round through the Five Stages of AWS Cost Efficiency. Congratulations! But the work doesn’t stop here.
It’s important to remember that AWS cost management is an ongoing process. In fact, each stage in the process is itself an iterative and circular lifecycle that you never truly complete. Your strategy will constantly need to be revisited in order to accommodate the changes that naturally occur during a business’s development and growth. It requires company-wide buy-in, but investing in this cycle is key. The cloud is a powerful tool: yield it well.
For more information about the Five Stages of AWS Cost Efficiency, check out these blog posts: