Yesterday, StormForge announced the availability of a new capability on StormForge Optimize Live – the first ever bi-dimensional pod autoscaling in Kubernetes. At the recent Cloud Field Day event in California, StormForge introduced the new autoscaling feature to the Field Day audience and demonstrated how for the first time organizations can leverage both of Kubernetes’ native pod autoscaling options to meet their resource utilization goals with Optimize Live.
Pod Autoscaling in Kubernetes
There are two ways you can autoscale the number of pods in Kubernetes – Horizontal Pod Autoscaling (HPA) and Vertical Pod Autoscaling (VPA). HPA with its auto-pilot feature is the easier-to-use option and is adopted in a majority of the cases. Based on CPU and memory utilization, HPA adds and removes pods in response to the resource consumption of workloads. Slowly falling out of favor, the VPA is the lesser used option. It works by “right-sizing” applications through adjustment of resource reservations of the pods.
But no two applications are made equal, and being based on CPU utilization, neither of the two methods is the right fit for all applications. And when both the options are enabled in tandem, it creates a conflict. Brian Likosar, Global Director of Solutions Architecture at StormForge explains that when used together, they work against one another creating a thrashing cycle where HPA lowers utilization and VPA increases it. In the end, inefficient scaling perpetuates the problem of sub-optimal usage, never solving the wastage and cost problem that organizations set to solve in the first place.
Autoscaling Both Horizontally and Vertically without Sacrificing Performance
It is clear that neither of K8s’ autoscalers can improve resource efficiency independently. But what if both the autoscalers could be leveraged synchronously without going through extensive provisioning work? StormForge has devised a way to intelligently enable both K8s’ vertical and horizontal autoscaling options without them conflicting.
StormForge’s achieves this by employing ML to Optimize Live. With machine learning, StormForge automatically sets the target utilization that HPA requires while right-sizing the pods. This attains both the goals of minimum resource usage and cost cutting, but no sacrifice of performance.
Automatic configuration eliminates extensive and complicated manual work and rooms for error. Optimum utilization brings down cloud costs without reflecting on the performance and user experience. During testing, StormForge saw an immediate cost savings of 60%.
Optimize Live with Bi-Dimensional Autoscaling
At September’s Cloud Field Day event, StormForge presented Bi-Dimensional Pod Autoscaling that is newly added to the StormForge Optimize Live solution. In a deep-dive session, Likosar talked about StormForge Optimize Live and the recent announcement, explaining how customers can leverage it to solve pod autoscaling problems in Kubernetes. He wrapped it up with a demo of the bi-dimensional autoscaling feature.
Optimize Live is StormForge’s observability platform that is designed with advanced machine learning programs to proactive reduce resource slack. By looking into usage trends and historic data, it intelligently make predictions and recommendations on resource requirements. It flags all wasted resource between baseline CPU requests and Optimize Live’s CPU recommendation. It also shows the actual utilization which is normally below its recommended value.
StormForge continuously trains its ML algorithm with new data making sure that it generates better recommendations each time. In an environment, Optimize Live narrows down the metrics to a very specific set to focus on. These metrics include CPU and memory requests and limits, replica counts, target utilization and HPA parameters, says Likosar. These metrics are passed to the ML algorithm at the backend that performs environment-specific learning with the data.
“These are each in isolation, we do not aggregate them and refine them any differently because our algorithm is frankly quite good,” says Likosar.
StormForge’s bi-dimensional autoscaling sets the HPA target utilization dynamically at an optimum level without help from operators. It allows CPU requests to be set lower but without letting the risk climb. Vertical sizing is automatically set to the frequency asked by the customers. Meanwhile, between recommendations, HPA adds and removes pods, scaling up or down in tune with the demand.
StormForge Optimize Live now has improved integration with Datadog. A Datadog Integration Tile shows insights from analysis for possible optimization for cloud-native applications.
StormForge Optimize Live with the new Bi-Dimensional Autoscaling capability has great promises of resource utilization and cost management. With it, users can flexibly spin up and spin down their K8s pods as their applications demand. The best thing is, no compromises need to be made in terms of application performance or cloud cost when availing both HPA and VPA.