autotune
autotune copied to clipboard
new JSON template to handle common usecases
EM currently is designed to handle the following use cases. Json template with necessary PR will be created here.
A/B testing Who: Dev Where: Part of the CI/CD pipeline Trigger: Source code changes / commit In this usecase, the user provides a deployment name, two docker images and metrics to be monitored during the course of the experiment. The goal is to deploy the docker images in two separate trials respectively, one after the other. It will monitor the given metrics during both the trials and report the results at the end of each trial. The results from each of the trial can then be used to compare the two trials and determine if there has been a variation in the performance objective and the quantum of the same. Run experiment trials in a Dev/QA environment and generate a recommendation Who: Dev Where: Part of the Dev/QA environment Trigger: A/B testing reveals a huge variation which necessitates a fresh Autotune run to generate new config that meets the performance objectives. It could also be for a new project. In this usecase, the user provides a deployment name and a performance objective. The performance objective consists of metrics to be monitored over the course of the experiment. The goal is to find the config supplied by HPO that best optimizes the user provided objective. The config can consist of both resource requests and limits and env parameters. In this case, from a EM point of view, this will usually translate to many trials, usually a 100, that each have a different config that needs to be deployed (using a rolling update) and monitor the metrics provided. The results will be returned for each such trial. Monitor a deployment over long term and provide a recommendation. Who: SRE Where: Production Trigger: Better understand production load to reduce costs In this usecase, the SRE will provide a deployment that needs to be monitored over a long period of time. The intention is to better understand the variance of the incoming load conditions and provide recommendations on the container and heap sizing in an effort to reduce costs. From the EM point of view, this will translate into monitoring an existing deployment over long periods on the user specified metrics and updated usage results on a periodic basis.