How to optimise cloud costs
Right-sizing, reservations, monitoring and FinOps: proven strategies to control your cloud bill
The cloud offers flexibility and scalability, but without control, costs can spiral. According to Flexera, companies waste an average of 32% of their cloud spend on under-utilised, oversized or unnecessary resources. Optimisation does not mean cutting capacity: it means paying only for what you actually need.
This guide covers the most effective strategies to reduce cloud costs without sacrificing performance or availability: from right-sizing and reservations to FinOps practices and spend automation.
Right-sizing: dimension correctly
Right-sizing means adjusting the size of cloud resources (VMs, databases, containers) to actual usage. It is the first step and the most impactful: a t3.xlarge instance using 15% CPU should be a t3.medium, saving 50% without affecting performance.
Cloud providers offer tools to identify oversized resources: AWS Compute Optimizer, GCP Recommender and Azure Advisor analyse historical usage and suggest more appropriate instance types. Review these recommendations monthly and apply them progressively.
- Analyse CPU, memory and disk usage for each resource over 14–30 days
- AWS Compute Optimizer, GCP Recommender, Azure Advisor: automatic recommendations
- Start with the highest-cost resources: 20% of resources typically generate 80% of spend
- Resize progressively: go down one size, monitor, adjust if necessary
Reserved instances and savings plans
If you have predictable workloads that run 24/7 (databases, web servers with constant traffic), reserved instances offer discounts of 30–72% over on-demand prices. AWS Reserved Instances, GCP Committed Use Discounts and Azure Reserved VM Instances work with 1 or 3-year commitments.
Savings Plans (AWS) and Committed Use Discounts (GCP) offer more flexibility than traditional reservations: the discount applies to any instance type within a family, region or service, allowing you to change machine types without losing the discount.
- Reserved Instances: 30–72% discount, 1–3 year commitment, fixed type
- Savings Plans (AWS): flexible discount applicable to different instance types
- Committed Use (GCP): spend commitment discounts, automatic application
- Rule: reserve what you know will run 24/7, on-demand for variable loads
Spot instances and interruptible workloads
Spot instances (AWS) and preemptible VMs (GCP) offer discounts up to 90% over on-demand pricing. The trade-off is that the provider can reclaim the instance with little notice (2 minutes on AWS, 30 seconds on GCP) when it needs the capacity.
They are ideal for interrupt-tolerant workloads: batch data processing, ML model training, CI/CD tests, video rendering and any task that can restart without data loss. They are not suitable for databases or services that require continuous availability.
- Up to 90% discount over on-demand prices
- Ideal for: batch processing, ML training, CI/CD, rendering
- Not suitable for: databases, production APIs, stateful services
- Combine with on-demand: spot for baseline load, on-demand for peaks
Spend monitoring and alerts
You cannot optimise what you do not measure. Set up budget alerts on every cloud account to receive notifications when spending exceeds defined thresholds (50%, 80%, 100% of the monthly budget). AWS Budgets, GCP Budget Alerts and Azure Cost Alerts are free and can be configured in minutes.
Implement consistent tagging on all resources: team, project, environment (dev/staging/prod), owner. Tags allow you to break down spending by business-relevant dimensions and allocate costs to each project or department.
- Budget alerts at 50%, 80% and 100% of expected monthly spend
- Mandatory tagging: team, project, environment, owner on every resource
- AWS Cost Explorer / GCP Billing / Azure Cost Management: detailed analysis
- Monthly spend reports by team and project
Savings automation
Development and staging environments that run 24/7 waste money. If your team works 10 hours a day, those environments are idle for 14 hours daily and over weekends. Automating their shutdown outside working hours can save 60–70% on those resources.
Automation tools include: AWS Instance Scheduler, scripts with Lambda/Cloud Functions, and solutions like Spot.io or Kubecost for Kubernetes. Also automate cleanup of orphaned resources: old snapshots, detached volumes, unused elastic IPs and load balancers with no traffic.
- Automatic shutdown of dev/staging outside working hours
- Orphaned resource cleanup: snapshots, volumes, IPs, unused LBs
- TTL (Time To Live) on temporary environments: automatically destroyed
- Auto-scaling to adjust capacity to real-time demand
FinOps: continuous optimisation culture
FinOps (Financial Operations) is the practice of managing cloud costs as a shared responsibility between engineering, finance and business. It is not a one-off project: it is a continuous cycle of informing (cost visibility), optimising (applying changes) and operating (maintaining discipline).
Organisations with FinOps maturity have a team or person responsible for cloud cost management, review costs weekly, and every engineering team knows and owns the spend of their services. The goal is not to spend less as a principle, but to invest every pound consciously and measurably.
- Inform: cost dashboards visible to all teams
- Optimise: right-sizing, reservations, waste elimination
- Operate: weekly review, cost ownership per team, budgets
- Key metrics: cost per transaction, cost per active user, cost per environment
Key Takeaways
- Right-sizing (adjusting resources to actual usage) is the first and most impactful step
- Reserved instances and savings plans save 30–72% on predictable 24/7 workloads
- Spot instances offer up to 90% discount for interrupt-tolerant workloads
- Monitoring with alerts, tagging and monthly reports prevents surprises
- FinOps turns cloud optimisation into a continuous, shared practice
Is your cloud bill out of control?
We audit your cloud spend, identify savings opportunities and design an optimisation plan with measurable impact.