Autoscaling: Leveraging Control Theory for Fun and Profit

Ignite (5 Minutes)

What do air conditioning vendors, automobile cruise control salesmen, and Strava SREs all have in common? That’s right! We paid attention in math theory class!

The web is unpredictable, so web applications serving a global audience 24/7 can be equally unpredictable. Handling the day to day, hour by hour load fluctuations to systems is a job best left for a machine. Even at the best of times, it’s difficult to plan how many resources apps need to serve users. Ideally, we could leverage automation such that our web infrastructure could scale up to meet peak traffic demands as well as scale down to save on compute during low traffic.

Enter autoscalers, specifically Proportional, Integral, Derivative (PID) controllers. As the name suggests, a PID controller is an application of control theory, a branch of applied mathematics that deals with the use of feedback to affect a system. Such a controller monitors an application’s behavior, comparing this behavior to a preconfigured “desired state”. If the controller notices a divergence from the desired state (“error”), it alters the application’s configuration to correct for the error. Literally cruise control for your applications.

Rest assured this talk is not just conceptual. Fortunately, open source has all the building blocks we need to bring this theory into practice. Furthermore, I’ll describe how to build a simple, yet effective PID autoscaler using common tools, including Prometheus and Kubernetes.
~/event sponsors
Platinum Sponsors
Gold Sponsors
Silver Sponsors
Food & Swag Sponsors
Community Partners
Event Organizer
Learn more about each of our Event Sponsors.