Most of us while learning high level programming languages would have studied dynamic memory allocation as an important function of programming paradigm. As engineers, we were all thrilled when we no longer had to manage the memory resources of our programs due to emergence of high level programming languages like JAVA, Python, PHP, .NET and GO, etc. as the runtime management systems like JRE and Interpreters took care of memory garbage collection.
I still remember Garbage Collection was sold like a killer feature of these programming languages to free up engineers time and develop applications faster. While it’s an obvious thing for today’s programmers; but those who wrote programs in C & C++ are fairly aware of the fact that managing memory allocation and deallocation is an important task that will have serious repercussions on your application performance and reliability if not done properly. Even modern high level languages like Python & Go still expose Garbage Collection interfaces to let engineers control the key GC functions for best performance.
But today, programmers and DevOps engineers are building applications using Cloud resources through API model. And hence there is a new dimension to these resource usage in terms of dollars($$$$) instead of memory as the primary attribute. For the reason that cloud offers pay-per-use model. One of the most common complaints that I hear from Botmetric customers is that their engineers are not de-provisioning cloud resources after their usage, which is causing direct financial leakage as businesses are adopting cloud at a rapid pace. It’s a painful problem as companies scale their usage across teams and business units causing the cost leakages to go out of spiral.
We have been working hard on bringing intelligent solution through Botmetric for solving this problem. Based on our experience and learnings from the customers, I want to share top 5 cloud garbage collection areas that can help save money (real $$$$) for your company:
- Unused Cloud Resources: Based on the hundreds of Botmetric customers data analysis, we have observed that 2% to 5% of customers’ cloud spend is wasted on unused cloud resources. These are the compute, storage, IPs, services and databases provisioned but not used. You can get rid of this using cloud management and governance tools like Botmetric to save $$$ for your company and make your CFOs happy.
- Underused Cloud Resources: Our observation from Botmetric data is that 95 out of 100 cloud customers have provisioned larger capacity than they need in-terms of servers, storage and databases used by them on the cloud. It’s like provisioning Large or Extra Large size virtual machines by engineers for Dev or QA or even production use cases, but hardly using 25% to 50% of the capacity. This typically costs anywhere from 5% to 15% financial loss on overall cloud spend for the businesses.
- Idle RI Capacity: Many companies plan their cloud spend based on budgeting cycle and purchase reserved capacity from the cloud vendors. This RI capacity purchased should be used efficiently as each purchase is related to specific region/zone, operating system, instance family & size, etc. However, the application workloads in the cloud world are dynamic. And we have repeatedly seen idle RI capacity across customers due to changes in the provisioning or application deployment configurations. This typically comes to as large as 10% of idle RI for large customers resulting in double the loss as it was paid for and not used while paying full price again. The best way forward to assuage this situation is to plan RIs.
- DEV & QA Workload Usage: In 95% of the companies, the development and QA resources are not used during off hours like 10 PM to 6 AM and weekends. During these hours, resources are mostly idle and cause extra hours of billing despite not being used. It’s important to deploy a smart automation that can Turn OFF the Dev/QA workloads during off peak hours and and Turn ON during peak hours. By doing so, you can easily save 25% to 40% of the cost related to your Dev/QA cloud usage.
- Instance Family Upgrades: Most cloud providers are ramping up their virtual compute offerings through different slice and dice of instance families & sizes. Many customers who have been using cloud for 2 or more years would have started with older instance families and continue to use them, despite cloud providers launching a better performant and slightly low cost alternatives. This is especially true for AWS customers using older generation instance families like T1, M1, C1, etc. Just flip over to new instances to take advantage of better hardware and slightly less price, this can save 1% to 5% of the costs.
As engineers, in the new cloud world, we are responsible for programming and production. At Botmetric, we are bringing all of these cloud garbage collection mechanisms for our customers to ensure they take advantage of the cost savings and leverage intelligent automation to tame the leakages and thus control their business’ cloud spend.
Do share your thoughts and comments with us below or tweet to us @BotmetricHQ.