RunWild: Resource Management System with Generalized Modeling for Microservices on Cloud
Abstract
Microservice architecture competes a traditional monolithic design with benefits of agility, flexibility, reusability resilience, and ease of use. Nevertheless, due to the raise of internal communication complexity, care must be taken consistently with resource-usage scaling, placement scheduling, and load balancing to prevent cascading performance degradation across microservices. In this paper, we highlight findings on co-location aware metrics to predict and minimize resource usage for automatically scaling, scheduling, and balancing arbitrary microservices on a dynamic cloud environment with a united and consistent plan. We prototype RunWild, a resource management system that controls all mechanisms in the microservice-deployment process to optimize for desirable performance. We conducted experiments with an actual cluster on the IBM Cloud platform for evaluation. RunWild reduced the 90th percentile response time by 11% and increased average throughput by 10% with more than 30% lower resource usage for widely used autoscaling benchmarks on Kubernetes clusters.