La alta disponibilidad es el principio arquitectónico que consiste en diseñar sistemas para que sigan funcionando y sean accesibles a pesar del fallo de componentes individuales, mediante la redundancia, la conmutación automática por error y el aislamiento de fallos.
En lugar de dar por sentado que todos los componentes funcionarán a la perfección en todo momento, las arquitecturas de alta disponibilidad tienen en cuenta explícitamente los fallos de los componentes y diseñan los sistemas para que sigan funcionando cuando fallan elementos concretos. Un servidor puede fallar, un conmutador de red puede fallar, un controlador de almacenamiento puede dejar de responder, pero el sistema en su conjunto sigue prestando servicio a los usuarios sin interrupciones. Para las grandes empresas, la alta disponibilidad ha pasado de ser una característica deseable a convertirse en un requisito fundamental: la mayoría de los sistemas críticos para el negocio no pueden tolerar ni siquiera breves interrupciones del servicio.
Por qué la alta disponibilidad es importante para las operaciones empresariales
El impacto empresarial del tiempo de inactividad de los sistemas ha aumentado drásticamente a medida que las organizaciones dependen cada vez más de la infraestructura digital. Cada hora de inactividad supone ahora miles o millones de dólares en pérdidas de ingresos, deterioro de las relaciones con los clientes e interrupciones operativas. La presión sobre los departamentos de TI para mantener una disponibilidad casi continua nunca ha sido tan alta. Las arquitecturas de alta disponibilidad abordan directamente esta presión al reducir o eliminar las interrupciones del servicio causadas por fallos en los componentes.
La alta disponibilidad también mejora el coste total de propiedad de los sistemas críticos. Aunque la implementación de la redundancia aumenta los costes de infraestructura en comparación con los sistemas de instancia única, el coste del tiempo de inactividad suele superar con creces el coste de la redundancia. Una hora de inactividad en un sistema generador de ingresos puede costar más que años de inversión en infraestructura redundante. Esta realidad económica ha convertido la alta disponibilidad en una expectativa habitual para los sistemas de producción en la mayoría de las empresas.
La relación entre la alta disponibilidad y la recuperación ante desastres suele malinterpretarse. Aunque ambas tienen como objetivo mantener los sistemas operativos, abordan diferentes escenarios de fallo. La alta disponibilidad se centra en la conmutación rápida ante fallos de componentes individuales dentro de una ubicación: si un servidor falla, el tráfico se desvía automáticamente a otro servidor. La recuperación ante desastres aborda fallos de mayor alcance: si todo un centro de datos deja de estar disponible, las operaciones se trasladan a una ubicación de recuperación. La mayoría de las empresas implementan ambos enfoques para lograr una resiliencia de defensa en profundidad.
Cómo funcionan las arquitecturas de alta disponibilidad
La alta disponibilidad suele implicar redundancia en múltiples capas. En lugar de un único servidor, se implementan varios servidores que ejecutan la misma aplicación, con un equilibrador de carga que distribuye el tráfico entre los servidores operativos. Si un servidor falla, el equilibrador de carga deja automáticamente de dirigir el tráfico hacia él, y las solicitudes de los usuarios siguen siendo atendidas por los servidores restantes. Esta arquitectura es sencilla y eficaz para escalar la redundancia del nivel de la aplicación.
La redundancia del almacenamiento es igualmente importante. Las arquitecturas de alta disponibilidad no pueden permitirse que el fallo de un solo sistema de almacenamiento provoque la pérdida de datos o una indisponibilidad prolongada. Esto se suele solucionar mediante configuraciones RAID (matriz redundante de discos independientes), en las que varias unidades proporcionan redundancia, de modo que el fallo de una sola unidad no provoque la pérdida de datos ni la interrupción del servicio. Algunos sistemas implementan una replicación de mayor nivel, en la que se duplican sistemas de almacenamiento completos.
La redundancia de red elimina los puntos únicos de fallo en la conectividad de red. En lugar de una única interfaz de red que conecte un servidor a la red, los sistemas cuentan con múltiples interfaces conectadas a varios conmutadores de red. Si falla una interfaz o un conmutador, el tráfico sigue circulando por las rutas restantes. La redundancia en la capa de red es fundamental para la alta disponibilidad, pero a menudo los equipos de aplicaciones, centrados en la computación y el almacenamiento, la pasan por alto.
Los mecanismos de conmutación automática por error son fundamentales para la alta disponibilidad. Los sistemas deben detectar rápidamente los fallos de los componentes y desviar de forma automática el tráfico y las cargas de trabajo hacia los componentes que funcionan correctamente. Esta detección y conmutación deben producirse sin intervención manual; si el personal de TI tiene que detectar los fallos e intervenir manualmente, no se dispone de una verdadera alta disponibilidad. Los mecanismos de comprobación del estado verifican continuamente que los componentes respondan y funcionen correctamente, y activan la conmutación automática por error cuando no es así.
Aspectos clave a tener en cuenta para la implementación de la alta disponibilidad
El diseño de arquitecturas eficaces de alta disponibilidad requiere identificar las rutas críticas y los puntos únicos de fallo, para luego eliminarlos mediante la redundancia. No todos los componentes requieren el mismo nivel de redundancia. Un servicio de registro no crítico puede requerir una redundancia mínima, mientras que la base de datos principal exige la máxima redundancia. Las organizaciones deben priorizar las inversiones en redundancia en función de la criticidad.
Las pruebas de alta disponibilidad son esenciales. A menudo, cuando los administradores prueban escenarios de conmutación por error, se dan cuenta de que los sistemas no se conmutan como se esperaba. Es posible que las configuraciones de red estén incompletas, que los procedimientos de conmutación por error no funcionen correctamente o que el diseño de las aplicaciones impida una conmutación por error fluida. La realización de pruebas periódicas, incluida la simulación deliberada de fallos —en la que los equipos desactivan intencionadamente componentes para probar la conmutación por error—, ayuda a garantizar que las arquitecturas de alta disponibilidad funcionen realmente.
Las decisiones de inversión en alta disponibilidad deben basarse en un análisis de coste-beneficio. Alcanzar una disponibilidad del 99,999 % (aproximadamente 26 segundos de inactividad al año) resulta exponencialmente más costoso que alcanzar una disponibilidad del 99,99 % (aproximadamente 52 minutos al año). Las organizaciones deben determinar qué niveles de disponibilidad requiere realmente su negocio y fijarse esos niveles como objetivo, en lugar de sobreingenierizar hasta alcanzar niveles innecesarios.
La gestión del estado es un reto habitual en las arquitecturas de alta disponibilidad. Cuando un usuario está conectado a un servidor y este falla, ¿dónde se encuentra el estado de la sesión del usuario? Las aplicaciones deben almacenar el estado de la sesión en una ubicación compartida a la que puedan acceder todos los servidores, replicar dicho estado en otros servidores o aceptar que los usuarios pierdan su sesión cuando falle un servidor. El diseño de aplicaciones sin estado suele facilitar el logro de la alta disponibilidad.
Conceptos avanzados de alta disponibilidad
Algunas organizaciones implementan la alta disponibilidad geográfica mediante arquitecturas de recuperación ante desastres activo-activo , en las que la redundancia abarca varias ubicaciones. La alta disponibilidad tradicional suele funcionar dentro de un único centro de datos, mientras que los enfoques de redundancia geográfica gestionan los fallos de toda la ubicación.
Es importante comprender la relación entre la alta disponibilidad y el equilibrio de carga. Los equilibradores de carga desempeñan un papel fundamental en las arquitecturas de alta disponibilidad, ya que distribuyen el tráfico entre varios servidores y detectan los componentes que fallan. La ubicación y la redundancia de los equilibradores de carga se convierten en aspectos críticos: no se puede tener un único equilibrador de carga como punto único de fallo.
Comprender el tiempo medio de recuperación ayuda a las organizaciones a optimizar sus implementaciones de alta disponibilidad. En lugar de minimizar el tiempo de recuperación, que no se mide cuando la conmutación por error es automática, las organizaciones deberían centrarse en minimizar el impacto en el rendimiento cuando se producen fallos en los componentes.
