Alta Disponibilidad en SAP

Diseño de sistemas SAP sin puntos únicos de fallo

Importancia de la alta disponibilidad

En la arquitectura SAP empresarial moderna, el sistema ERP es crítico para las operaciones diarias del negocio. Una interrupción del sistema SAP puede detener completamente la producción, las ventas, la logística y la contabilidad, generando pérdidas económicas significativas y dañando la reputación.

La alta disponibilidad (High Availability o HA) es el conjunto de estrategias técnicas que garantizan que el sistema SAP permanezca operativo incluso cuando componentes individuales fallan. El objetivo es eliminar puntos únicos de fallo (Single Points of Failure o SPOF) y lograr disponibilidad del 99.9% o superior.

Niveles de disponibilidad

La disponibilidad se mide en porcentaje de tiempo operativo. Un sistema con 99% de disponibilidad puede estar caído hasta 3.65 días al año. 99.9% permite solo 8.76 horas de inactividad anual. 99.99% ("cuatro nueves") limita la inactividad a 52 minutos al año.

Alcanzar cada nivel adicional de disponibilidad requiere inversiones exponencialmente mayores en hardware redundante, arquitecturas complejas, procedimientos operativos rigurosos y personal especializado. Las empresas deben equilibrar el coste de la infraestructura HA con el impacto económico del tiempo de inactividad.

No todos los sistemas del landscape SAP requieren el mismo nivel de disponibilidad. El sistema productivo (PRD) necesita máxima disponibilidad, mientras que desarrollo (DEV) y calidad (QAS) pueden tolerar interrupciones durante mantenimientos programados.

Redundancia de servidores de aplicación

El enfoque más básico de HA en las capas del sistema SAP es distribuir la carga entre múltiples servidores de aplicación. En lugar de un solo servidor procesando todas las peticiones, se despliegan varios servidores que comparten el trabajo.

Cuando un servidor de aplicación falla, los usuarios conectados a él pierden sus sesiones activas, pero pueden reconectarse inmediatamente y el message server los redirige automáticamente a los servidores operativos. Los usuarios en otros servidores ni siquiera notan la incidencia.

Los servidores de aplicación son stateless para transacciones individuales (aunque mantienen contexto de sesión temporal). Esta característica facilita la distribución de carga y recuperación ante fallos sin complejos mecanismos de sincronización de estado entre servidores.

El número de servidores de aplicación se determina por requisitos de dimensionamiento de capacidad, pero tener al menos dos servidores (incluso en sistemas pequeños) proporciona redundancia básica y permite mantenimiento sin detener completamente el sistema.

ASCS y clustering

El ASCS (ABAP Central Services) contiene dos componentes críticos: el message server que coordina la comunicación entre instancias y el enqueue server que gestiona los bloqueos de base de datos. Estos componentes son puntos únicos de fallo si no se protegen adecuadamente.

La solución estándar es configurar el ASCS en un cluster de alta disponibilidad del sistema operativo. Dos servidores físicos ejecutan software de clustering (SUSE Linux Enterprise HA Extension, Red Hat Cluster, Windows Server Failover Clustering) que monitoriza continuamente el estado del ASCS.

Si el nodo primario del cluster falla, el software de clustering detecta el fallo en segundos y automáticamente inicia el ASCS en el nodo secundario. El tiempo de failover típicamente es de 30-60 segundos durante los cuales el sistema no está disponible.

El cluster utiliza almacenamiento compartido (SAN) donde residen los filesystems del ASCS. Cuando el ASCS se mueve al nodo secundario, monta los mismos filesystems y retoma las operaciones exactamente donde el nodo primario las dejó.

La configuración de clustering requiere hardware especializado (múltiples conexiones de red, almacenamiento compartido), software de clustering con licencia, y conocimientos especializados de administración. Es una inversión significativa justificada por la criticidad del sistema.

Enqueue Replication

La enqueue replication es una funcionalidad SAP que replica los bloqueos gestionados por el enqueue server a un segundo servidor en tiempo real. Esta réplica mantiene una copia actualizada de todos los locks activos.

Cuando el enqueue primario falla, el replicado puede activarse y asumir control en menos de 10 segundos sin pérdida de locks. Los usuarios experimentan solo una breve pausa en sus transacciones antes de continuar normalmente.

Enqueue replication es más sofisticado que clustering simple porque preserva el estado de los bloqueos durante el failover. Con clustering tradicional, al fallar el enqueue server se pierden todos los locks y las transacciones en curso deben reiniciarse.

Esta funcionalidad requiere licencias específicas de SAP y configuración técnica avanzada. Es especialmente valiosa en sistemas donde interrupciones breves afectan transacciones de negocio críticas que llevan tiempo completar.

Alta disponibilidad de base de datos

La capa de base de datos es crítica para la disponibilidad del sistema completo. Si la base de datos está inaccesible, el sistema SAP entero queda inutilizable sin importar cuántos servidores de aplicación redundantes existan.

Cada plataforma de base de datos tiene tecnologías específicas de HA. Oracle RAC (Real Application Clusters) permite que múltiples instancias de base de datos accedan simultáneamente a los mismos archivos de datos, distribuyendo carga y proporcionando failover automático entre nodos.

Microsoft SQL Server utiliza Always On Availability Groups que replican datos entre servidores SQL primarios y secundarios. Si el primario falla, uno de los secundarios puede promovido automáticamente.

IBM DB2 ofrece HADR (High Availability Disaster Recovery) que mantiene réplicas sincronizadas de la base de datos. Para más detalles sobre estas tecnologías, consulta la sección de bases de datos SAP.

SAP HANA System Replication

SAP HANA System Replication (HSR) es el mecanismo de alta disponibilidad específico para SAP HANA. Replica todas las operaciones del sistema HANA primario a uno o más sistemas secundarios en tiempo real.

En modo síncrono, cada transacción debe confirmarse en el sistema secundario antes de completarse en el primario. Esto garantiza que no hay pérdida de datos en caso de fallo (RPO = 0) pero introduce latencia que requiere conectividad de red de alta velocidad entre sitios.

En modo asíncrono, las transacciones se confirman en el primario sin esperar al secundario. Esto elimina la latencia pero significa que puede haber pérdida de segundos o minutos de datos si el primario falla antes de que la replicación alcance al secundario.

HSR puede configurarse con failover automático mediante scripts que monitoriza la salud del sistema primario. Cuando detecta fallo, automáticamente promueve el secundario a primario y reconfigura los servidores de aplicación para conectarse al nuevo primario.

En S/4HANA, HSR es la tecnología recomendada de HA para la base de datos, reemplazando las soluciones tradicionales de clustering de base de datos que eran comunes en sistemas ECC.

Arquitectura de red redundante

La infraestructura de red debe diseñarse sin puntos únicos de fallo. Los servidores SAP tienen múltiples tarjetas de red conectadas a switches diferentes. Si un switch o cable falla, el tráfico se redirige automáticamente por la conexión secundaria.

Los balanceadores de carga (load balancers) distribuyen las conexiones de usuarios entre los servidores de aplicación disponibles y detectan automáticamente servidores que fallan para dejar de enviarles tráfico.

Para aplicaciones Fiori, los balanceadores también distribuyen conexiones entre múltiples Frontend Servers, garantizando disponibilidad de la capa de presentación web.

Almacenamiento redundante

El almacenamiento que aloja los filesystems de SAP y los archivos de base de datos debe implementar protección RAID (Redundant Array of Independent Disks) que permite que discos individuales fallen sin pérdida de datos.

Las SANs (Storage Area Networks) empresariales implementan redundancia en todos los niveles: controladoras duales, múltiples rutas de fibra óptica, fuentes de alimentación redundantes. Esta infraestructura garantiza que el fallo de componentes individuales no afecta el acceso a datos.

Los snapshots de almacenamiento permiten recuperación rápida ante corrupción de datos o errores operativos. Si un administrador ejecuta accidentalmente un comando destructivo, puede revertir el filesystem a un snapshot de minutos antes en lugar de restaurar desde backup que llevaría horas.

Disaster Recovery

Alta disponibilidad protege contra fallos de componentes, pero disaster recovery (DR) protege contra la pérdida completa del centro de datos principal por incendios, inundaciones, fallos masivos de infraestructura o desastres naturales.

Una estrategia DR típica replica el sistema SAP completo a un segundo centro de datos geográficamente separado. Este sitio de DR mantiene hardware en standby y recibe réplicas continuas de los datos de producción.

Los parámetros clave de DR son el RPO (Recovery Point Objective) que especifica cuántos datos se pueden perder, y el RTO (Recovery Time Objective) que define cuánto tiempo puede llevar recuperar el sistema operativo.

DR con RPO y RTO bajos requiere inversión significativa: infraestructura duplicada, ancho de banda entre sitios, procedimientos probados y personal entrenado. Las empresas deben equilibrar el coste con el riesgo del negocio.

Monitorización y alertas

La HA es efectiva solo si los fallos se detectan rápidamente y se activan los mecanismos de recuperación. Los sistemas de monitorización continua verifican la salud de todos los componentes críticos y generan alertas automáticas cuando se detectan problemas.

SAP Solution Manager proporciona capacidades de monitorización centralizada para landscapes SAP completos. Puede detectar servidores caídos, bases de datos inaccesibles, filesystems llenos, y problemas de rendimiento antes de que impacten usuarios.

Las alertas deben configurarse para notificar al equipo BASIS inmediatamente 24/7. Los procedimientos de escalado garantizan que personal autorizado responda rápidamente incluso fuera del horario laboral.

Testing de HA

Las configuraciones de alta disponibilidad deben probarse regularmente. No basta con configurar clustering y replicación; hay que verificar que funcionan correctamente ejecutando failovers planificados.

Los failovers de prueba revelan problemas de configuración, scripts incorrectos, dependencias no documentadas y gaps en procedimientos operativos. Es mejor descubrir estos problemas durante una prueba controlada que durante una emergencia real.

Las pruebas anuales o semestrales de DR verifican que el sitio de recuperación puede realmente asumir las operaciones productivas. Estas pruebas incluyen activar los sistemas en el sitio DR, validar funcionalmente las aplicaciones clave, y verificar tiempos de recuperación.

Costes de alta disponibilidad

Implementar HA completa es costoso. Requiere hardware duplicado o triplicado, licencias adicionales de software (clustering, replicación de base de datos), almacenamiento redundante, conectividad de red dedicada, y personal especializado.

Las empresas deben analizar cuidadosamente el coste del tiempo de inactividad versus el coste de la infraestructura HA. Un sistema SAP que genera €100,000 de valor de negocio por hora justifica inversión significativa en HA. Un sistema de desarrollo raramente justifica más que redundancia básica.

Los enfoques cloud pueden optimizar costes de HA utilizando capacidades nativas de la plataforma cloud (availability zones, auto-scaling) en lugar de construir infraestructura redundante desde cero. Consulta arquitectura on-premise vs cloud para más detalles.

Preguntas Frecuentes (FAQ)

¿Qué es un SPOF en SAP?

Un SPOF (Single Point of Failure) es cualquier componente del sistema que, si falla, provoca la caída de todo el sistema SAP. Ejemplos críticos son el Enqueue Server, el Message Server y la Base de Datos.

¿Cómo ayuda el clustering a la alta disponibilidad?

El clustering permite que un servicio crítico (como el ASCS) se ejecute en un nodo primario y, en caso de fallo, se mueva automáticamente a un nodo secundario en segundos, minimizando el tiempo de inactividad.

¿Cuál es la diferencia entre HA y DR?

HA (Alta Disponibilidad) se enfoca en mantener el sistema operativo ante fallos de componentes individuales en un mismo centro de datos. DR (Disaster Recovery) se enfoca en recuperar el sistema en una ubicación geográfica distinta ante una catástrofe total del sitio principal.

Temas relacionados

Para profundizar en alta disponibilidad SAP, consulta:

SAP HANA para detalles de HANA System Replication.

Bases de datos SAP para tecnologías HA de Oracle, SQL Server y DB2.

Capas del sistema SAP para entender dónde implementar redundancia en cada capa.

Dimensionamiento para calcular recursos necesarios en configuraciones HA.

SAP BASIS para las tareas operativas de gestión de sistemas HA.

Operación y mantenimiento para procedimientos de emergencia y failover.