Genetic Programming for Self-Adaptive Auto-Scaling of Microservices
For operators of microservice systems, AutoSLO provides a self-adaptive scaling framework that proactively prevents SLO violations with minimal resource waste.
AutoSLO uses genetic programming to learn and evolve scaling logic for microservices, reducing resource usage while maintaining low SLO violation frequency across two case-study systems.
Microservice architecture is widely adopted in modern systems, where auto-scaling is critical for satisfying service-level objectives (SLOs). However, determining optimal scaling for microservices is difficult, and reactive resource allocation often leads to costly over- or under-provisioning. We propose AutoSLO, a learning-based, self-adaptive scaling framework that dynamically adjusts microservice replicas to meet SLOs while minimizing resource usage. AutoSLO uses a continuous monitoring-adaptation feedback loop and leverages genetic programming to learn and evolve scaling logic, enabling the deployed microservice system to proactively prevent SLO violations rather than repeatedly searching for one-off scaling actions. We evaluate AutoSLO on two case-study systems -- an online shopping platform and a chatbot based on large language models -- and show that this framework substantially reduces resource usage while maintaining a low frequency of SLO violations, all of which are resolved within a short time window.