How Our Roots in Observability Set Us up To Calculate Cost per Tenant on AWS
CloudZero set out to provide visibility into AWS systems. In the first year, we were an observability tool that gave users insight into all of the relationships between different AWS services. It led us to crack open AWS cost per tenant.
It’s safe to say that cost per tenant (also known as cost per customer) on AWS has been a challenging metric to obtain.
Until now, your best bet has usually been to either make a best guess or build some sort of homegrown system.
As of November 4, 2020, when you Google “cost per tenant,” you get a few things at the top of the page. The first is a couple of blogs by AWS, where they describe an extraordinarily complex system, which you can build yourself. We’ll file that under “homegrown.”
This year, CloudZero has been able to crack open cost per tenant and provide our customers with a way to measure and monitor what each customer costs on AWS — without guessing or building their own system.
We can also show you how much each customer costs you per feature.
In other words, let’s say you’re a SaaS platform that sells to big banks. We’ll tell you:
What JPMorgan Chase costs you on AWS
How your product margins on the JPMorgan Chase deal compares to the Bank of America deal
How much JPMorgan Chase’s utilization of your analytics feature compares to their utilization of your email feature
So how, when AWS and many others have tried valiantly to find an easy way to get at this metric, has CloudZero cracked the code?
I’d like to share that with you.
Our Roots in Observability
Here’s something you may not know about CloudZero.
In 2016, when I co-founded the company with my friend Matt Manger, we set out to provide visibility into AWS systems. In the first year, our nimble engineering team was not focused on cost at all — we were an observability tool that gave users insight into all of the relationships between different AWS services.
To do this, we had to build an engine that could process billions of events per second on AWS, understand what’s important, and drop what’s not. Our engine normalized all kinds of data formats out of AWS and correlated them together. We built this system almost entirely serverless using AWS Lambda to take advantage of its near-infinite scale — not to mention so we could process enormous amounts of data without going broke.
Here’s an old school picture from our website at the time.
Well, we took our first product and talked to many of the top SaaS companies out there. We kept hearing the same thing, “Sure, that’s a problem. But a bigger problem is our AWS bill.”
Here’s the thing, we had already laid the foundation to process vast amounts of data and correlate them together. It wasn’t a big leap to do this for the AWS Cost and Usage Report too. That’s when the idea for CloudZero Cloud Cost Intelligence was born.
Engineering teams needed a way to correlate their costs with the business metrics they cared about (e.g., products, features, dev teams, customers) and the units of value that align with their revenue (e.g., number of videos streamed, number of transactions completed).
The Foundation We Built to Later Solve the Cost per Tenant Problem
So, how does this tie in with cost per tenant?
Well, the reason we’re able to help companies automatically measure their cost per tenant is two-fold — and both have to do with our history.
First, our history as an observability tool means that the engine that powers the CloudZero platform isn’t just looking at your AWS bill. We’re monitoring all kinds of activity, from CloudTrail, CloudWatch, the AWS APIs, Container Insights, and more. We found by correlating certain activity with cost, we could easily calculate cost per tenant — although we’d prefer to keep the actual secret sauce to ourselves.
The second reason is that we built a feature called Context Maps, which organizes your costs into products and features without perfect tagging. We knew that the cost problems companies were facing wasn’t because it’s impossible to get this data on your own. Everything is possible if you take 10 top engineers and put them on it — but most companies have a roadmap they’d much rather focus on. We decided from the get-go that we needed to automate processes using machine learning, not manual tagging exercises.
Here’s a censored version of a context map from our customer, Drift.
You can see all of the resources, that make up the features, that make up their cost product.
Both of these foundational aspects of the CloudZero Cloud Cost Intelligence Platform helped us be the first company to automate the cost per tenant problem, without tags.
The exciting part is that our data engine has a lot more to offer — and we can’t wait to keep innovating with it.
Engineering and observability are in our DNA. Cloud cost is an engineering problem — and we think our history makes us better suited than anyone else to solve it.
Helping Companies Innovate Profitably
Here’s the irony of this whole story.
We set out to help engineering teams build better, more well-architected systems — which is why we started with observability.
What we came to learn is that companies move to the cloud so their costs scale with their revenue. By helping them understand how costs align with business metrics, we’ve helped them build better, more well-architected, and profitable systems.
STAY IN THE LOOP
Join thousands of engineers who already receive the best AWS and cloud cost intelligence content.