Autoscaling Containers... with Math
summary
Custom autoscaler built and tested against GKE using the Heapster API to read CPU and Kubernetes replication controller API to set replicas, sampling every 5s. Models fit with an R script (example: CPU_next = 0.94·CPU_current − 0.2·instances) and a simple proportional/PID approach controls scale decisions. Demo drives 20k→40k qps, observes CPU hitting ~400% then replicas increase and settle; default HPA behaves roughly as a proportional controller. Code and benchmarks live at Espinoza/control-theory on GitHub.
AI-written summary · about
chapters (17)
- 0:00Introduction to speaker
- 1:02Conventional system operations
- 3:01Introduction to control theory
- 4:44History of automation
- 6:41Architectural components
- 8:32Linear system modeling
- 10:46Evaluating controller stability
- 13:05System responsiveness
- 14:44Proportional controllers
- 16:53Integral and derivative terms
- 18:43Handling non-linear behavior
- 19:35Advanced control applications
- 21:45Resources for further learning
- 22:20Scaling demonstration
- 26:08Analyzing scaling results
- 28:15Scaling down and delays
- 31:11Q&A and conclusion
related talks
35mAutoscaling Kubernetes Deployments: A (Mostly) Practical Guide
29mKubernetes Autoscaling: Beyond One Size Fits All
31mFailing to Autoscale?
38m50 Shades of K8s Autoscaling - Mario Leander Reimer
51mHorizontal Autoscaling with Kubernetes
17mScaling Made Simple: Implementing Autoscaling for Optimal K8s Performance
30mHorizontal Pod Autoscaler Reloaded - Scale on Custom Metrics
22mIntelligent Autoscaling in Enterprise...
