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
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.
#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.
Eliminate Cloud Waste: Use Less
#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.
#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.
#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
#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.
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).
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
AWS offers three pricing models for cloud resources:
- On-Demand: Pay as you go with no commitments; typically the most expensive option.
- Savings Plans (SP): Commit to a specific usage amount for a reduced rate over 1 or 3 years.
- 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
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.
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
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!