Right-Sizing and Auto-Scaling of MySQL Containers in Kubernetes
summary
JD.com builds an automated system that ties statistical forecasting to optimization algorithms and invokes Kubernetes and Vitess APIs to change MySQL containers' CPU/memory request and limit values and to trigger rescheduling. It implements a multi-resource similarity metric and weighted CPU/memory balance to pick migration targets, models migration cost and affinity, and runs on thousands of instances; experiments report about a 20% resource reduction and successful scheduling across ~25,000 containers. The codebase is open source.
AI-written summary · about
chapters (14)
- 0:00Intro
- 0:57JD Elastic Database
- 2:49Problems and Challenges
- 4:06Workload Characterization
- 5:30Right Sizing Estimate the worldoad demand
- 7:20Right Sizing of CPU Resources
- 16:17Auto Scaling and Rescheduling
- 18:34Auto-Scaling: Overview and Cost Models
- 20:08Host Selection: Multi-Resource Balance
- 24:02Experimental Evaluation Setup
- 25:50Host Selection: Resource Availability
- 28:35Host Selection: Correlation-awareness
- 29:15Key Results
- 30:55Conclusions
related talks
36mRight-Sizing and Auto-Scaling of MySQL Containers in Kubernetes
36mRunning Vitess on Kubernetes at Massive Scale: JD.com Case Study
41mDemocratizing MySQL: From Cloud Managed to Kubernetes Managed
35mRunning MySQL on Kubernetes [I]
31mVitess: Running MySQL with confidence on Kubernetes
38mIntro: Vitess
36mCreate your Own MySQL-as-a-Service that Runs Anywhere Using Kubernetes Operators
12mKeynote: Keeping Your Data in Kubernetes with Vitess
