Deepening DevOps with Math

DevOps is a young but fast evolving discipline.

Like other young practices, the community is still discovering itself. As more people learn from their experience and incorporate insights from other backgrounds, DevOps continues to mature.

DevOpsDays is one of those places the DevOps community gathers together and shares this knowledge.

This year at DevOpsDays, lots of people were stepping back and building a framework around the practice of DevOps. We even say people starting to use math to help model DevOps.

Betsy Nichols from Netuitive gave the closing keynote in DevOpsDays, Silicon Valley, last June. She used the math behind queueing theory to model the traffic of web applications.

This can be used, for example, to predict how an application behaves when under load. With this information, you can can then plan for the most cost-effective combination of AWS instances while maintaining the performance.

At the same DevOpsDays event, I presented a math related talk.

I showed how to use control theory to implement your own autoscalers in Kubernetes.

Control theory helps everyday appliances like thermostats to maintain room temperature. Another example would be a car’s cruise control, which maintains the speed of the car regardless of the terrain it encounters.

The math behind control theory can help us figure out if our autoscaler is effective or not for our application.

Even if you are just using off-the-shelf autoscalers like AWS Auto-Scaling-Groups (ASG), control theory is still useful. Control theory could, for example, warn that our ASG configuration is unstable. This might mean that no matter how many instances our autoscaler adds, the performance never improves, or in fact, gets worse.

If this sounds interesting, check out my slide deck. I will also be presenting the same material at DevOpsDays Minneapolis next week. The presentation in Minneapolis will also show your how to write your own autoscaler in Kubernetes.