Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This guide explains how to navigate an already executed optimization study that is available as part of the Akamas-in-a-sandbox (AIAS) environment. This is intended as a first step to then learn how to create an optimization study leveraging the Akamas UI and the CLI.
Notice: This is a sample study designed to provide an overview of the Akamas capabilities. You cannot run this optimization study, as the target Kubernetes application is not available in the Akamas free trial sandbox environment.
See the next guide to create your first real Akamas optimization!
How to explore an already executed optimization study
How to analyze the results of the optimization study
How to compare configurations with respect to selected KPIs
Access to the Akamas-In-A-Sandbox (AIAS) environment with valid credentials.
The target system for the optimization study described in this guide is a Java-based microservice acting as authentication service for multiple digital applications all running on Kubernetes.
The reference architecture is illustrated by the following diagram. Notice that the load testing (JMeter) and monitoring (Elastic APM) tools, respectively used to load the target system and to collect the KPIs used in the optimization study.
The goal for this optimization study is to reduce the cost of the Kubernetes infrastructure.
Access the Akamas-in-a-sandbox (AIAS) environment and select "Studies" from the left-hand-side menu.
Select the preloaded "Authentication service - minimize K8s cost" study.
The Summary tab displays high-level study information at a glance, including the best score obtained so far, a summary of the optimized parameters, and their values for the best configuration.
At first look, the higher part of the Study page shows:
the ID of the Study - this can be used to run commands against this specific study
the System under test, that is "Auth Service"
the workflow used to run experiments against this system, that is "Auth Service"
The following two sections Explore the System and Explore the Workflow are optional as this guide is more focused on analyzing the output of an already executed study more than illustrating how to set it up in the first place. Another guide focuses on how to create an Optimization Study using the UI and another guide on how to create an Optimization Study and supporting artifacts using the CLI.
The lower part of the Study page shows the Summary:
the best score, that is -49.1% with respect to the baseline
the optimization goal & constraints (see here below)
the selected KPIs (see section Explore Results in this guide)
the optimization scope, that is the JVM and Kubernetes parameters which have been tuned
The optimization goal & constraints can be inspected by clicking on "Details" (and expanding the subsections):
the goal has been set to minimize the application cost
three constraints have been set to ensure that in the best configuration the metrics for the application response time, transaction throughput and error rate do not differ more than 10% from the respective values in the baseline configuration.
From the Study page, you get to the following page by following the System link
As you can see, the System is represented by several components, whose parameters and metrics you can explore:
the JVM runtime with 5 parameters among the 61 available selected in the optimization scope
the Kubernetes Container, whose parameters (CPU and Memory limits and requests) have all been selected in the optimization scope
the Kubernetes Workload, whose only parameter is the number of replicas
the web application, whose metrics are used to measure how the impact of the configurations experimented during the study - the most important one being the associated cost, which represents the optimization goal
From the Study page, you get to the following page by following the Workflow link
As you can see, the Workflow includes several steps which you fully explore by following the left and right arrows
These steps are executed at each experiment to set a specific configuration under test, apply the workload (in this study this was done by leveraging a JMeter integration, as illustrated in the architecture overview), and finally in calculating the cost associated with this configuration.
The tab "Analysis" in the study shows how Akamas has explored the configuration space by identifying better configurations, with each dot corresponding to an experiment.
This chart shows how quickly better configurations were identified after just a few dozen expertiments (you may also want change the toggle to look at absolute timeframes), with the best configuration discovered at experiment #34.
You can use the table below the chart to explore all experiments (and trials) by analyzing the corresponding values for the different metrics and parameters.
Moreover, the tab "Metrics" allows you to analyze all the metrics and parameters over time and to compare their behavior under the baseline and any other configuration explored during the study, including the best configuration.
The best configuration with respect to the optimization goal (and constraints) is displayed at the bottom of the Summary tab.
Moreover, the Insight section highlights other configurations of interest with respect to other KPIs.
These KPIs are automatically selected by Akamas based on the metrics included in the optimization goal and constraints, but can also be chosen by clicking on the "KPIs" section of the Summary page.
By selecting the big right arrow from the Insight section is possible to visualize all the configurations of interest for all the selected KPIs
and see how some of them compare with respect to these KPIs, by activating the histogram icon on those configurations of interest.
In this case, it is worth noticing that there is a configuration (#12) which sub-optimal with respect to the cost reduction goal (-48.9% with respect to -49.1% provided by the best configuration) that provides a slight improvement (+1.4%) in terms of transaction throughput with respect to both the baseline and the best configuration. Therefore suboptimal configuration this might be worth to be further explored and possibly selected for being applied in place of the best configuration.
This shows how Akamas Insights provide support for a better decision making process on which configuration to apply.
You have just finished exploring an Akamas optimization of a Kubernetes application!