μOpt: An Efficient Optimal Autoscaler for Microservice Applications
Emilio Incerto, Roberto Pizziol, Mirco Tribastone · 2023
Microservices are a popular architecture for cloudbased applications subject to stringent performance requirements. To effectively serve variable workloads, autoscaling allocates computational resources ideally at the lowest possible cost. Although several autoscaling techniques have already been proposed in the literature, they suffer from high computational complexity. Here we propose μOpt as a computationally efficient model-based autoscaler for microservices. By solving a nonlinear optimization problem that embeds a layered queueing network (LQN) model, μOpt computes optimal configurations maximizing performance while minimizing allocated resources. We validate μOpt on a benchmark microservice application, reporting fast solution times (~10-1s) that enable prompt reactions to highly variable workloads. Compared to a state-of-the-art autoscaler based on LQN and genetic algorithms, μOpt achieves higher performance (~6%-8%) with significantly fewer allocated resources (~15%-35%) in the presence of both synthetic and real-world workloads.