Smart HPA: A Resource-Efficient Horizontal Pod Auto-scaler for Microservice Architectures
<|reference_start|>Smart HPA: A Resource-Efficient Horizontal Pod Auto-scaler for Microservice Architectures: Microservice architectures have gained prominence in both academia and industry, offering enhanced agility, reusability, and scalability. To simplify scaling operations in microservice architectures, container orchestration platforms such as Kubernetes feature Horizontal Pod Auto-scalers (HPAs) designed to adjust the resources of microservices to accommodate fluctuating workloads. However, existing HPAs are not suitable for resource-constrained environments, as they make scaling decisions based on the individual resource capacities of microservices, leading to service unavailability and performance degradation. Furthermore, HPA architectures exhibit several issues, including inefficient data processing and a lack of coordinated scaling operations. To address these concerns, we propose Smart HPA, a flexible resource-efficient horizontal pod auto-scaler. It features a hierarchical architecture that integrates both centralized and decentralized architectural styles to leverage their respective strengths while addressing their limitations. We introduce resource-efficient heuristics that empower Smart HPA to exchange resources among microservices, facilitating effective auto-scaling of microservices in resource-constrained environments. Our experimental results show that Smart HPA outperforms the Kubernetes baseline HPA by reducing resource overutilization, overprovisioning, and underprovisioning while increasing resource allocation to microservice applications.<|reference_end|>
@article{ahmad2024smart,
    title={Smart HPA: A Resource-Efficient Horizontal Pod Auto-scaler for
  Microservice Architectures},
    author={Hussain Ahmad, Christoph Treude, Markus Wagner, Claudia Szabo},
    journal={2024 IEEE 21st International Conference on Software Architecture
  (ICSA)},
    year={2024},
    doi={10.1109/ICSA59870.2024.00013},
    archivePrefix={arXiv},
    eprint={2403.07909},
    primaryClass={cs.DC cs.SY eess.SY}
}