System Design ‐ Scaling - FullstackCodingGuy/Developer-Fundamentals GitHub Wiki

Kubernetes

Auto Scaling Strategies or Types of auto scaling

  • HPA (Horizontal Pod Autoscaler) - It is implemented as a Kubernetes API resource and a controller and periodically adjusts the number of replicas in a workload to match observed resource utilization such as CPU or memory usage.
  • VPA (Vertical Pod Autoscaler)
  • CPA (Cluster Proportional Autoscaler) - For workloads that need to be scaled based on the size of the cluster, The Cluster Proportional Autoscaler watches the number of schedulable nodes and cores and scales the number of replicas of the target workload accordingly.
  • KEDA (Kubernetes Event Driven Autoscaler) - to scale your workloads based on the number of events to be processed, for example the amount of messages in a queue.
  • Cron Scaler - Autoscaling based on schedules, The Cron scaler allows you to define schedules (and time zones) for scaling your workloads in or out, in order to reduce resource consumption during off-peak hours.

Playground

If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:

Killercoda Play with Kubernetes

References