Bot of the Week: Underutilized Instance Bot
Identifies instances that have either been running for a long time, or have very low capacity utilization…contributing to ever-growing monthly cloud bills.
Why do I care:
The cloud provides nearly infinite resources and computing capacity. In most cases this capacity is offered for pennies per hour. With cheap start up costs and endless space, oftentimes developers, engineers and other users of your cloud infrastructure are buying more cloud capacity than they actually need. While the short-term costs of doing so are low, leaving these resources running unnecessarily or forgetting about them can result in runaway costs in the cloud. This is a big reason research shows enterprise cloud bills growing 2-3 times over budgeted expectations!
Forgotten Instances Will Come Back to Eat Your Bottom Line
Enterprises in the cloud share a common pain point: virtual instances (that bill out on an hourly basis) are left running when no one is using them. Imagine your utility bill if you left the lights and electronics running all day and all night. Instances are billed in the same way. It’s cheap to spin up instances, but expensive to forget about them.
Why Test Drive Code on a Kia When You Can Have A Maserati?
More often than not developers want plenty of power to develop and test their code. With access to the cloud, they can spin up big, beefy servers with little concern for cost. Meanwhile, product teams and operations folks want to make sure they have plenty of capacity to run their workloads. They most always over-estimate their needs and over-provision capacity. Teams are purchasing 2, 4, or 8 cores of computing power and end up using a very low percentage of that capacity. Consider purchasing a top of the line sports car that can accelerate from 0-100 in just a few seconds. It has incredible horsepower, a sleek design and is made to race. Now imagine driving it in bumper to bumper traffic for 20 miles and never being able to use it’s full potential. The same can be true for over-provisioning in the cloud. You have a whole lot of power and capacity that is going to waste.
Use Insights to Make Better Decisions
Before taking action on these instances, it’s useful to monitor these environments to truly understand how your organization is utilizing the cloud. It may be clear that a test environment requires fewer CPUs or that the resource itself doesn’t have to exist beyond one day, one week or one month. Using insights will allow your organization to make the best choices when adding (or culling) capacity in your public cloud. Data makes it clear whether less cores are better for your environment or if a reserved instance should be considered.
Automate Resizing and Deletion Of Underutilized Instances
For both the case of over-provisioning and forgotten instances, automation is one of the best solutions to reduce cost and waste. By setting policy in an automation platform such as DivvyCloud, users can specify how long an instance should exist before it is automatically stopped and terminated. For example, if an instance in spun up in the dev test environment, it can be set to terminate after 7 days. DivvyCloud’s automation Bots will follow the policy and delete the instance whether or not anyone remembers.
Additionally, resizing can be automated with Bots that identify instances that have run at less than say…10% CPU utilization over the last two weeks, and schedule them to be reduced one size. If after two more weeks, the instance in question is still under 10% CPU utilization, the Bot will knock it down another size. And so on, until it the load and capacity reaching a reasonable utilization level (or it ends up at the smallest size instance costing very little). Elasticity is one of the key benefits of the cloud, and having automation that can scale up AND scale down is vital for optimizing cloud usage.