Alta disponibilidad: balanceo de carga y failover explicados sin tecnicismos

Tu web se cae un viernes por la tarde, justo cuando más visitas tienes. O el servidor que aloja tu aplicación interna deja de responder y media plantilla se queda parada. Detrás de evitar estos momentos hay un concepto que suena complejo pero se entiende muy bien con analogías cotidianas: la alta disponibilidad. En este artículo explicamos qué es, qué papel juegan el balanceo de carga y el failover, y, sobre todo, cuándo le compensa de verdad a una empresa invertir en ella.

Qué es la alta disponibilidad (y por qué no es lo mismo que «tener un buen servidor»)

La alta disponibilidad es la capacidad de un sistema para seguir funcionando aunque una de sus piezas falle. La idea es asumir desde el principio que algo va a romperse (un disco, una fuente de alimentación, la red de un centro de datos) y diseñar el sistema para que esa avería no te deje sin servicio.

Piensa en un avión. No vuela con un solo motor porque sea más barato: lleva dos (o cuatro) para que, si uno falla, el otro mantenga el aparato en el aire. Un servidor único, por potente y bien mantenido que esté, es como un avión monomotor: si ese motor se para, te caes. La alta disponibilidad consiste en poner más de un motor.

Redundancia: el principio que lo sostiene todo

Esa idea de «más de un motor» tiene nombre técnico: redundancia. Significa duplicar (o triplicar) los elementos críticos para que ninguno sea un punto único de fallo. Si tienes dos servidores en lugar de uno, dos conexiones a internet en lugar de una y copias de tus datos en varios sitios, ninguna avería aislada tumba el conjunto.

La redundancia es el cinturón de seguridad: no lo notas cuando todo va bien, pero el día del frenazo es lo que marca la diferencia. Y, como el cinturón, solo sirve si está bien puesto: dos servidores mal coordinados pueden dar más problemas que uno solo. Por eso la pieza siguiente (quién reparte el trabajo y quién decide cuándo cambiar de servidor) es tan importante como tener el hardware duplicado.

El balanceador de carga: el director de tráfico

Imagina un supermercado con seis cajas abiertas y una persona en la entrada que va mandando a cada cliente a la cola más corta. Eso es un balanceador de carga: un elemento que recibe todas las peticiones que llegan a tu web o aplicación y las reparte entre varios servidores, en lugar de que todas caigan sobre uno solo.

Esto resuelve dos problemas a la vez. El primero, los picos de tráfico: si lanzas una campaña y multiplicas las visitas, el balanceador distribuye esa avalancha entre todos los servidores disponibles, de modo que ninguno se satura. El segundo, la tolerancia a fallos: el balanceador comprueba constantemente que cada servidor responde y, si uno deja de hacerlo, simplemente deja de enviarle clientes. Como el empleado de la entrada que ve una caja cerrada y manda a la gente al resto.

El failover: el relevo automático cuando algo se rompe

El failover (en castellano, «conmutación por error») es el mecanismo que hace que, cuando un componente cae, otro tome el relevo sin que el usuario lo note. Es el suplente del equipo de fútbol calentando en la banda: en el momento en que un titular se lesiona, entra él y el partido continúa.

La diferencia con el balanceo está en el matiz. El balanceador reparte trabajo entre servidores que están todos activos a la vez. El failover entra en juego cuando uno cae: puede ser que el balanceador deje de usar el servidor averiado, o que un servidor en espera arranque para sustituir al que ha fallado. Lo importante es que el cambio sea automático y rápido: de poco sirve tener un suplente si tarda media hora en saltar al campo. Un buen diseño de failover se mide en segundos, no en horas.

Juntando las piezas: con redundancia tienes varios servidores, con el balanceador repartes el trabajo entre ellos y aprovechas su capacidad, y con el failover garantizas que la caída de cualquiera de ellos no se traduce en una web caída. Por eso una aplicación bien montada aguanta un fallo de hardware o un pico de visitas sin que tus clientes se enteren. Si el pico de visitas es justo lo que te preocupa, conviene preparar el servidor para recibir miles de visitas sin que se caiga.

¿Cuándo le compensa a tu empresa?

La alta disponibilidad cuesta más que un servidor único, porque implica duplicar recursos y diseñar la arquitectura con cuidado. No toda empresa la necesita. La pregunta correcta no es «¿quiero que mi web no se caiga nunca?» (eso lo quiere todo el mundo), sino «¿cuánto me cuesta cada hora que esté caída?».

Suele compensar cuando se da alguno de estos casos:

  • Vendes o captas leads online y cada hora de caída es dinero que no entra.
  • Tu negocio depende de una aplicación que usan empleados o clientes durante toda la jornada.
  • Una interrupción daña tu reputación o incumple un compromiso de servicio con tus clientes.
  • Tienes picos de tráfico previsibles (campañas, temporadas) que un solo servidor no aguanta.

Si tu web es un escaparate de bajo tráfico y una caída de una hora no te cuesta apenas nada, probablemente te baste con unos servidores gestionados bien monitorizados y con buenas copias de seguridad. Si, en cambio, tu operación no puede pararse, ahí la alta disponibilidad pasa de lujo a necesidad, a menudo apoyada en infraestructura de Cloud y AWS que permite escalar y replicar con flexibilidad.

El siguiente paso

La alta disponibilidad se diseña a la medida de lo que tu negocio puede permitirse perder, y se empieza por entender tu operación y cuánto te cuesta una caída. Si quieres saber qué nivel de disponibilidad necesitas de verdad, cuéntanos tu caso y lo valoramos contigo.

¿Quieres profundizar en el diseño (nueves de disponibilidad, RTO/RPO, replicación)? Continúa con Infraestructura de alta disponibilidad: qué es, cómo funciona y por qué es clave.

Preguntas frecuentes

¿Qué es la alta disponibilidad?

Es la capacidad de un sistema para seguir funcionando aunque una de sus piezas falle. Se diseña asumiendo desde el principio que algo se va a romper, ya sea un disco, una fuente de alimentación o la red de un centro de datos, y montando la arquitectura para que esa avería no te deje sin servicio. La analogía es un avión: no lleva dos motores porque salga barato, sino para que si uno falla el otro mantenga el aparato en el aire.

¿Qué diferencia hay entre alta disponibilidad y redundancia?

La redundancia es la pieza y la alta disponibilidad es el resultado. Redundancia significa duplicar los elementos críticos, dos servidores en lugar de uno, dos conexiones a internet, copias de los datos en varios sitios, para que ninguno sea un punto único de fallo. Alta disponibilidad es lo que consigues cuando además coordinas esos elementos con un balanceador y un mecanismo de failover, porque dos servidores mal coordinados pueden dar más problemas que uno solo.

¿Qué diferencia hay entre alta disponibilidad y tolerancia a fallos?

Es una cuestión de grado. Un sistema de alta disponibilidad admite una interrupción muy breve mientras el relevo entra en juego, medida en segundos. Un sistema tolerante a fallos está diseñado para que no haya interrupción ninguna, con componentes trabajando en paralelo y el fallo de uno resultando invisible al instante. La tolerancia a fallos es bastante más cara, así que la pregunta útil es cuántos segundos de corte puede asumir tu negocio.

¿Para qué sirve un balanceador de carga?

Sirve para repartir las peticiones que llegan a tu web o aplicación entre varios servidores, en lugar de que todas caigan sobre uno solo. Con eso resuelve dos problemas a la vez: absorbe los picos de tráfico sin que ningún servidor se sature, y comprueba constantemente que cada servidor responde para dejar de enviarle peticiones si deja de hacerlo. Es el empleado de la entrada del supermercado que manda a cada cliente a la cola más corta y esquiva las cajas cerradas.

¿Cómo funciona el failover?

El failover, o conmutación por error, es el mecanismo por el que otro componente toma el relevo cuando uno cae, sin que el usuario lo note. Puede consistir en que el balanceador deje de usar el servidor averiado o en que un servidor en espera arranque para sustituirlo. Lo determinante es que el cambio sea automático y rápido: un buen diseño de failover se mide en segundos, no en horas, porque de poco sirve un suplente que tarda media hora en saltar al campo.

¿Qué diferencia hay entre failover y balanceo de carga?

El balanceo reparte trabajo entre servidores que están todos activos a la vez y aprovecha su capacidad; el failover es lo que ocurre cuando uno de ellos cae y hay que garantizar que el servicio continúa. Son complementarios, no alternativas: el balanceador te da rendimiento y detecta el fallo, y el failover asegura que esa caída no se traduzca en una web caída. Una arquitectura de alta disponibilidad usa los dos sobre una base de redundancia.

¿Cómo funciona la alta disponibilidad en la nube?

Con las mismas piezas que en local, redundancia, balanceo y failover, pero repartidas entre zonas de disponibilidad distintas del proveedor, de modo que la caída de un centro de datos no tumbe el servicio. Lo importante es que no viene activado por defecto: si tu aplicación corre en una única instancia cloud, sigues teniendo un punto único de fallo. La nube facilita mucho montar la redundancia, pero hay que diseñarla y configurarla de forma explícita.

¿Cuáles son las ventajas de la alta disponibilidad?

Que un fallo de hardware o un pico de visitas no se convierta en una caída, y que el mantenimiento pueda hacerse sin parar el servicio. Para saber si compensa, pregúntate cuánto te cuesta cada hora caída. Suele merecer la pena si vendes o captas leads online, si tu plantilla depende de una aplicación durante toda la jornada, si una interrupción daña tu reputación o incumple un compromiso de servicio, o si tienes picos previsibles de tráfico. Si una caída de una hora apenas te cuesta, con servidores bien monitorizados y buenas copias de seguridad basta.