Optimal Configuration of API Resources in Cloud Native Computing
By: Eddy Truyen, Wouter Joosen
Potential Business Impact:
Makes computer programs run faster by tuning their settings.
This paper presents how an existing framework for offline performance optimization can be applied to microservice applications during the Release phase of the DevOps life cycle. Optimization of resource allocation configuration parameters for CPU and memory during the Release phase remains a largely unexplored problem as most research has focused on intelligent scheduling and autoscaling of microservices during the Ops stage of the DevOps cycle. Yet horizontal auto-scaling of containers, based on CPU usage for instance, may still leave these containers with an inappropriately allocated amount of memory, if no upfront fine-tuning of both resources is applied before the Deployment phase. We evaluate the performance optimization framework using the TeaStore microservice application and statistically compare different optimization algorithms, supporting informed decisions about their trade-offs between sampling cost and distance to the optimal resource configuration. This shows that upfront factor screening, for reducing the search space, is helpful when the goal is to find the optimal resource configuration with an affordable sampling budget. When the goal is to statistically compare different algorithms, screening must also be applied to make data collection of all data points in the search space feasible. If the goal is to find a near-optimal configuration, however, it is better to run bayesian optimization without screening.
Similar Papers
Auto-scaling Approaches for Cloud-native Applications: A Survey and Taxonomy
Distributed, Parallel, and Cluster Computing
Makes apps run better by guessing what they need.
Key Considerations for Auto-Scaling: Lessons from Benchmark Microservices
Software Engineering
Helps apps automatically adjust to busy times.
An Efficient Approach for Energy Conservation in Cloud Computing Environment
Distributed, Parallel, and Cluster Computing
Saves energy by using computer parts better.