One of our fully cloud-native startup customers recently saw a huge spike in their cloud costs – an increase of 70% over the last 8 weeks, resulting in an increase of $7.5k/month. The obvious question that arose:
Is the cloud bill expected to rise this fast?
To get a 10,000-ft level view of the cloud spend, I headed straight to the Cloudwiry Inventory tool. For people not aware of the Cloudwiry Inventory, these are the features I like the most about it:
- A powerful tool for cloud infrastructure managers to view their entire/teams cloud inventory in one place.
- Great with free-text search over every resource running on the Cloud.
- View accessories attached to a particular resource. (example – Disks, IPs attached to a Virtual machine)
- Hyperlinks to each of the recommendations in the Cloudwiry platform.
I followed a simple two-step process to reduce the costs:
- Identifying Zombie assets
- Rightsizing underutilized resources
Identifying Zombie Assets (Low effort – High savings)
These are resources that are started by developers for R&D or testing purposes but are no longer getting utilized. I was surprised by the sheer amount of Zombie assets accumulated over some time.
Returning to the optimization journey, these were some of the zombie assets that I identified:
- Compute Instances
- Amazon Workspaces
- Amazon QuickSight
- ElasticSearch Cluster
- Redis Cache
The screenshot above is from the Cloudwiry Variance Tool, which helped the customer track the cost dropdown after the services were stopped.
Cloudwiry Variance helps track the dynamic parts of your cloud on a daily, weekly, or monthly basis on a team/account level.
Rightsize underutilized resources (Medium effort – Medium savings)
I followed a two-pronged approach for rightsizing underutilized resources:
- Rightsizing VMs and RDS are easier – our rightsizing solutions are used by numerous enterprises to perform rightsizing on multiple platforms for millions of dollars. Within a couple of hours, I was able to identify VMs and DBs which were oversized and quickly brought the cost down by around $1000/month.
- Rightsizing PaaS services is more challenging as we had not spent much time optimizing those earlier. But as the saying goes, “Do not be afraid to go into uncharted territories, as they may give you the best results.” Explanation below.
An interesting observation from my analysis was that Elasticsearch was around 1/8th of the cloud bill ($1,200/month). This seemed a little strange since there was hardly around 12 GB of data in the Elasticsearch cluster. After completing my analysis with an expert who has worked extensively on Elasticsearch, I was able to bring down the Elasticsearch bill from $1,200 to $300 a month.
Moment of Eureka!
As an organization, we currently only supported Rightsizing on RDS and VMs, but the mistake they made, gave us a direction on how easy it is to lose money on the PaaS side also.
Currently, one of our main objectives for 2021 is to make our clients’ environment optimized in PaaS (Elasticsearch, ElastiCache, Mongo/DocumentDB) as well. If you want to understand the savings associated with migrating PaaS services to Graviton and get 20% cheaper cost and 20% better savings, follow this link.
I can recall times at my previous organization, when to launch an instance of 16 GB RAM, I had to go through a list of approval processes, and waiting for the instance for almost a month even after the approval.
Now on cloud-based deployments, the entire process is shortened to just a few clicks after the approval. However, with the great power of cloud computing, comes a greater responsibility to keep cloud bills optimized as well, as it is very easy to make mistakes.
Are you also struggling with optimizing your cloud bills? Want to analyze how healthy your cloud environment is compared to the industry?