Skip to content

Instantly share code, notes, and snippets.

@aespinosa
Last active July 12, 2016 21:58
Show Gist options
  • Save aespinosa/dc07e5d00dd466eef89c270ca9e032b4 to your computer and use it in GitHub Desktop.
Save aespinosa/dc07e5d00dd466eef89c270ca9e032b4 to your computer and use it in GitHub Desktop.

Deepening DevOps with Math

DevOps is a young but fast evolving discipline. Like other young practices, the community may still be discovering itself. As more people learn from their experience or incorporate experiences from other backgrounds, DevOps continues to mature.

DevOpsDays is one of those events where the DevOps community gathers together and share experiences. This year, there's a lot of topics where people start stepping back and build a model around the practice of DevOps. There were a lot of DevOps talks that started using math to describe the practice this year.

Betsy Nichols from Netuitive 1 gave the closing keynote in DevOpsDays Silicon Valley last June. She used the math results behind queueing theory to model the traffic of web applications. This model, can then be used to plan the operation of the application such as getting the most cost-effective combination of AWS instances while maintaining the performance. I enjoyed talking about concepts and models with Betsy.

In the same DevOpsDays event, I also presented a Math related talk. I showed how to use control theory to implement your own autoscalers in Kubernetes. Control theory is the math behind everyday appliances like thermostats to maintain a room's temperature or a car's cruise control which maintains the speed of the car regardless of the terrain it encounters. The mathematics behind control theory can describe 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 provides a framework to identify if our autoscaling implementation is effective or not. It can also warn us if our ASG is unstable. This may mean that no matter how our autoscaler keeps adding tens or even hundrds of instance into out ASG, the performance never improves and keeps getting worse.

The link to my DevOpsDays presentation in Silicon Valley is available online 2 already. I will also be presenting the same material at DevOpsDays Minneapolis next week 3. The presentation in Minneapolis will also show a snippet on how to write your own autoscaler in Kubernetes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment