Blog

17 Best Cloud Cost Optimisation Tips: Reduce your Cloud Bill

Cloud computing shows no signs of slowing down, with cloud spending projected to hit $678.8 billion in 2024.

But this growth comes at a cost: 58% of businesses stated their cloud costs are too high, which shows companies struggle to control their cloud spending. 

Is your public cloud bill too high? Or are you looking for ways to cut cloud costs? Then, look no further.

Here are 17 cloud cost optimisation best practices to help you get started and achieve significant cost savings.

Niels Kroeze

Author

Niels Kroeze IT Business Copywriter

Reading time 12 minutes Published: 09 December 2024

What is Cloud Cost Optimisation?

Cloud cost optimisation is the process of controlling and reducing unnecessary cloud computing costs. It ensures that cloud resources are allocated efficiently to every application or workload without compromising performance, compliance, security, etc.

The goal is to get the most out of your cloud investment. You do this by better understanding your cloud usage. Uncover inefficiencies, reduce waste, and align spending with actual business needs.

Optimisation also means looking at how resources are used, fixing over-provisioned services, and matching what you pay for to what you actually use.

Plus, with more cloud resources being deployed, the cloud is becoming more complex the days go by. Therefore, ongoing strategies in cloud cost optimisation are required.

 

17 Cloud Cost Optimisation Best Practices

  1. Understand your cloud costs
  2. Use discount models
  3. Review cloud billing and usage regularly
  4. Set budgets and alerts
  5. Continuously right-size resources
  6. Find underused resources
  7. Enforce tags with policies
  8. Choose the right storage tier
  9. Schedule resources
  10. Leverage tools from cloud providers
  11. Autoscaling
  12. Continuously audit and monitor
  13. Reduce data egress fees
  14. Upgrade instances
  15. Leverage Reserved Instances
  16. Spot instances
  17. Minimise downtime cost

 

1. Understand your cloud costs

Focus on key areas of your bill, including:

    • Storage costs: Costs vary by tier (e.g., hot, cool, archive) and additional factors like replication, snapshots, and storage duration. Consider how often you access your data and choose the right tier to lower expenses.
    • Compute costs: Includes charges for running virtual machines (VMs), containers, or other processing resources. Compare reserved versus on-demand instances and evaluate the potential savings of spot instances for non-critical tasks.
    • Support fees: Any extra costs for technical support or premium plans tied to your cloud provider.
    • Managed services: Costs for databases, AI tools, serverless computing, or monitoring platforms, which may have variable fees based on usage.
    • Data transfer and bandwidth costs: Includes charges for moving data across regions (egress costs) or between on-premises systems and the cloud. These costs can escalate quickly if not monitored.

Understanding these details helps you pinpoint which services are driving costs and where you can take action to save.

 

2. Use discount models

Before signing a software licensing contract, always check for discounts from cloud providers. Subscription-based models such as pay-as-you-go (PAYG) are often the main drivers to moving to a cloud environment.

But with PAYG you pay on-demand pricing, which means you pay the highest price and you miss out on discounts available through for example CSP (depending on your spending, you can get discounts). Learn more about the purchasing models of Microsoft.

 

3. Review cloud billing and usage regularly

Regularly reviewing both is essential to avoid surprises. Cloud workloads, services and pricing constantly change. If you’re not regularly reviewing and adjusting, you’ll likely overpay, miss savings, or fall behind on your business needs.

Check detailed invoices to catch hidden fees, unusual charges, and cost anomalies.

For instance: you might find a service scaling unexpectedly, racking up extra costs. 

 

4. Set budgets and alerts

Establishing budgets and alerts helps you avoid unexpected costs. While your budget will depend on your organisation's needs, having alerts will prevent any unwanted surprises at the end of the month.

Cloud providers have platforms where you can configure cloud budgets and alerts. For example, Azure Cost Management allows you to set spending limits and receive notifications as you approach them.

 

5. Continuously right-size resources

Right-sizing means matching your resources to your needs so you only pay for what you need. This means decreasing the size of over-provisioned resources and increasing the size of underused resources.

By right-sizing, you can ensure that your instances are sized to match your workload.

Many companies overprovision their computing resources. In Azure, we see many companies giving their VMs more CPUs and memory than they need, which wastes money on unused capacity.

Here are some right-sizing techniques you can easily adopt:

    • Know your workloads: Analyse what each application or process needs regarding performance, memory, CPU, Input/output operations per second (IOPS), and network requirements. Workloads vary greatly. Some need high throughput, others only need minimal resources.
    • Use heatmaps: heatmaps visually represent resource usage patterns over time. They show how resources like CPU, memory, and network are utilised. They help you spot trends, spikes, and waste.
    • Test different configurations: Try smaller and larger instance sizes. Find a cost-effective sweet spot that meets performance needs.
    • Load balancing: Deploy multiple resources and balance your workload. This ensures one or two instances aren't overwhelmed while others sit idle.

 

6. Find underused resources

Unused instances are those abandoned resources that became unused but never were de-provisioned. Developers often scale up resources during high-traffic periods or intensive workloads and forget to scale them back down afterwards. 

Another example

Sometimes when a VM is deleted, the associated disks might not be removed. While retaining these disks might be intentional in preserving data, they can easily be forgotten, providing no value and remaining inoperable. 

And overprovisioned resources sitting idle can significantly inflate your cloud bill.

(Even if an instance isn’t being used, it’s still costing you).

That’s why you should regularly review your setup to find idle resources and check whether you can remove them to regain control and optimise your cloud spending.

But only remove resources until you can 100% confirm they are just sitting there, purposeless, adding up to wasteful spending.

 

7. Enforce tags with policies

Tags are a powerful tool for tracking usage for each resource and decreasing excessive expenses, adding to your cloud bill. You should have tags on everything you create. These should have ownership assigned, who and why of the resource. 

You can force the deployment of tags using policies (making tags mandatory before deploying resources). With set policies, you can prevent developers from creating unnecessary instances, thus preventing cloud bills from getting out of hand.

Talk to the responsible teams to see if the asset is still needed to prevent untagged resources as each tag ensures all resources have an owner, purpose and accountability for usage.

Consider also implementing chargeback or showback when implementing tags and tagging policies. The bill you’ll receive by then will group costs by department or project due to the tagged resources.

Rekenmachine

Want to save on your monthly cloud cost?

Get our Azure Cost Management white paper! With the best tips, tricks, and background knowledge to optimise your cloud costs.

Download for free!

8. Choose the right storage tier

Many organisations use expensive storage tiers when not needed. Selecting the right storage tier is crucial for balancing not cost but also performance, as each tier is optimised for specific data access needs. Let’s explain this:

  • High-performance tiers (Hot tier Azure) are ideal for frequently accessed data but have higher storage costs.
  • Cold storage tiers are for infrequent access and long-term retention. They cost less to store but have slower retrieval times and higher access fees.

We'd recommend you to create a policy where you automatically move data between storage tiers based on its usage and age. 

 

9. Schedule resources

While often overlooked, scheduling resources is a great practice to save you a significant slice of your cloud budget. Resource scheduling involves resource usage patterns and automating processes to shut down resources during idle periods.

In simple terms, you save drastically by shutting them down in quiet hours. In fact, there are loads of idle workloads for hours. 

For example: Development environments are often used during business hours. But they can be shut down during after-hours (overnight or at weekends) to avoid unnecessary costs. If they happen to decide to work after hours, you can use automated scripts or manually start resources when needed.

Make use of analytics platforms to spot usage patterns easily. This makes automated schedules easy while also cutting cloud-budget waste (without hurting productivity).

 

10. Leverage tools from cloud providers

Cloud cost optimisation tools, like Azure Advisor, can help you monitor workloads and optimise spending. The tool gives helpful insights to your costs and cost-saving practices like right-sizing or finding underused resources. But you should use it with common sense.

 

11. Autoscaling

Manual scaling is challenging. It's difficult to get right, and even when you think you have, you often end up over-provisioning and wasting money. 

But with autoscaling you can adjust cloud resources based on workload demand. This is super useful for dynamic businesses with unpredictable workloads and changing customer demand. Autoscaling saves you time, people and money.

For example: when demand spikes, additional instances are automatically provisioned. And when demands drop, these resources are scaled down without you lifting a finger.

There are many ways to achieve autoscaling, but Kubernetes (K8s) is a great place to start. As a container orchestration system, it's designed to deploy, manage, and scale applications. 

 

12. Continuously audit and monitor

Regular audits ensure you’re not paying for resources that have outlived their purpose in cloud environments.

Continuous auditing involves finding resources while also asking the right questions. Some resources may still be in use, but are they actually needed?

For example: you might find an application generating data no one looks at any more. Or a resource tied to a project that ended months ago. This is where conversations should take place, discussing how long it’s needed and how it’s being used.

Continuously monitor your cloud expenses. Most cloud providers offer tools to track and analyse costs in real-time. Regularly review your usage, look for anomalies, and adjust your strategy.

 

13. Reduce data egress fees

Data egress fees are often an overlooked cost in cloud computing. While data ingress (uploading to a region) is free, egress (downloading or moving between regions) is not. And it can cost a pretty penny and add up fast.

To manage these costs, identify popular data sets and store them in the closest region to where they're used.

For example: if you have on-premises applications that access cloud data, consider migrating those apps to the cloud. That way, data doesn't need to be transferred at all.

Implementing centralised storage also helps reduce inter-region transfers. Additionally, periodically purging stale or duplicate data reduces storage fees and overall costs.

 

14. Upgrade instances

As cloud providers on the get-go introduce new instances and generations within the same family, these updates are often more efficient and available at reduced prices. 

Upgrade your instances to these newer versions to lower cost while keeping up with or, even better, enhancing performance. Don’t forget to review available instance upgrades regularly.

 

15. Leverage Reserved Instances

With Reserved instances you can reserve usage for 1 or 3 years and achieve cost savings compared to on-demand prices (with discounts up to 72%).

In Azure for example, Reserved Instances can be requested on a combination of type, region and Stock Keeping Unit (SKU).

(Great for workloads with constant resource usage). 

But be careful: always have a baseline period before committing your request research. And research before you commit so you don’t lock yourself into resources or regions you may not need later.

 

16. Spot instances

Whereas Reserved Instances are for more predictable workloads, Spot Instances are ideal for short-term, interruptible tasks. They let you rent unused compute capacity at discounts (up to 90% off).

These are best for non-critical tasks (batch processing, rendering, or testing) where interruptions won’t disrupt your operations. But leave out critical and time-consuming ones out here.

 

17. Minimise downtime cost

The cost of downtime can reach extreme levels. Downtime can cost small businesses up to $427 per minute, while larger enterprises can get to a staggering $1 million an hour.

Avoid these excessive costs by proactively monitoring health metrics (such as CPU usage and latency) for early downtime signs. With predictive analytics tools, you can detect irregularities and address issues before they cause outages.

It's also essential to have a disaster recovery plan in place. This way, your business can quickly deploy additional resources to help cover systems experiencing downtime.

Disaster recovery involves spreading workloads across multiple regions, so if one area experiences an outage, your end users can still access your apps. Azure's geo-redundant storage and site replication tools can help. They can quickly recover systems so you can stay available and reduce downtime.

 

Closing thoughts

Cloud cost optimisation is a critical component of any cloud strategy and involves reducing expenses and aligning costs with business goals. 

Following the best practices we discussed can drastically improve efficiency and give you more control and prevent unexpected costs. 

Rather than seeing cloud cost optimisation as a one-time effort, we should think of it as an ongoing optimisation process.

That being said, finance and engineering teams should treat managing cloud spending as a shared priority between each other.

FAQ about Cloud Cost Optimisation

What are cloud cost optimisation tools?

Why do cloud costs matter?

What is the difference between cloud cost optimisation and cloud cost management?

What is the difference between cloud optimisation and cloud cost optimisation?

Presentation Simon

Ready to scale up but afraid of the costs?

Visit our Azure Cost Management workshop! We will share our best practices on Azure Cost Management and demonstrate the tools you can use to manage costs effectively

Read more about the Cost Management workshop