Una opción para contrarrestar los SPOF es crear redundancias. Varias instancias de un componente crítico (por ejemplo, la fuente de alimentación, la conexión de red, el servidor DNS) funcionan en paralelo. Si uno falla, el sistema sigue funcionando sin pérdida de rendimiento.
La redundancia también evita muchos SPOF en el ámbito del software. Un ejemplo es un popular microservicio comparado con el monolito de software. Un sistema de microservicios está desacoplado y es menos complejo, lo que lo hace más robusto frente a los SPOF. Como los microservicios se lanzan como contenedores, es más fácil construir redundancias.
¿Pero cómo protege exactamente la redundancia a un sistema? Utilicemos la estimación de la fiabilidad de un sistema mediante la llamada “ley de Lusser” para ilustrarlo. He aquí un ejemplo:
Supongamos que un sistema tiene dos conexiones independientes y paralelas a una fuente de alimentación. Supongamos además que la probabilidad de que la conexión falle en un periodo determinado es del 1%. Entonces, la probabilidad de fallo completo de la conexión de alimentación puede calcularse como el producto de las probabilidades:
- Probabilidad de fracaso de una instancia:
1% = 1 / 100 = 1 / 10 ^ 2 = 0.01
- Probabilidad de que dos instancias fallen sucesivamente:
1% * 1% = (1 / 10 ^ 2) ^ 2 = 1 / 10 ^ 4 = 0.0001
Como puedes ver, la probabilidad de un SPOF no se reduce a la mitad cuando se ejecutan dos instancias, sino que se reduce en dos órdenes de magnitud. Es una mejora considerable. Con tres instancias funcionando en paralelo, un fallo de todo el sistema debería ser casi imposible.
Por desgracia, la redundancia no es la panacea. Más bien, la redundancia protege a un sistema de los SPOF dentro de ciertos supuestos. En primer lugar, la probabilidad de fallo de una instancia debe ser independiente de la probabilidad de fallo de la instancia o instancias redundantes. Este no es el caso cuando un fallo es causado por un evento externo. Si un centro de datos se incendia, los componentes redundantes fallan juntos.
Además de la redundancia de los componentes instalados, la distribución de ciertos componentes es fundamental para mitigar los SPOF. La distribución geográfica del almacenamiento de datos y de la infraestructura informática protege de los desastres ambientales. Además, vale la pena procurar cierta heterogeneidad o diversidad de los componentes críticos del sistema. La diversidad reduce la probabilidad de que fallen las instancias redundantes.
Ilustremos la ventaja de la diversidad con un ejemplo de ciberseguridad. Imagina un centro de datos con equilibradores de carga redundantes del mismo diseño. Un fallo de seguridad en uno de los equilibradores de carga también estará presente en las instancias redundantes. En el peor de los casos, un ataque puede paralizar todas las instancias. Al utilizar modelos diferentes, el sistema global tiene más posibilidades de seguir funcionando con un rendimiento reducido.