Tipping point y la carga de servidores

Hace un tiempo me tocó construir una solución para calcular “¿cuántos servidores voy a necesitar para ejecutar mi solución?”. Esa situación se convirtió en una aplicación que dada una demanda esperada, calculaba los servidores necesarios para dar el servicio.

Sin saberlo, terminamos construyendo una aplicación que buscaba el “tipping point” del funcionamiento de los servidores de aplicación.

El tipping point, traducido al español, se puede entender como “la gota que rebalsa el vaso”. Cuando estamos hablando de servidores de aplicaciones, sería el umbral de rendimiento donde los tiempos de respuesta empiezan a subir a niveles inaceptables.

¿Cómo proyectar o calcular ese punto?

Una buena aproximación se puede lograr extendiendo la Generalised logistic function. Se obtienen datos empíricos y se ajusta la definición hasta un margen de error aceptable.

Combinando la demanda esperada con nuestro umbral de rendimiento podemos proyectar la cantidad de servidores necesaria para nuestro problema.