Categories
General

Cuanto debería gastar en alta disponibilidad?

Es una pregunta que siempre me inquieta, cual es el punto en el cual deja de tener sentido cada peso que invierto en proveer un sistema de alta disponibilidad, es decir, en donde surgen los rendimientos decrecientes de tal inversión?

Primero que todo unos conceptos básicos:

  • Alta disponibilidad (HA): Es la habilidad de un sistema de mantener su funcionalidad el mayor tiempo posible sin perder sus características de calidad esenciales.
  • Continuidad: Es la habilidad de recuperación de un sistema una vez este haya fallado.

La alta disponibilidad se mide en % de tiempo disponible, por ejemplo que un sistema tenga una disponibilidad de un 99.9% se refiere a que por ejemplo en un periodo de 24 horas solo podría estar indisponible máximo 864 segundos (14,4 minutos). La alta disponibilidad es una tarea proactiva para evitar o disminuir los riesgos de indisponibilidad.

La continuidad se mide en el tiempo que se tarda recuperar la funcionalidad del sistema desde el fallo del mismo, por ejemplo 5 días si en la eventualidad de fallo total de mi sistema tardo ese tiempo en volver a instalar todos los componentes y recuperar la funcionalidad. La continuidad es una labor de cierta manera reactiva (aunque planeada) para disminuir el impacto de una indisponibilidad ya explicita.

Ahora, antes de decidir “cuanto”, debemos decidir “que” partes de mi sistema requieren de alta disponibilidad, esto ultimo lo define un análisis de los componentes críticos del sistema.

Un componente es critico en un sistema si la falta del mismo durante el tiempo que tarde en recuperarlo o reemplazarlo puede ocasionar la falla total del sistema.

Por ejemplo, en un hogar actual, la falta de cualquier servicio publico puede llegar a resultar una verdadera molestia, sin embargo y a pesar que se impacta de manera considerable la calidad de vida en ese hogar, sus habitantes pueden soportar la ausencia del servicio durante el tiempo que pueda tomar recuperarlo o en el peor de los casos reemplazarlo (i.e. contratando a otro proveedor) si es imposible su recuperación. Aún así la funcionalidad esencial del hogar que es proveer de habitación no es comprometida seriamente.

En contraste, en una fabrica industrial, el fallo de un componente como puede ser el servicio de energía o agua, puede hacer parar totalmente la producción, función que es la razón de ser de una fabrica. En este caso el servicio publico es obviamente un componente critico del sistema.

Ahora, según los conceptos mencionados hasta ahora, podemos concluir que la disponibilidad total de un sistema estará dada por la disponibilidad de su componente con mas probabilidad a fallar, o como dice el viejo refrán, la fuerza total de la cadena estará dada por la fuerza de su eslabón más débil.

Esta probabilidad de fallo por componente es normalmente referida como el MTBF (Mean Time Between Failure) o el Tiempo Medio entre Fallos de cada componente, y el tiempo de recuperación o reemplazo es llamado TRT (Target Recovery Time) o Tiempo de Recuperación Objetivo.

Por ejemplo si el servicio de energía históricamente ha fallado unas tres veces al año y cada vez que falla se tardan unas tres horas en reponerlo, el MTBF es de 4 meses y el TRT es de 3 horas.

Según todo esto, el MTBF del sistema como un todo estará definido al MTBF mas bajo de mis componentes críticos, a su vez el TRT del sistema como un todo será la suma de los TRT de cada componente critico, siempre pensando en el peor de los casos.

El tiempo esperado de indisponibilidad del sistema (SUET: System Unavailability Expected Time) en un periodo dado (P) será entonces:

SUET = P/MTBF * TRT

Siguiendo el ejemplo anterior, el SUET del sistema en un año será entonces de 1año/4meses * 3 horas = 9 horas/año.

 

image

Entonces, como decido si en un sistema vale la pena los costos extras de alta disponibilidad?

Depende del punto de vista del sistema.

Como usuario del sistema, es decir cuando el sistema bajo análisis hace parte un sistema mayor del cual soy responsable y el sistema bajo análisis es un componente crítico del sistema mayor, entonces ese sistema como componente merece ser tenido en cuenta para una inversión de alta disponibilidad. Si no es un componente critico del sistema entonces no vale la pena, e inclusive se debería considerar la tercerización del componente.

Como proveedor del sistema, es decir cuando el sistema es un fin por si mismo y soy responsable de este, en este caso siempre se debería considerar una inversión en alta disponibilidad.

Y cuanto debería ser el presupuesto para HA?

De esta manera, podemos calcular que el costo de oportunidad en el caso de indisponibilidad del sistema será igual al ingresos/hora del sistema como un todo * el SUET del sistema.

Si por ejemplo los ingresos generados por el sistema son de $10.000,00 USD/hora, y el sistema tiene un SUET de 9 horas al año, la indisponibilidad del sistema costara seguramente unos $90.000,00 USD/año.

Siendo así, podemos concluir que es viable invertir hasta $90.000,00 USD/año (ingresos/hora * SUET) en evitar la indisponibilidad del sistema. Después de esta cifra no vale la pena invertir, pues resulta mas económico recuperar o reemplazar el sistema dentro del TRT establecido.

También hay que notar que si mejorando mis planes de continuidad disminuyo el TRT, entonces simultáneamente disminuye el presupuesto para HA.

Debo confesar además que en este análisis del presupuesto no se están teniendo en cuenta costos asociados a los riesgos generados por la indisponibilidad del sistema, tales como la perdida de clientes, daño de la confianza en el sistema, etc, que en algún momento pueden resultar considerables.

Por otro lado, ya teniendo el presupuesto claro, como lo invierto?

Lo mas sensato es priorizar de acuerdo al MTBF*TRT de cada componente critico, de esta manera es posible enfocarse en el componente critico mas costos en proporción a su probabilidad de fallos y al coste de recuperación.

 

Conclusión

  • Analizar si se requiere invertir en HA (Es el sistema un componente critico de un sistema mayor?)
  • Identificar a su vez los componentes críticos del sistema
  • Calcular el MTBF y el TRT de cada componente
  • Calcular el MTBF y el TRT total del sistema
  • Calcular el SUET anual del sistema
  • Calcular el costo de oportunidad del sistema (Cual es el costo de indisponibilidad por hora –$/h— del sistema?)
  • Calcular el presupuesto anual de HA (SUET * $/h)
  • Priorizar la inversión por componente de acuerdo al MTBF*TRT de cada uno.

Leave a comment