Fiabilidad
26.05.2013 17:42Atributo de Calidad que se relaciona directamente con la calidad de los servicios que ofrece, la confianza de un sistema es medida a través de distintas características.
Disponibilidad
Determina la probabilidad de que el sistema esté preparado y en línea para atender las peticiones de los usuarios. La disponibilidad del sistema puede ser la suma de probabilidades de cada elemento dentro de la infraestructura; entre más detallado será más preciso.
Este cálculo puede ser tan complejo como lo necesitemos, incluyendo, por ejemplo, los errores conocidos del sistema, la tasa de falla de disco duro, mantenimientos de los servidores, niveles de data center, etc.
Existe una fórmula matemática para calcular la disponibilidad de un sistema de software desarrollada por primera vez por Kishor Shridharbhai Trivedi, quien desde un enfoque estadístico determinó:
Disp = tiempo medio entre fallas
(tiempo medio entre fallas + tiempo medio de recuperacion)
Tiempo medio entre fallas (MTBF): Es el tiempo conocido, dado en cualquier unidad, en el que el sistema deja de responder y ofrecer servicios. Si bien el nombre de esta variable sugiere incluir las caidas por errores del sistema, también se deben tener en cuenta otros eventos, como por ejemplo los periodos en los que el sistema debe apagarse para ser actualizado, por ejemplo.
Tiempo medio de recuperación (MTTR): Tiempo promedio requerido para hacer que el sistema vuelva a prestar servicio. En este caso se puede considerar, por ejemplo, el tiempo requerido para reiniciarlo. Se espera que esta variable use la misma unidad de tiempo del tiempo medio entre fallas, tal que su división represente acertadamente una probabilidad.
Ejemplo
Imagine un sistema que se diseña para funcionar corréctamente, esto es, ha pasado distintos puntos de calidad. Luego de que el sistema se encuentra en un ambiente productivo o cercano a él, se inicia un monitoreo constante durante un lapso determindado de tiempo, por ejemplo 1 semana. Se encuentra que durante este monitero, el sistema perdio 2 veces disponibilidad, la primera vez por un error en tiempo de ejecución no controlado y la segunda vez por que la infraestructura fue atacada por un virus. Para el primer error fue requerido un lapso de 5 horas para corrección y pruebas y para el segundo se debió formatear el sistema operativo y reiniciar, tomando 2 horas de trabajo. De esta forma, la fórmula tomará los siguientes valores:
Si 1 semana tiene 168 horas, el tiempo medio entre fallas para el ejemplo es igual a 84 y el tiempo medio de recuperación es de 3.5 horas, por tanto, la disponibilidad es igual a (84 / (84 + 3.5)) = 0.96. Esto es el 96% de disponibilidad durante el monitoreo.
Es relativamente improbable que no existan fallas tal que el resultado tienda a infinito, pero también es importante obtener más mediciones para ser acertivos con este atributo de calidad, es posible además usar pruebas de carga simulando un ambiente productivo determinado para encontrar el valor más cercano a la realidad. En general, la disponibilidad se ha estandarizado para hablarse en términos de 9's, donde:
- 3 nueves o 0,999 (99.9 %) de disponibilidad indican 8.5 horas de interrupción del servicio en 1 año
- 4 nueves o 0,9999 (99.99%) de disponibilidad equivale a 1 hora de interrupción durante 1 año
- 5 nueves o 0,99999 (99.9999%) de disponibilidad representa 5 minutos de interrupción al año.
Cabe aclarar que, en el ejemplo, y para la muestra en cuestión se garantiza una disponibilidad de sólo 1 nueve.
Confiabilidad
Medida de la probabilidad de un sistema de mantenerse operacional durante un lapso de tiempo, en general se dice que corresponde a la probabilidad de caer en una falla o perdida de servicio, es decir, equivale al tiempo medio entre fallas. En mi experiencia personal, la mayor preocupación de un Arquitecto se centra en la disponibilidad incluyendo implícitamente la medición de confiabilidad.
Fácilidad de mantenimiento
Se describe como la capacidad de un sistema para realizar cambios con la intención de reducir el tiempo medio de recuperación. Esto se puede traducir como la capacidad de efectuar cambios al sistema tal que éste los reconozca lo más rápido posible, en algunos casos es posible, incluso, que los ajustes sean registrados en tiempo de ejecución.
—————