Show HN: Queueing theory intro for software developers
github.com
github.com
Is there some reason it doesn't "apply" here?
This is what always confuses me about queueing theory. The analysis is valid assuming a particular distribution, but the justification given for using that distribution was very weak, if at all given.
So how is the choice of a distribution justified?
It is well justified and models the world reasonably well. The parameter changes - e.g. when there’s a service outage, the proportion of people likely to call and report it, does change; but the number of calls per unit time within e.g. the first hour, indeed is Poisson with a higher-than-usual parameter.
This is a one-page GitHub README that introduces queueing theory and does it in context of software development, such as product management, message queues, and devops.
I'm the author and glad to answer questions here or in the repo.
Examples from the page that are the most relevant to Hacker News readers are relevant for devops continuous delivery:
* Dτ = Delivery lead time. Some product teams know this as "from concept to customer" or "from spec complete to code complete".
* Dμ = Delivery service rate. Some devops teams know this as "continuous deployment frequency" or "shipping X times per day".
* Dε = Delivery error ratio. Some quality assurance teams call this "change fail rate" or "percentage of deployment rollbacks".
* Rτ = Restore lead time. Some site reliability engineers call this "time to restore service" or "mean time to restore (MTTR)".
I, personally, have been very interested (something about instantaneous velocity?). Though I was always pretty bad at math, so it takes me a while to get a handle on things.
I played with some python queuing to model an analysis pipeline of microservices, as when one of the analytic steps took too long, it jammed up the queue.
A visual queue modeller for microservice orchestrations was a project I abandoned. Would be a fun utility, but requires people building services have heard of queues to begin with.
I'm left wishing that the writeup included some more applications of queuing theory. Are there any unexpected or counterintuitive results that all the terminology makes it easier to understand or express? Otherwise, I'm not too motivated to learn all these Greek letters :)