Table Of Contents
What Is Cloud Cost Optimization? Why Cloud Cost Optimization Matters 17 Best Practices To Optimize Your Cloud Costs A Modern Cost Optimization Strategy: Cloud Cost Intelligence Want To See CloudZero in Action?

The cloud offers on-demand computing resources, the ability to increase or reduce usage as needed, and the flexibility to pay only for what you use. But if you’ve been building on the cloud for some time, you know that last part isn’t exactly straightforward.  

For example, leaving aggressive product features, engineering sessions, or testing projects unchecked can quickly waste thousands, even millions of dollars in a matter of days.

The solution: Adopt cloud cost optimization best practices to realize the full benefits of the cloud without the hefty bill. Here’s how.

What Is Cloud Cost Optimization?

Cloud cost optimization is a combination of strategies, techniques, best practices, and tools that not only help reduce cloud costs but also maximize the business value of using the cloud. 

It involves enhancing cloud cost efficiency by identifying and reducing mismanaged or excess resources, taking advantage of discounts to reserve higher capacity, and rightsizing computing resources to specific applications and workloads in your cloud environment.

What is the difference between cloud cost optimization vs. cloud cost management?

While cloud cost management focuses on allocating, tracking, reporting, and analyzing cloud spend, cloud cost optimization uses those insights to inform how to maximize business value at the lowest cost.

Optimizing cloud costs isn’t just about reducing costs; it’s also about aligning costs with business goals. An increase in costs is not necessarily a problem if it’s accompanied by an increase in revenue. 

An increase in cloud costs is often driven by growth indicators like onboarding more customers or releasing additional features. Yet, these business activities also generate higher revenue — or at least they should. Higher revenue can often translate into higher margins, profitability, and investor appeal in Software-as-a-Service (SaaS).    

In cloud cost optimization, one of the most important goals is to ensure that costs correlate with productive and profitable activities. For this proactive approach to work, we need meaningful data –- what we call cloud cost intelligence.

Yet, how you use that intel could be the key to success or failure of your cloud cost optimization strategy.

In the next section, we will examine best practices for cloud cost optimization and discuss how cloud cost intelligence can help you gain a strategic advantage.

finops-automation-series-thumbnails

Why Cloud Cost Optimization Matters

Practicing cloud cost optimization delivers a number of powerful benefits both in the short- and long-term. 

1. Understand your cloud costs

It’s one thing to know how much you spent on your AWS or Azure infrastructure last month. It is entirely another to pinpoint how much you spent on supporting an individual customer, a team, a product, a software feature, a service, a project, an environment, etc.

Gaining this level of granular cost intelligence is the first step in cloud cost optimization. Once you do that, you’ll be able to tell where you’re spending unnecessarily and where you can invest more to get higher returns.

2. Cost savings

Once you’ve established the people, products, and processes driving your cloud spend, it becomes much easier to see two things. 

  • You can reduce your cloud costs by eliminating cost centers you don’t need. For example, you may decide to decommission an unpopular or unprofitable product or feature to cut costs.
  • You can identify areas where you can improve efficiency. As an example, you can refactor the unpopular/unprofitable feature, or the entire application, to improve its price-performance ratio.  

You are likely to reduce your cloud costs in either case. You can find out how we recently discovered $1.7 million in annualized cloud savings here. 

3. Improve your margins

An important part of cloud cost optimization is evaluating your Cost of Goods Sold (COGS). Generally, the higher your COGS, the lower your gross margins and profits.

Analyzing your COGS can allow you to benchmark your performance against industry peers. Then you can tell if you are spending more than you should. This can help you embark on a cloud cost optimization path that leads to higher margins. 

In SaaS, healthy margins are crucial for funding growth, attracting quality investors, and obtaining favorable financing terms.

4. Open up new revenue streams

We’ll use two examples here. 

With CloudZero’s cloud cost optimization platform, you can find out which products, services, and features are popular among your users. By providing that as a service, you can generate new revenue sources you may not have known existed.  

You can also use CloudZero to determine which segments of your customers deliver the highest margins. Using this intelligence, you can then refine your marketing strategy to attract similar customers to increase your margins.

5. Improve performance in the cloud

The goal of cloud cost optimization isn’t just to reduce cloud costs. Instead, it is a holistic approach to maximizing your cloud investment.

In other words, it involves slashing costs without compromising your cloud security, system performance, or engineering velocity.

6. Align costs to value

Cloud cost optimization helps you map your costs to the business dimensions you care about.

These can include specific teams, departments, products, and services. This enables you to maximize cloud utilization by prioritizing the areas that are delivering positive results.

7. Cost-conscious culture

Optimizing cloud costs is an ongoing process. By treating cost as a first-class metric, your organization can cultivate a continuous improvement mentality.

CloudZero, for instance, allows your engineers to see in real-time the effects of code changes on costs, so they can determine what technical changes reduce costs without negatively affecting performance, security, and other aspects.  

8. Improve cost allocation

Moreover, implementing cloud cost optimization improves showbacks and chargebacks. With a robust platform like CloudZero, you can collect cost data on tagged, untagged, and untaggable resources. 

In addition to AWS, Azure, and GCP, it can also capture cost data across platforms such as Kubernetes, MongoDB, and Databricks. This gets you a complete picture of your costs as well as who, what, and why they change.

9. Improve engineering productivity

By improving cost visibility, allocation, and budgeting, cloud cost optimization helps reduce the amount of time, effort, and resources needed to keep track of cloud costs.

With time, your engineers and FinOps team will be able to focus on their primary responsibilities, such as releasing better features to attract and retain more customers.  

17 Best Practices To Optimize Your Cloud Costs

Follow these best practices to create a cloud cost optimization strategy that links costs to specific business activities so you can tell who, what, why, and how you are spending your cloud budget. 

That cost visibility will then empower you to make trade-offs or pull strings so that you can allocate more to cloud resources with higher ROI and reduce unnecessary costs — or to eliminate cloud waste to the bare minimum. 

1. Set up your account for monitoring

If you haven’t already, set up a master AWS organization payer account. As you create new account members, ensure their cost data rolls up into that master account. Then there will be a single source of truth for the company’s total cloud spend. Separate accounts 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. Your team needs to be sure they’re collecting this context in order to be able to tie it to billing.

Finally, start tracking your cost history. Enabling cost and usage reporting allows review of past spending, and helps create context for identifying anomalous costs.

2. Align your internal budgeting and escalation processes with business goals

A major factor in controlling costs is making sure everyone understands their budgets and goals for each project. Instead of picking an arbitrary number, engineering leaders should have conversations with executives and product leadership to understand cost requirements. 

Requirements should be based on how the products or features will be packaged and delivered (e.g., Will they be a part of a free trial or enterprise plan?). These requirements will need to be referenced as tradeoffs throughout planning and development alongside other requirements, such as speed and resiliency.

3. Make cost a first-class metric

You can do this by promoting the idea of cloud cost within the organization and making it easy for everyone on the development team to see and understand actual costs. Keep cost top-of-mind as engineering decisions are made. To make cost data easy to understand, make sure:

  • It is current.
  • It has context.
  • It can be measured.
  • There is a clear definition of good and bad.

There are several key metrics that pertain to cloud cost:

  • Unit costUnderstand what your unit cost is — is it cost per API call or cost per report? Whatever the unit, everyone should understand what factors affect cost and how unit cost impacts your bottom line. This metric helps inform decisions about how to spend resources in the cloud and how to charge customers, and will help you understand the ROI on your cloud investment. Spending a lot in the cloud isn’t a problem if the return on unit cost is strong.
  • Idle cost – Determine the baseline cost of your system with zero customer load. This is a general measure of your efficiency. Knowing your idle cost can help you determine whether an architecture change is worth the effort in terms of the savings you can realize.
  • Shared infrastructure – Shared systems can offer cost savings or engineering efficiencies, but make it challenging to split costs across multiple teams. Large organizations should consider how they will chargeback or account for shared costs.
  • Cost/load efficiency curve – Calculate your cost/load curve. Do unit costs grow at the same rate as your customer base, or do they grow exponentially as you add customers? If you have an exponential growth curve, you may reach a crossover point where the system is no longer profitable. It’s important to recognize this before it occurs, so you can think through and weigh the solutions for addressing it.
  • Innovation/cost ratio – Determine the ratio of R&D costs to production operations costs. Although there is no expectation of revenue for products in the R&D phase, those products will eventually go to market. If cost has not been considered during R&D, moving to production can be challenging.

Looking for a cloud cost optimization tool that automatically maps costs to the activities that generated them? Schedule a CloudZero demo to see how it works.

4. Define other metrics important to business goals.

It is crucial that everyone in the business whose work impacts cost understands the fundamentals of the business and uses this information to drive decision-making processes.

Everyone should understand the most important goals of the organization at any given point in time. For startups, the goal may be customer growth above all else. For more mature organizations, the goal may be to increase margins. 

When DevOps understands what these goals look like, it’s possible to make day-to-day and high-level decisions that center around what is best for the business alongside what is valuable to customers.

Metric

Questions To Ask / Questions It Can Answer

Cost per feature

  • How much will it cost to build this feature?
  • How much incremental revenue will this feature bring in?
  • Is this feature worth building right now? (Or is there another one that would map to business goals better right now?)
  • How much are legacy decisions costing us?
    • If we were to tackle tech debt, which projects would provide the most “bang for buck” in the short term? Long term?
  • What parts of application affect costs in a disproportionate way?
    • Do they justify themselves via revenue?

Cost per customer and segment

  • How much does a new customer cost us in terms of cloud storage, compute, etc.?
  • How much is each new customer worth in terms of revenue?
  • Are we making or losing money on certain types or sizes of customer?
  • Is there a better way to price offerings to account for costs?
  • Are segments such as enterprise customers higher or lower margin than other segments?

Cost per app

(or cost of platform, etc.)

  • How much does it cost to run our app daily? Monthly? Yearly?
  • How does that cost change with customer acquisition?
  • Are we making money on the app?
  • What are our margins?

Cost per team

  • How much is each team spending in the cloud?
  • Are there opportunities for cost sharing or economies of scale?

Revenue

  • How much is the company making on the platform/app(s)?
  • What is the projected annual revenue?

Cloud cost

  • What is the annual cost of running our entire cloud?
  • How is that expected to grow or shrink over time?

Cost per unit*

*the definition of “unit” varies based on what you are selling and how; see Unit Cost section above

  • What is our cost per unit?
  • What is our revenue per unit?
  • What are the margins?
  • Are there opportunities to reduce cost per unit?
  • Is our business model mapped well to our cost per unit?

Time to market

  • How long does it take to get products / features to market?
  • How much does that cost in terms of man-hours?
  • Are there ways to decrease time to market? (And thus decrease the overall cost of delivery?)

Cost per cloud service

  • How much are we spending on:
    • Storage?
    • Compute?
    • Databases?
    • Other cloud services?
  • When cost spikes arise, which services are affected? (e.g., logging is a common culprit)

Cost of R&D

  • How much are we spending on R&D?
    • Man hours
    • Technology costs
  • What is the potential value of outcomes (products, services, etc.)?
  • What types of R&D efforts are worth our time?

Cost deviations

  • When a cost spike occurs, what is the cause?
  • Is the increased cost balanced out by increased revenue?
  • If not, how can we put a stop to the spike?

5. 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 find ways to decrease the noise of extraneous data.

For example, engineers need to be able to compare and contrast. With baseline 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. With this type of granular data, they can fix problems faster.

Finance, on the other hand, often cares more about forward-facing projections. For example, they may want to know: “How much will our cloud bill increase 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?” Finance will care most about return on investment — in other words, how much revenue are we getting from our investment in the cloud?

Ultimately, engineering and finance are looking at the same data, but they 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. When you think about surfacing data, you also need to make sure that data is relevant — that you are able to give the right people the right data at the right time.

6. Use data to optimize cloud costs at each stage of the software development lifecycle

Too often, cost only becomes a consideration after a product has been built and launched. Ideally, cost optimization should be a concern throughout the software development lifecycle. 

  • 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.
  • Deployment and operation – Teams should be able to quickly identify unpredicted spend and adjust.
  • 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 (the unit cost).
  • 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.

Remember, every engineering decision has an associated cost. By shifting cost optimization left, each stage becomes an opportunity to maximize your cloud ROI at the earliest possible. 

7. Make timely cost decisions with real-time analytics 

Team members who have access to the right data at the right time can make timely changes that impact the bottom line and product quality. You don’t want to discover cost-saving opportunities too late. 

Rather, you want to observe cost indicators as they change. You’ll be able to determine if your costs are trending normally, or if there are any anomalous activities that could lead to overspending. 

If you don’t like what you see, you can take immediate action to prevent further losses. Alternatively, you can devote more resources to support the associated workload if it leads to higher earnings.   

You will need a cost platform with real-time reporting and anomaly detection to accomplish this.     

8. Weaponize cloud costs for business strategy

Most organizations default to charging customers based on the metrics they already have access to. In other words, they “back themselves into” their pricing strategy. 

Instead of picking the metrics that are best for the business, they pick the ones they can already track. This makes sense on the surface, but it often becomes an issue when pricing strategies are not tied directly to cloud costs.

For example, a business that offers code scanning might charge by megabyte of code scanned, but maybe charging by line of code would make more sense in terms of business outcomes. Customer growth may lead to nonlinear cost increases in the cloud, and leave the business struggling to make up for the margins.

All features of a product should have a dollar cost associated with them. 

If DevOps starts by setting up the application to measure the metric mentioned in this guide from the very beginning, then it’s possible to develop a very keen sense of how much individual features and transactions cost the business. 

That gives product teams flexibility to creatively price offerings, since they will have a very clear and direct sense of how much it costs to run and scale.

Ultimately, this level of visibility enables companies to create an ideal business model and to unlock new opportunities. If you use cloud cost transparency to your advantage, you can turn price into a competitive weapon that can help you outpace competitors.

9. Capture the big picture in one platform 

With multiple dashboards monitoring petabytes of data from multiple cloud vendors, it is tough to make the right decisions. Instead, use a single source of truth for your most critical information. 

The unified view provides teams with complete, end-to-end visibility into costs. In addition, it makes it easier to zoom in on a specific resource. With this visibility, teams can slice and dice cloud spend and usage per resource to gain granular insights such as cost per customer, cost per feature, and cost per deployment.  

10. Rightsize your cloud computing resources 

Right-sizing involves finding, reviewing, and modifying cloud resources to fit the unique requirements of individual workloads and applications. You can rightsize servers for processing, storage, memory, throughput, graphics, databases, and more. 

Because rightsizing in AWS offers more than 1.7 million combinations, you can use a number of cost tools to get advice on the best instance type for a given use case. While the process might take a bit of time, the results go beyond cost savings to improve performance, thereby improving customer experiences.     

11. Gradually optimize tomorrow’s costs today with cloud-native design

Most organizations migrate to the cloud by rehosting (lift-and-shift migration). The move involves transferring on-premises systems into a cloud environment without modifying them. Rehosting is a fast and cost-saving option, but it may lead to moving on-premises inefficiencies to the cloud, which can lead to runaway costs. 

If time, funds, and skills aren’t available to refactor your legacy applications and mission-critical workloads, you can still make incremental design changes to rid them of inefficiencies that could increase cloud waste.

12. Call and keep engineering at the cloud cost optimization table

Engineers can’t help save money if they aren’t responsible for costs. In SaaS, engineering projects, including development, deployment, testing, and issue resolution, often generate the bulk of cloud costs. 

Without engineers’ involvement, it is also impossible to tag resources properly, rightsize them, or eliminate unused ones. As such, it is wise to involve engineering in all cost discussions. 

When engineering has the right cost data, like cost per product feature or cost per deployment, it can determine which architectural decisions maximize business value at the lowest cost to the company.

13. Scoop volume discounts by reserving capacity

Reservation Instances (RIs) are a discount program for businesses that commit to using AWS for one or three years. These discounts can amount to up to 75% savings. Depending on your previous usage and costs, you can estimate whether long-term commitments will result in cost optimization.    

14. Roll with spot instances to optimize costs even more

You can save up to 90% when you choose Spot Instances over AWS On-Demand Instances. However, Spot Instances are not cost-saving for all workloads. A few ideal use cases for Spot Instances include distributed databases, processing big data/machine learning, running CI/CD operations, and powering stateful applications. 

There’s also this. Spot Instance prices and availability change. For this reason, you’d need someone or a team to monitor and select the best combination of price and volume to maximize savings and system efficiency.

15. Automate cloud spend optimization 

It is both time-consuming and labor-intensive to identify, review, and monitor ongoing rightsizing and cost-optimization opportunities. Manual processes make it easy for teams to overlook opportunities. This is where automation can help. A good example is AWS Auto Scaling

Modern cost platforms can rapidly scale down resource usage, thus costs, as your application requires fewer and fewer resources. In addition, some tools can terminate EC2 instances based on predefined times or capacity limits. Both measures are hard to take in real-time and manually without compromising performance.      

16. Make continuous cloud cost optimization the new normal 

Once you make cost a first-class metric, the next thing to do is nurture a cost-awareness culture. You can do this by making cost optimization a continuous process along the entire DevOps lifecycle. How?

Standardizing best practices for operating on the cloud can help with this. You can then assign cost governance responsibilities to a specific person or group to ensure accountability, consistency, and continuous improvement. 

The goal is to maintain an efficient cloud system that does not rack up unexpected costs without anyone noticing until they receive a surprise cloud bill.

A Modern Cost Optimization Strategy: Cloud Cost Intelligence

The above best practices for cloud cost optimization all require a lot of data — data that is linked to specific teams and cloud features.

While many cloud cost optimization tools can help you reduce cloud spend to some degree, few have the ability to provide the detailed data needed to reasonably administer these best practices. Most cloud cost optimization software products essentially look backwards, and lack the ability to map costs directly to the activities that generate them. 

They may reveal when a cost spiked yesterday (after it has already resulted in an unanticipated expense), for example. But typically, they will not be able to pinpoint the precise event or feature that produced the spike. 

Instead, it’s up to your developers to pore through a lengthy report to determine what caused the spike. The cost anomaly may continue until the source is detected, and developers will waste time looking for the cause instead of focusing on more valuable work.

When you can automatically connect costs to the specific teams, events, features, or even customers that generate them, you will have moved beyond traditional cloud cost optimization to cloud cost intelligence.

Cloud cost intelligence tells you where you’re spending your money and (more importantly) what that means in the context of your business. It continuously delivers the data stakeholders need to detect and fix anomalies — and design and build cost-efficient products — automatically correlated to the activity generating the cost. 

Cost data is connected to individual features, events, and teams, so there is no need to search for the cause of unexpected cost spikes. In short, cloud cost intelligence represents the ultimate in transparency, giving finance, developers, engineers, and any other relevant parties the information they need, when they need it, to control cloud costs.

You can achieve cloud cost intelligence with the help of a solution like CloudZero. CloudZero is the only cloud cost intelligence platform that empowers engineering to understand and control cloud costs. CloudZero aligns costs to teams, customers, unit cost KPIs, product features, and more — so you can stop guessing and know precisely where to pull strings to balance cost and system performance.

To ensure that the right people on your team get the right data at the right time, CloudZero:

  • Pulls in both billing and resource data from across your AWS account to automatically group costs and surface insights.
  • Aligns cost to business metrics, without manual tagging effort.
  • Updates continuously, to give you real-time cost data.
  • Sends automatic anomaly reports to the appropriate teams.
  • Runs cost and resource data through a powerful data normalization and machine learning engine to associate costs with the activity or teams that produced them.
  • Gives a clear picture of how your costs are trending and where you need to focus to control nonessential costs.

Want To See CloudZero in Action?

We’d love to give you a tour!  to see how cloud cost intelligence can boost your organization’s bottom line.

The Modern Guide To Managing Cloud Costs

Traditional cost management is broken. Here's why — and how to fix it.