Definición
La capacidad de un sistema para seguir operando correctamente a pesar de la ocurrencia de fallos de hardware o software, mediante enmascaramiento, aislamiento o recuperación de errores.
Principio
Principio
La tolerancia a fallos se consigue detectando errores, conteniendo sus efectos y garantizando continuidad mediante redundancia, replicación, degradación controlada y protocolos de recuperación; parte de la premisa de que los fallos ocurrirán y diseña para que un fallo individual no provoque el colapso del sistema.
Demostración
Demostración
Un clúster de base de datos replicado con votación por quórum que redirige peticiones cuando un nodo falla y re-replica datos para mantener el factor de replicación continúa atendiendo lecturas/escrituras pese a fallos de nodos individuales, ilustrando enmascaramiento y recuperación.
Aplicación incorrecta
Aplicación incorrecta
Confundir tolerancia a fallos con eliminación de errores o suponer que evita todo tiempo de inactividad; por ejemplo, confiar solo en reintentos sin abordar la corrupción de estado puede ocultar fallos sistémicos y causar incoherencias posteriores.
Consecuencia
Consecuencia
Aplicada correctamente, la tolerancia a fallos reduce el impacto de fallos individuales, mejora la continuidad del servicio y la confianza del usuario, y limita las interrupciones a degradaciones en lugar de pérdidas totales del servicio.
Inversión
Inversión
Los sistemas no tolerantes a fallos tienen puntos únicos de fallo donde un solo fallo puede causar una interrupción catastrófica o total del servicio en lugar de una degradación gradual.
Límite
Límite
La tolerancia a fallos cubre fallos accidentales de hardware/software y errores de red transitorios; no incluye automáticamente defensas contra ataques deliberados, errores de diseño sistémicos o errores operativos humanos salvo que se aborden explícitamente.
Tensión semántica
Tensión semántica
Existe tensión con conceptos relacionados como alta disponibilidad (énfasis en tiempo operativo), fiabilidad (probabilidad de operación sin fallos) y resiliencia (capacidad de recuperarse de perturbaciones mayores); tolerancia a fallos enfatiza la operación correcta continua pese a fallos.
Síntesis
Síntesis
La tolerancia a fallos es un objetivo de diseño y un conjunto de mecanismos que aceptan la inevitabilidad de fallos y buscan preservar la operación correcta mediante enmascaramiento, aislamiento y recuperación ante fallos de componentes.