Auto scaling is a feature that can dynamically scale computing resources to meet your business requirements. Auto scaling provides a more cost-effective method to manage your resources. This topic introduces auto scaling and the related components.
Background information
Auto scaling is widely used in Kubernetes. Typically, auto scaling is used in scenarios such as online workload scaling and periodical workload scheduling. Alibaba Cloud Container Compute Service (ACS) supports Horizontal Pod Autoscaler (HPA) and Cron Horizontal Pod Autoscaler (CronHPA). It dynamically adjusts the number of application pods by monitoring workloads or setting a schedule to ensure efficient resource usage and service stability.
Auto scaling components
Component | Description | Use scenario | Limit | References |
HPA | A built-in component of Kubernetes. HPA is used for online applications. | Online businesses | You can use the CronHPA to scale workloads that support the scale operation, such as Deployments and StatefulSets. | |
CronHPA | An open source component. CronHPA is applicable to applications whose resource usage periodically changes. | Periodically changing workloads | The CronHPA uses Deployments and StatefulSets to scale workloads. The CronHPA is compatible with the HPA. You can use the CronHPA and HPA in combination to scale workloads. | |
AHPA | An open source component suitable for fluctuating workloads, such as live streaming, online education, and gaming services. | Periodically changing workloads | The APHA uses Deployments and StatefulSets to scale workloads. To use the predictive scaling feature of the AHPA, you need to prepare historical application data within at least seven days. |