Demo Video

StormForge Optimize Live Demo

In this video, we provide a brief overview of Optimize Live and how it works. Kubernetes Resource optimization can be done with just a few clicks or fully automated in real-time.

StormForge is the leader in automated Kubernetes optimization, making it easy to achieve cloud resource efficiency at scale. It uses patent-pending machine learning in both pre-production and production to drive resource and cost savings, reduce risk of performance issues, and uncover insights that improve your cloud native architecture.

StormForge automates Kubernetes resource efficiency at scale, using machine learning to optimize cloud native environments for cost and performance, enabling developers to focus on innovation. The StormForge Platform provides all the tools you need to run your Kubernetes applications at peak performance & efficiency.

In this video, I will walk you through the newest addition to the StormForge Platform. We call it Optimize Live. A revolutionary simple way to optimize your containers.

Finding the optimal resource configuration for your Kubernetes Containers is a difficult challenge.

So how do organizations tackle this problem? Until today, there were 3 approaches to determine container resources

The first one is trial and error. With this approach you will recognize quickly when a container doesn’t have enough resources because it will get shut down by the kubelet. Dedicating too much resources is hard to detect with this approach… wasting budget that might be better suited elsewhere and not really in the best interest of sustainability.

The second approach is sophisticated testing set up. For this approach you need detailed load testing, creating and maintaining complex test scenarios, capture telemetric data of your application, and bring all these data points together performing complex calculations while making sure you worked very accurately and precisely.

The Vertical Pod Autoscaler, or VPA, is the third option. It comes with Kubernetes. Let’s take a closer look at the VPA.

The VPA is a tool that seeks to accomplish the same thing that we’re doing with Optimize Live. But there are a few reasons why we’re able to deliver much better results.

First, setting up the VPA is really complex, making it hard to use for more than a couple of apps. You need to write complex YAML files for each and every container. There’s a reason only 5% of companies using Kubernetes are currently using the VPA.

Second, the VPA is using a very basic and reactive statistical modeling approach. Essentially, it makes an estimate of usage based on a window of data, and then makes a change if that estimate is greater than 95% or less than 50% of the current resource request. This is pretty ineffective, especially for an environment with a lot of variability in usage. The time frame is also very limited, so you’re going to miss any monthly or quarterly type cycles.

So, with the VPA you still end up with a significant amount of resource slack in order to minimize the risk of CPU throttling and out of memory errors. All the approaches I described have one thing in common. They bind a lot of time of your Kubernetes experts and still might not achieve the desired results.

So our team at StormForge thought, why don’t we just use the existing observability metrics your system already provides and apply our machine learning algorithm to recommend the optimal configurations for you in real time?

Let me walk you through Optimize Live. Optimize Live basically looks at observability data you are already capturing from your production system. Our Machine Learning is learning from historical usage and trends and then making recommendations for updated CPU and memory settings, at whatever frequency you specified when you configured it. You can configure your app for manual or automatic approval. If you choose manual, there is a screen where you can review the recommendation in detail before hitting the approve button… and we will get to this in just a bit.

If you choose automatic approval, the recommendation is automatically patched to the production deployment. And it just keeps watching things and repeating that process, so you can basically put your optimization on autopilot. After you deployed Optimize Live and connected it to your observability tools, it automatically detects all your apps within your production system. From this list you can select the applications you want to optimize.

Let’s take a look at how that works. After selecting an application you just have to follow a few simple steps. For CPU and memory, you can define upper and lower limits and you risk tolerance. The risk tolerance defines how close you want to let the actual resource usage come to the limits you defined. Next, you select a recommendation frequency. This defines how often the machine learning algorithm calculates a new recommendation.

And as a last step, you can choose between patching the configuration for this container manually or automatically. If you choose manual approval, Optimize Live will show you the most recent recommendation on top of the screen with a one-click approval button below. Optimize Live will also show you the container-level details at the bottom of the screen.

You can then compare both settings and either approve the new configuration, discard it or reconfigure your Optimize Live settings for this container. We do recommend using the automatic optimization and patching of configurations, as it is the most reliable, precise and convenient option.

Optimize Live also comes with a Grafana Dashboard to visualize the results of your optimizations. What you can see here is an example of what the actual results might look like. In this example, the yellow line is actual CPU usage. The blue and red show the CPU requests and limits as recommended by our machine learning. You can see how closely they track the actual usage. We’ve also included for this example how the Vertical Pod Autoscaler would have performed in green. You can see that it is far more reactive, and any area where the green line is above the blue represents resource slack, or resources that you’re allocating and paying for but not using.

This was a quick walkthrough of the key features of StormForge Optimize Live and how it works. Optimize Live already has a broad ecosystem. It runs on any cloud, with any CNCF-certified Kubernetes distribution and integrates well with your already existing observability tools. I hope you join the many others who already started optimizing their applications and forging ahead with us.

StormForge: Optimization has never been easier.