The Cloud Waste Problem -- And How To Stop It
Wasted cloud spend is projected to hit $21,000,000,000 by 2021. That’s $21 billion dollars a year - or put another way, almost $2,400,000 an hour. This is money companies can put toward their own growth and development, instead of wasting it on unused, idle or over-provisioned resources. There’s no need for this waste. This list will guide you through a review of your own public cloud environment, so you can optimize spend and eliminate waste.
Orphaned Resources
Orphaned resources occur when a virtual machine is terminated, but resources attached to that machine continue running or existing, which incurs costs. Look for the following in your environment and terminate or reassign them:
- Orphaned Snapshots of decommissioned systems
- Orphaned Volumes such as Amazon EBS, Azure Virtual Disks, Block Storage in GCP, or Alibaba EBS
- Unassociated IPs such as Elastic IPs in AWS, Static Public IPs in Azure, Static External IP addresses in GCP, or Elastic IPs in Alibaba Cloud
- Load Balancers with no instances
- Unused Machine Images such as AMIs in AWS, or images in Google Cloud or Alibaba Cloud
- Orphaned Object Storage such as S3 buckets in AWS, Azure Block Blobs, Google Cloud Storage, or OSS in Alibaba Cloud
Overprovisioned Resources
Whether it’s because you selected the largest size by default or because your needs have changed, you may be paying for resources in much larger sizes than you actually need. Look at your usage data to see if you have any of the following eligible for rightsizing:
- Underutilized Volumes such as Amazon EBS, Azure Virtual Disks, Block Storage in GCP, or Alibaba EBS
- Underutilized Database Warehouses including Amazon Redshift, Google Cloud Datastore, Microsoft Azure SQL Data Warehouse, or Alibaba MaxCompute
- Underutilized Relational Databases such as Amazon RDS, Azure SQL, and Google Cloud SQL, or Apsara DB in Alibaba Cloud. This also includes databases with high redundancy where it is not really needed - multi-AZ databases where a single database is OK, or multiple read replicas
- Underutilized Instances in Amazon EC2, Azure Virtual Machines, Google Compute Engine, or Alibaba ECS
- Inefficient Containerization - turn off or consolidate containers that are not fully utilized
Idle Resources
Wasted spend adds up in many accounts due to resources running when they’re not actually being used - whether it’s a development/testing environment that’s left running 24x7 when it’s only needed during working hours, or a resource no longer needed that developers have failed to terminate. Look for the following in your environment to stop, terminate, or put on an on/off schedule:
- Idle Instances in Amazon EC2, Azure Virtual Machines, Google Compute Engine, or Alibaba ECS (these are particularly good candidates for on/off scheduling)
- Idle Load Balancers
- Idle Relational Databases such as Amazon RDS, Azure SQL, Google Cloud SQL, or Apsara DB in Alibaba Cloud
- Idle Scale Groups - Auto Scaling Groups in AWS, Azure Scale Sets, Google Scale Groups, or Alibaba Auto Scaling
Legacy Resource Types
Cloud providers are always releasing new versions of their existing instance families, with the new versions almost always offered at a lower price. Check your infrastructure for these:
- Instances Running on Legacy Resource Types such as outdated instance families
Suboptimal Pricing Options
Many cloud users select “on demand” resources by default. However, cloud providers now offer a variety of purchasing options that can save a significant amount of money when used correctly. See if you have any of the following on an On-Demand pricing option:
- Consistent Workloads that could benefit from Reserved Instances in AWS or Azure, or Committed Use discounts in GCP, or Subscription-Based Pricing in Alibaba Cloud
- Dynamic Demand that could benefit from scale groups such as AWS Auto Scaling Groups, Azure Scale Sets, Google Scale Groups, or Alibaba Auto Scaling
- Batch Processing demand that could run on discount options like AWS Spot Instances, Azure Low-Priority VMs, Google Preemptible VMs, or Alibaba Preemptible Instances
Suboptimal Use of Reserved Capacity
AWS Reserved Instances, Azure Reserved VM instances, and Google Committed Use discounts are a great option to reduce costs. But without a close eye, it’s easy for them to contribute to waste. Check for:
- Expiring Reservations - renew or re-optimize your workloads, and ensure you review regularly
- Unused Reservations - check your bills from the previous month to see how your existing reservations have been applied, and if they are going unused, adjust your workloads or sell your reservation on the cloud provider’s marketplace
Expensive Choices
If you have flexibility in your environment, you may be wasting money by not choosing the least expensive option available. See if you’re using any of the following:
- More Expensive Regions than Needed - compute pricing can vary widely depending on the region you choose, so make sure you shop around and move workloads when possible
- A More Expensive Cloud Provider than Needed - wherever possible, avoid vendor lock-in
As noted above, there is no need for massive cloud waste. By following this cloud waste checklist, you can monitor your own public cloud environment to optimize spend and eliminate waste.
Jay Chapel is CEO of ParkMyCloud
Edited by Maurice Nagle