Core Concepts
Smart HPA introduces a hierarchical architecture that combines centralized and decentralized components to optimize resource allocation in microservice applications, outperforming Kubernetes HPA in reducing resource overutilization and underprovisioning.
Abstract
Smart HPA proposes a flexible auto-scaler for microservices, addressing resource constraints and inefficiencies in existing HPAs. By integrating centralized and decentralized components, Smart HPA effectively balances CPU resources among microservices, improving performance metrics such as CPU utilization, overutilization, and underprovisioning.
The paper discusses the challenges of existing Horizontal Pod Auto-scalers (HPAs) in managing fluctuating workloads in microservice architectures. It introduces Smart HPA as a solution to enhance resource efficiency by exchanging resources among microservices based on demand. The experimental evaluation compares the performance of Smart HPA with Kubernetes baseline HPA across various scenarios using the Online Boutique benchmark application.
Key findings include Smart HPA's ability to reduce CPU overutilization, overprovisioning, and underprovisioning while increasing resource allocation to microservice applications. The hierarchical architecture of Smart HPA enables effective scaling operations by combining centralized and decentralized approaches. Experimental results demonstrate the superior performance of Smart HPA in optimizing CPU resources compared to Kubernetes baseline HPA.
Stats
Our experimental results show that Smart HPA excels with 5x less overutilization.
With the default configurations of the benchmark application, our experimental results show that Smart HPA excels with 7x lower overprovisioning.
Our experimental results show that Smart HPA excels with no underprovisioning.
With the default configurations of the benchmark application, our experimental results show that Smart HPA excels with a 1.8x boost in microservice resource allocation.