The Ultimate Guide To Cloud Cost Optimization - CloudZero
The Ultimate Guide To Cloud Cost Optimization - CloudZero
Business Goals:
A Guide for DevOps
By CloudZero
TABLE OF CONTENTS
Introduction . . . . . . . . . . . . . . . . . . . . . . 1
In This Guide . . . . . . . . . . . . . . . . . . . . . 3
Step 5: Get the Right Data to the Right People at the Right Time . . . 17
INTRODUCTION
Consider this: If you’re an engineer, you make an infrastructure purchasing
decision every time you write a line of code or spin up a server. However, if
you’re like most engineers, you’re primarily focused on developing new fea-
tures and hitting important deadlines—not cost control.
Your goals are naturally focused on priorities like speed, code quality and
whether new features, you know, work. Most engineers don’t have easy ac-
cess to cost data, even if they want it—which cripples their ability to make
strategic application and infrastructure decisions.
This lack of awareness around cost leads to all kinds of consequences, such
as runaway spending and unpredictable cost spikes—not to mention the re-
sulting tension between engineering and finance. However, while the impetus
for cost-control often stems from finance or leadership, there are a number
of other reasons why cost should be an engineering focus. Most importantly,
with cost as a metric, engineers can build better, faster, and more innovative
systems.
Despite the barriers that exist to empowering engineers with cost data, it is
entirely possible to become a more cost-aware engineering organization with-
out compromising the speed or quality of product output.
Just as DevOps has learned to bring security considerations into CI/CD pipe-
lines and combined performance metrics into their broader monitoring strat-
egies, cost can become a first-class operational metric and a natural part
of day-to-day decision-making for engineers. This, in turn, can make it easier
to track, report on, and predict cloud spend, as well as catch unintended cost
consequences before they spiral out of control.
1
Introduction
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
When cost optimization is treated like any other metric, the benefits go far
beyond detecting accidental overspend. Cost alerting can help you detect
cryptomining attacks or denial of wallet attacks. From a more proactive stand-
point, early cost issues can be an indicator of future scaling issues, and reme-
diating them early can future-proof your infrastructure. For example, if you
make an architectural decision that increases your spend with every customer
you bring on, this will have a long-term effect on your ability to increase your
margins. Cost can also be an indicator of cloud-native system maturity, and
introducing cost as a metric can encourage engineers to build increasingly
elegant systems.
Every engineering choice has some sort of cost attached, and teams with
access to relevant, real-time data and an understanding of why costs mat-
ter can make a huge difference to the overall success of the business. That’s
why it’s time for DevOps engineers to embrace cost as a first-class operational
metric.
2
Cloud Cost: A Natural
Next Metric for DevOps
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
IN THIS GUIDE
We put together this guide to help DevOps and engineering professionals in-
crease their understanding of how to monitor and control cloud costs, and how
to clearly connect them to business metrics. Our goal is to empower DevOps
pros to approach engineering challenges with a holistic view of how their de-
cisions connect to the success of the business as a whole.
Our hope is that DevOps teams walk away from this guide with the tools they
need to increase their value to the business in a measurable way.
3
In This Guide
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
4
Why Should DevOps
Care About Cloud Costs?
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
Connecting Cause to Effect & Fixing Problems Fast
Moreover, proactively understanding the financial health of your cloud is good
for both engineering priorities like availability and speed, as well as business
priorities like cost and revenue.
If you’re an engineer, you probably love data and knowing how your systems
work and behave. In the cloud, every action has a cost associated with it,
making cost data one of the richest systems monitoring sources. Real-time
visibility into cloud costs empowers developers to connect cause and effect
when there is an anomaly, such as an unexpected cost spike, and take swift
action to fix it. This reduces the number of unpleasant conversations between
finance and DevOps teams, while ensuring that a strong customer experience
is maintained.
Cloud costs naturally affect the bottom line for businesses. Understanding
which levers can be pulled to affect costs can help the organization make big
decisions like where to invest resources and even what the business model
should look like. (We’ll cover this in more detail later in the guide.)
Now that we’ve shared some good reasons to pay attention to cloud costs, let’s
talk about what makes it so challenging. (In other words, why isn’t everyone
already monitoring cost?)
Career Growth
Lastly, becoming an expert on cost can huge boost for your resume. In a crowd-
ed field, being able to demonstrate a strong command of cost engineering best
practices can significantly boost your engineers value to any organization.
Now that we’ve shared some good reasons to pay attention to cloud costs, let’s
talk about what makes it so challenging. (In other words, why isn’t everyone
already monitoring cost?)
5
Why Should DevOps
Care About Cloud Costs?
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
Beyond the challenge of parsing cloud bills, there are five major reasons why
cloud costs are so difficult to understand:
• Accuracy: AWS discounts, reserved instances, and credits hide the real
story. It’s like trying to understand how much you spent on a shopping trip
when you have to factor in discounts, credit card points, and cash back
rewards.
• Timeliness: Finance can only raise the alarm after the money is spent.
Development teams are often reliant on finance to find out about the cost
6
Cloud Cost Monitoring
Challenges
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
spike and then have to figure out what happened when it’s already too late
to make a difference.
• Context: In order to understand your cloud bill, you need more informa-
tion than just the bill. You need to understand your systems and how they
are connected to the bill. This requires correlation from multiple informa-
tion sources.
The good news is that investing in cloud observability—that is, the ability to
monitor and analyze all aspects of cloud health, including cost—can help re-
solve many of the challenges described above. One key to a successful cloud
observability strategy is understanding what key performance indicators
your business should care about. Below, we’ll explain how to develop the right
KPIs for cloud cost, based on your unique business, not generic conditions.
7
Cloud Cost
Monitoring
Challenges
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
Every business has different goals and different priorities, and it’s important
to understand those of your business in a specific and actionable way. This
means not just using the standard metrics that legacy monitoring pushes, but
going a level deeper to ask what really matters to your business.
For example, a startup that is trying to get off the ground will expect to incur
significant costs as part of their growth strategy. The goal is rapid (albeit sus-
tainable) growth, so they will have a tolerance for costs, and may not expect
to turn a profit early on. Their priority metrics may center more on customer
acquisition, application performance, and time to market. On the other hand, a
larger and more mature business may be looking for ways to reduce costs and
squeeze margins out of an established product. Their priority metrics may look
more like cost per feature, cost per customer, and—ultimately—gross margins.
It’s key to understand on a deep level what matters to your business and
how to connect engineering activities to those goals. In the next section,
we’ll explain how to do this, step by step.
8
Developing the
Right KPIS
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
STEP 1:
GET YOUR AWS ACCOUNT SET UP FOR
MONITORING
Set up a master AWS organization payer account. Then, as you create new
account member, ensure they roll up into that master account. This is the
best way to ensure that there is a single source of truth when it comes to the
business’s cloud spend. Many organizations do this from the outset, but you
might be surprised at how many have lots of completely separate accounts,
which can make it very hard to track cloud costs down the road.
Next, work to capture context. There is a lot of telemetry coming out of AWS,
from sources like CloudWatch, CloudTrail, and VPC flow logs. These all
provide context as to what’s happening in the system. Great! But your team
needs to ensure they’re collecting this context in order to be able to tie it to
billing.
Additionally, we recommend that you start track cost history. Once you en-
able cost and usage reporting, this will allow you to go back in time and see
what you’ve spent in the past. This gives you more context into anomalous
spend and helps you understand what is normal for your business.
9
Connecting Cloud Costs
to Business Goals
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
STEP 2:
ALIGN INTERNALLY ON BUDGETING AND
ESCALATION PROCESSES
Next, we recommend ensuring that every new and existing cloud engineer-
ing project has a monthly budget projection attached to it, and that team
members are aware of that budget. Then, we recommend defining the expect-
ed customer-facing behavior when the team approaches, reaches, and ex-
ceeds that budget. Next, define the escalation process when cost thresholds
are reached and determine how cost anomalies will be triaged and resolved.
Lastly, it’s important to define at what point you’re willing to compromise
your customer experience in order to save costs.
For example, are you willing to make part of your product load a little bit
slower if it means you stay within your budget or improve your margins sig-
nificantly? The conversations can take place between engineering, product
management, and leadership–and cost data can serve as a basis for discus-
sion.
STEP 3:
MAKE COST A FIRST CLASS METRIC
Cloud cost needs to be a first-class metric for every modern business. So….
what exactly is a first-class metric? It’s not just jargon, we promise.
10
Now, let’s define some of the key metrics that pertain to cloud cost.
Key Metrics
Here are some other areas where your organization should strive to have as
much visibility and context as possible. As always, you should be deciding-
which make the most sense in the context of your business.
Unit Cost
All teams should strive to define their “unit cost.” Every organization should
be passionate and aggressive about unit cost, because understanding what it
is, what affects it, and how it impacts your bottom line can give you a strong
competitive advantage.
So what does unit cost mean? Well, it depends on what you are selling and
how you are selling it. For a SaaS business, unit cost could be, for example:
Whatever it means to your business, this is the key metric to pay attention
to, because it will help make decisions about how to spend resources in the
cloud and how to charge customers.
Knowing your unit cost will transform the business question from, “Why CO S T
are we spending all this money on the cloud?” to “What is the return on our per API call
cloud investment?” (and help you answer that question.)
Ultimately, it’s fine to be spending lots of money in the cloud if the busi-
ness is seeing strong returns on that investment. Additionally, with a better
understanding of unit cost, the conversation can get more specific (e.g. Is
this feature worth building? What’s the ROI on it?), rather than general and CO S T
combative (e.g. What the heck are we spending all this money on?) per report
Bottom line: DevOps teams need to have the right metrics being revealed by
the application early on, so they can understand unit cost.
11
Key Metrics
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
Idle Cost
A lot of times we forget about what the standard holding costs are. In other
words, what is the baseline cost of your system with zero customer load?
This is a general measure of your efficiency. Severless, when built correctly,
should have a very low idle cost. Legacy systems like EC2 will have a bigger
footprint. Knowing your idle cost can help you determine whether an archi-
tecture change would be worth the effort in terms of how much savings you
could reap.
Shared Infrastructure
We often build shared systems for cost savings or other engineering effi-
ciencies. However, this can make it challenging to split that across multiple
teams. Large organizations might need to think about how they’ll charge
back or account for shared costs.
Innovation/Cost Ratio
What is the ratio of R&D costs to your production operations costs? In other
words, when you are in the R&D phase, it makes sense to have an expecta-
tion that spend will not be met with resultant revenue in the immediate term.
However, eventually, you will want to take that product to market. If, during
the R&D process, you have designed and developed without cost in mind, it
can be a bumpy road moving to the actual production phase. So while it’s fair
to discount ROI during the R&D phase, don’t let the fact that it is research
mean that you aren’t thinking about how to make it profitable on launch.
12 Key Metrics
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
Cost Optimization Through the SDLC
Often cost only becomes a consideration after something has been built and
released (sometimes long after the fact). Ideally, however, cost optimization
should be a concern throughout the software development lifecycle. As we
mentioned earlier, every engineering decision has a cost associated with it.
Revealing the right data to the right people (i.e. the– builders) at the right
time can help them make decisions to optimize cost, no matter where or
when a decision takes place.
STEP 5:
DETERMINE OTHER METRICS THAT MATTER
TO BUSINESS GOALS
Next, DevOps must understand the fundamentals of the business and use
this information to drive their decision-making processes. DevOps should
strive to build applications, features, and services to support both customers
and revenue. They should also, at the VP level and sometimes below, under-
stand capital flow with respect to engineering investment.
It may be helpful to break down metrics related to costs and revenues and
place these alongside some of the important questions that these metrics can
help answer, as in the table below.
13 Key Metrics
METRICS MAPPED TO KEY BUSINESS QUESTIONS
STEP 6:
GET THE RIGHT DATA TO THE RIGHT PEOPLE
AT THE RIGHT TIME
More data is not always better; in some instances, too much data is part of
the problem. For this reason, it’s worth understanding what types of data are
most useful to which team members and finding ways to decrease the noise
and increase the signal.
For example, engineers need to be able to compare and contrast. With base-
line data and the ability to look backwards, DevOps can understand whether
something is broken or where an anomaly has arisen. DevOps organizations
also need to be able to slice and dice data by resource and by team, as well as
by feature and service. They need to be able to take things apart and look for
problems under the hood. With this type of granular data, they can fix prob-
lems faster.
Finance, on the other hand, often cares more about forward-facing projec-
tions. For example, they may want to know: “How much will our cloud bill go
up if we add six new customers this month?” or “How much can we expect
to spend on the cloud before the fiscal year is over?” Cloud costs figure into
revenue expenditures, since they are operating expenses incurred to build
and sell products and services. Finance will care most about return on in-
vestment—in other words, how much revenue are we getting from our $x
investment in the cloud?
Ultimately, engineering and finance are looking at the same data, but they
will need to see it in different formats and be able to organize it in different
ways in order to answer the questions that are most important to them in
their roles.
So, when we talk about surfacing data, we also need to talk about making
sure that data is relevant—that we are able to give the right people the
right data at the right time.
When DevOps is empowered with the right data, they can make better cloud
cost decisions. They can spend less time stressing about factors beyond their
15
Get the Right Data to the Right
People at the Right Time
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
control and more time building efficient systems. (As a side note, once cost
becomes a part of the workflow, many DevOps pros find that their role in
reducing costs for the business is more active than they may have expected.)
When finance is empowered with more clarity regarding cloud costs, there
is less friction with the DevOps team, and they can often answer their own
questions about what is being spent and where (and when they can’t, they
can ask DevOps clearer questions to get the answers they need). They can
also clearly see the ROI of cloud investments for themselves.
To summarize:
• Give finance summaries of the metrics they care about, attached to relat-
ed data that they can use to communicate with engineering.
16
Get the Right Data to the Right
People at the Right Time
How to Connect Cloud Costs to
Business Goals:
A Guide for DevOps
By CloudZero
STEP 7:
USE DATA TO OPTIMIZE EACH STAGE OF
THE SDLC
Opportunities exist at each stage of the software development lifecycle to
optimize cloud spend. For example, in the planning stage, teams should
be able to justify the budget they need and use cost data to inform product
roadmap and technical debt-related decisions. This enables them to reduce
unexpected spend and quickly adjust the budget when necessary. During
deployment and operation, the same is true: teams should be able to quickly
identify unpredicted spend and adjust. In the design and build stage, teams
should have the data they need at-hand to make cost-effective architecture
decisions. They should be able to report on planned spend and understand
their cost of goods sold (a.k.a. unit cost). Finally, in the monitoring stage, it
should be possible to reassess cost by team, product, or feature and report on
operational expenditures and ROI, segmented by business initiative.
The more teams have access to the right data at the right time, the more able
17
they will be to “pull the right levers”—in other words. make timely changes
that positively impact both product quality and the bottom line.
COST AS A FIRST-CLASS
OPERATIONAL METRIC
Without visibility into cloud costs, it’s impossible to know how to re-architect
an application or what new features to prioritize building. On the other hand,
when DevOps turns cloud cost into a first-class operational metric, it be-
comes possible to focus on the most impactful engineering activities—wheth-
er that means fixing a legacy feature that balloons the cloud bill or adding
a cool new widget that will not cost the business much but will bring in new
customers and revenue.
With cost as a key metric, suddenly the DevOps organization can make
business-driven decisions and not solely engineering-driven decisions. The
team can make a significant strategic contribution to the business, and they
can advocate for the resources they need based on actual costs and revenues.
They are no longer stuck fixing things reactively due to customer complaints
or performance, or answering tough questions from finance. Instead, they are
able to take a proactive stance and prioritize their efforts based on business
outcomes.
Ultimately, making cost a central metric in their day-to-day work will give
DevOps even more power to make a positive impact on the entire business.
18
Step6:WeaponizeCloudCostsforBusiness
Strategy
The best way to accomplish cloud cost visibility is to invest in a single, shared pane of glass
that the executive team, finance, and DevOps can all view. It should be able to slice and dice
metrics to answer the questions that matter to each of these teams, while increasing their abil-
ity to communicate in the same language and understand one another’s goals and priorities.
CloudZero’s metrics can help developers and cloud architects understand the cost of their
usage, while providing finance and executives with the insight they need to understand
where money is being spent and how it impacts the bottom line.
Request a
Demo of
CloudZero
Today!