Platform
How StormForge Optimize Pro Works
StormForge Optimize Pro improves Kubernetes efficiency and provides in-depth application insights through a process of rapid experimentation and scenario analysis using machine learning in your non-production environment.
So… How does it work?
Step 1
In-cluster Resource Scanning
First, StormForge scans your Kubernetes cluster to automatically find all the configurable parameters. This includes Kubernetes resource requests and limits as well as application-specific parameters. We also detect the current values for these parameters to use as a baseline for comparison.
Step 2
Optimization Objectives
You choose optimization goals based on your business priorities. Goals can include any metric that corresponds to a business objective, for example application response time, throughput or cost. StormForge can optimize for multiple objectives, enabling real business trade-offs between competing goals.
StormForge provides basic cost and latency metrics out of the box, but metrics can also come from your existing monitoring tools, load testing tools, or any other source.
Step 3
Load Testing
Load testing is used to place a realistic production load on the application during the optimization process, which takes place in your test cluster.
Load tests can be performed using StormForge Performance Testing or with a third-party load testing tool.
Step 4
StormForge Machine Learning
The StormForge patent-pending ML algorithm is designed to explore multi-dimensional parameter spaces in a highly efficient way. The model is specific to your app and data, running in your environment.
That means no upfront training of the model is required, and it’s able to recommend an optimal solution much faster than alternative approaches.
Step 5
The Rapid Experimentation Process
With StormForge Optimize Pro, the optimization process is fully automated. It’s managed by the StormForge controller, which runs in your cluster, and consists of several trials.
Here are the 5 steps involved:
01
Application Execution
The StormForge controller runs the application, starting with the baseline set of parameters for the first trial.
SWIPE >>
02
Performance Test
The StormForge controller runs the performance test to apply realistic load to the system.
SWIPE >>
03
Outcomes Measured
StormForge detects the outcomes corresponding to your goals – cost, latency, etc.
SWIPE >>
04
Results Analysis
StormForge machine learning analyzes the results and delivers a new set of parameters for the next trial.
SWIPE >>
05
Repeat
The StormForge controller repeats the cycle for the number of trials specified.
With each trial, the machine learning engine builds a more complete picture of the multi-dimensional parameter space, homing in on the set of parameters that will deliver the best outcomes, automatically balancing the trade-offs between competing goals.
Step 6
Analyzing the Results
The optimization experiment results are shown on a chart, with each trial represented by a dot plotted against your goals. You can easily see the trials that represent the best trade-offs between competing goals to result in the optimal outcomes. You can also see high-risk configurations that would likely fail in production and should be avoided. Selecting a trial shows the parameters used and the results for that particular trial.
Get Started with StormForge
Want to learn more about how the StormForge Platform can optimize your applications?
Contact us to schedule a personalized demo.