Amid economic uncertainty, rising resource demands from technologies like GenAI, and increased focus on sustainability, it’s more important than ever to achieve cloud efficiency.

It’s no surprise that according to the FinOps foundation‘s annual survey, reducing waste or unused resources is the number one priority this year for organizations of all sizes.

That’s why we wrote this essential guide to cloud cost optimization. It covers strategies and best practices for getting visibility into your cloud spend, eliminating unnecessary costs, and getting more out of every dollar spent on the cloud.

What is Cloud Cost Optimization?

Cloud Cost Optimization ensures that the most suitable cloud resources are allocated to each workload, optimizing for performance, cost, scalability, and security. The goal is to maximize return on investment and overall business value from cloud expenditures.

Cloud environments are complex and dynamic, with unique and evolving requirements for each workload. By leveraging data, analytics, and automated tools, Cloud Cost Optimization identifies the most advantageous resource configurations and pricing models. The goal is not just to minimize waste, but to enhance the operational excellence and performance of your cloud resources.

14 Best Practices for Cloud Cost Optimization

Let’s dive into the best practices and strategies for optimizing your cloud costs — it all starts with visibility.

Get visibility into costs

To make good decisions, business leaders (whether engineering, product or finance) need to be able to understand what cloud costs are generated and who is generating them. However, the complexities of dynamic cloud usage make it difficult to have a complete understanding of your cloud cost.

AWS provides a monthly billing file called the Cost and Usage Report (CUR) which may have hundreds of thousands, or millions, of rows of granular data on your hourly resource use. In some cases, such as EC2 instances running Linux, billing is tracked on a per-second level. With so much information available, you need a method for translating all of that raw cost data into business value.

Let’s discuss some best practices for understanding your cloud costs.

#1: Tag & Allocate Cloud Costs

Step one of cloud cost optimization is connecting the functions of your business to what you’re spending in AWS each month. The goal is to fully allocate, analyze, and report cloud costs so that you understand how resources are being used and by whom. How much did an app cost to run? Is the engineering team on track for the monthly budget? Who is responsible for shared costs?

Answering these questions begins with meticulous tagging and allocation of cloud resources. Tags allow you to assign metadata to your cloud services, categorizing them by application, owner, project, team, environment, or another category important to your organization. Showbacks or chargebacks allow you to accurately attribute costs to the appropriate projects, departments, or initiatives.

There are some challenges involved in doing this manually, including untagged or mistagged resources, the difficulty of enforcing a tagging policy consistently across an organization, and the time required to tag all resources. You can also use a cost allocation tool to automatically allocate AWS costs, fix tag misconfigurations, and spread shared costs to multiple teams and business units.

Cloud Cost Management tools like nOps Business Contexts tag and allocate costs automatically
Cloud Cost Management tools like nOps Business Contexts tag and allocate costs automatically

#2: Monitor cloud costs (budgets, alerts)

With the rise of cloud computing, many organizations have faced significant challenges or even failure due to spiraling cloud expenses. To avoid this, implementing strict budgets and real-time cost alerts is crucial for maintaining financial health (and avoiding billing horror stories).

AWS-native tools like AWS Budgets allows you to define expected costs and usage boundaries. It also sends notifications when you’re close to or have exceeded these limits.

AWS Budgets can help users forecast and avoid a surprise cloud bill through budget creation and alerts
AWS Budgets can help users forecast and avoid a surprise cloud bill through budget creation and alerts

Eliminate Cloud Waste: Use Less

At a basic level, your cloud cost optimization strategy is to use less, and pay less. Let’s discuss using less first.

#3: Rightsize Cloud Instances to optimize cloud costs

Amazon EC2 instances are virtual servers in Amazon’s Elastic Compute Cloud (EC2). They provide the compute power you need to run applications on the AWS infrastructure. Each instance is designed for a specific use case, that allows you to configure your infrastructure for your application needs precisely.

However, even if you choose the right EC2 instance initially, applications, environments, and demand are always evolving. Continual rightsizing of your cloud resources helps you to align your infrastructure better with actual usage, so that you don’t pay for cloud resources you aren’t using.

The first step of rightsizing includes using monitoring tools to collect key resource-level metrics on your cloud resource usage.

Cloud Watch metrics used to rightsizing cloud resources for cost optimization
CloudWatch metrics used to rightsizing cloud resources for cost optimization
Based on an analysis of this data, you can decide whether downsizing to a cheaper instance is safe or not. For more information on the process, you can read this complete guide to rightsizing EC2 instances with steps, screenshots, and rightsizing formulas.

#4: Schedule Resources to reduce cloud costs

Scheduling resources is another key step in your cloud cost optimization strategy.

According to best practices, resources should ideally be running in the cloud only when the workload is required. Scheduling the time when a cloud environment or resources run saves both cost and environmental impact.

You might not want to ever turn off your production environments — on the other hand, your team is likely not using your pre-production (dev, test, QA) environments 24 hours a day, 7 hours a week. If you stop these environments outside of the core 8-10 hours your team works, you can potentially save 60-66% of these cloud costs.

Automate the scheduling of your workloads through AWS-native or third-party tools.
Automate the scheduling of your workloads through AWS-native or third-party tools.

#5: Eliminate idle resources to reduce cloud costs

AWS accounts often accumulate unused EC2 instances over time. In a dynamic cloud environment, it’s not uncommon to spin up EC2 instances and then forget about them (due to workload migrations, auto-scaling misconfigurations, developmental tests, discontinued projects, or other reasons). And cloud providers charge for these idle resources, even if you’re not using them.

The good news is that for every dollar saved on an idle instance, you also save two more dollars in corollary charges such as storage, network and database charges.

Another common culprit of cloud waste is unused EBS volumes — if not regularly identified and deleted, these can quickly accumulate and inflate your cloud costs.

#6: Cost optimization of storage

Storage costs are another key target for optimizing cloud costs. Evaluate your storage needs and make use of different storage types and classes to optimize costs. For example, infrequently accessed data can be moved to cheaper storage solutions like Amazon S3 Glacier, while keeping frequently accessed data on higher-performance (and cost) options. Or, if your usage patterns changes, you can use S3-Intelligent Tiering to automatically track your usage and select the most cost-effective storage tier.

Another way to optimize your storage is to migrate to more cost-effective options, such as from GP2 to GP3. GP2 and GP3 are general-purpose AWS EBS volumes, with GP2 being the older generation and GP3 the newer. GP3 volumes generally cost up to 20% less compared to GP2 volumes with the same storage size.

#7: Reduce Data Transfer fees in your cloud environment

If you’ve used a cloud provider like AWS, you’ve likely incurred data transfer expenses. They are easily overlooked amidst the many other line items on your Cost and Usage Report — but if left unchecked, these costs can accumulate and can be a major hidden cause of high AWS bills.

Many companies unwittingly incur hefty data transfer charges, potentially spending millions of dollars every year. Migrating data to and from a public cloud can be expensive. AWS charges for data transfer based on the following factors:

  • Source and destination regions
  • Type of data transfer
  • Type of service (S3, EC2, RDS, etc.)
  • Amount of data transferred
AWS Data Transfer Costs
By designing architecture to avoid unnecessary data transfers, you can realize significant cost savings in your cloud bill.

#8: Identify and investigate cost anomalies

You can identify unexpected spikes in cloud spend with a cloud cost intelligence tool like AWS Cost Anomaly Detection, which utilizes Machine Learning to identify unusual spending patterns in a user’s AWS account. The tool leverages emails or Amazon SNS to deliver alerts.

Once you’ve identified cost anomalies, you’ll need hourly visibility into your cloud spend to perform a root cause analysis. For example, say that your networking costs have significantly increased. With daily visibility, the increase is clear, but the reason why is not.

Daily view of resource usage showing an increase in cloud usage October 6, 2023
Daily view of resource usage showing an increase in cloud usage October 6, 2023

On the other hand, with hourly visibility, the spikes in traffic are clear — making it easy to identify the culprit. A particular process or job is triggering at these specific times to drive unnecessary costs (in this example, by misrouting internal traffic through an external interface).

Hourly view of cloud usage for identifying cost saving opportunities
Hourly view of cloud usage for identifying cost saving opportunities

Leverage AWS Discounts & Credits: Pay Less

Using less is just half the equation in your cloud cost optimization efforts.

One key strategy to optimize cloud costs is to effectively leverage your cloud provider’s pricing system, such that you pay less for the exact same cloud resources.

#9: Reserved Instances and Savings Plans

Save up to 66% compared to On-Demand cloud costs with hourly commitments
Save up to 66% compared to On-Demand cloud costs with hourly commitments

AWS offers three pricing models for cloud resources:

  1. On-Demand: Pay as you go with no commitments; typically the most expensive option.
  2. Savings Plans (SP): Commit to a specific usage amount for a reduced rate over 1 or 3 years.
  3. Reserved Instances (RI): Pre-purchase capacity for 1 or 3 years at a lower cost than On-Demand, with options for partial upfront or all upfront payment for even more savings.

Savings Plans and Reserved Instances apply hourly on a use-it-or-lose-it basis. The basic strategy is to use Reserved Instances and Savings Plans to optimize costs for steady, long-running workflows that you can easily predict in advance.

For more aggressive savings and additional flexibility, automated tools for commitment management can use ML and AI to predict optimal commitment purchases and buy back any unused commitments.

#10: Spot Instances

AWS Spot instances

Another more aggressive cloud cost optimization strategy is to make use of Spot instances. AWS Spot Instances are spare AWS capacity that users can purchase at a heavy discount from On-Demand (up to 90% off). However, AWS does not guarantee that you’ll be able to use a Spot instance to the end of your compute needs. When a user willing to pay the full On-Demand price emerges, AWS can terminate these instances with a two-minute warning (known as a Spot Instance Interruption).

These terminations must be handled gracefully to avoid downtime, making Spot usage an advanced-level cloud cost optimization technique (unless you have a tool to help).

However, the hefty discounts offered by Spot instances mean that if used effectively, they can be a major part of your cloud cost optimization strategy.

#11: Get AWS Credits on your cloud services

AWS credits are automatically applied to bills to help cover costs that are associated with eligible services. Let’s talk about a few common ways to get them:

1. AWS Migration Acceleration Program (MAP): Offers financial incentives, including credits, to help enterprises reduce the costs of migrating existing workloads to AWS, providing expertise, tools, and training for effective migration.

AWS MAP: Assess, Mobilize, Migrate & Modernize

2. AWS Activate Program: Specifically designed for startups, this program provides AWS credits, technical support, and training to help start and scale their cloud infrastructure. It’s available in different packages depending on the startup’s needs and association with certain incubators, accelerators, or venture capital firms.

3. Well Architected Framework Report: A process where customers can work with AWS to review their workloads and application frameworks. WAFRs can help with cloud cost optimization. And as a plus, AWS may offer credits for implementing WAFR reviews and fixes.

#12: Consider AWS Enterprise Discount Program (EDP)

If you’re an enterprise cloud user with a demonstrated history of significant AWS cloud usage (typically $1+ million per year), joining AWS EDP might be a valuable way to optimize cloud costs. It offers a discount on total AWS billing, which increases based on total spend and the length of the commitment period, typically 1-5 years).

These discounts are designed to reward long-term, high-volume use of AWS resources and foster enduring partnerships between AWS and its enterprise customers. The biggest advantage of an Enterprise Discount Program is that it allows companies with large-scale AWS use to pay less for AWS cloud services as their usage scales.

FinOps Strategies for Continuous Improvement

FinOps (a term which comes from combining Finance and DevOps) is the set of cloud financial management practices that allow teams to collaborate on managing their cloud costs. Engineering, Finance, Product and Business teams collaborate on FinOps initiatives to gain financial control and visibility, optimize cloud computing costs and resource ROI, and facilitate faster product delivery.

#13: Optimize over time

FinOps Principle Crawl, Walk, Run

The FinOps “Crawl, Walk, Run” framework is a phased approach to implementing financial operations best practices in cloud cost management.

During the “Crawl” phase, organizations focus on gaining visibility into cloud spending and usage to establish basic control. As they transition into the “Walk” phase, they implement more sophisticated management and cloud cost optimization strategies.

Finally, in the “Run” phase, organizations optimize their cloud spend in a continuous and proactive manner, using advanced techniques like automation and predictive analytics to maximize cost efficiency and business value.

#14: Use Automation Tools in your Cloud Cost Optimization Strategy

While cloud providers offer tools for monitoring your cloud spending and recommendations for cost saving opportunities, actually implementing these optimizations often requires significant engineering time and resources.

To make it easy for engineers to understand and optimize cloud resources, nOps created an all-in-one automated cloud cost optimization platform.

At nOps, our mission is to make it easy and painless for engineers to take action on cloud cost optimization. The nOps suite of cloud cost optimization tools includes:

  • Compute Copilot: makes it easy to save with Spot discounts to reduce your On-Demand costs by up to 90%
  • Commitment management: automatic life-cycle management of your EC2/RDS/EKS commitments with risk-free guarantee
  • Storage migration: One-Click EBS volume migration
  • Rightsizing: rightsize EC2 instances and Auto Scaling Groups
  • Resource scheduling: automatically schedule and pause idle resources
  • Well Architected Review: automate and streamline your AWS Well-Architected Review

nOps was recently ranked #1 with five stars in G2’s cloud cost management category, and we optimize $1.5 billion in cloud spend for our customers. Join our customers using nOps to understand your cloud costs and leverage automation with complete confidence by booking a demo today!

Get discounts on all of your compute with nOps