1. Consiguiendo High Availability en Mulesoft


¿Que entiendes por alta disponibilidad «High Availability»? (A partir de ahora HA).

HA es esa capacidad que va a tener una aplicación de siempre estar disponible y proporcionar servicio.

 

Alta Disponibilidad (HA) en MuleSoft

¿Qué es la Alta Disponibilidad? Es la capacidad de tu sistema para continuar operando sin interrupciones significativas, incluso cuando ocurren fallos en sus componentes. Esto se logra mediante estrategias que incluyen redundancia y balanceo de carga.

¿Cómo se mide? Se mide en porcentajes y la meta es superar el 90% de operatividad. Para sistemas críticos, se busca llegar al estándar de «cuatro nueves» (99,99% de disponibilidad). Si la disponibilidad baja del 99%, MuleSoft compensa a los clientes.

¿Cómo se logra en MuleSoft? Se logra mediante:

  • Escalabilidad Horizontal: Desplegar aplicaciones en múltiples workers que operan en diferentes máquinas físicas o VMs.
  • Balanceo de Carga: Utilizar balanceadores de carga para distribuir las solicitudes entrantes entre los workers disponibles.
  • Clustering: Agrupar múltiples runtimes de Mule que trabajan juntos, distribuyendo la carga entre nodos activos.

Tabla de Disponibilidad

Para ayudarte a visualizar la importancia de los porcentajes de disponibilidad, aquí tienes una tabla con el tiempo de inactividad permitido según el porcentaje de disponibilidad:

Disponibilidad Tiempo de Inactividad Permitido al Año
90% (Un nueve) Más de 36 días
99% (Dos nueves) Menos de 4 días
99.9% (Tres Nueves) Menos de 9 horas
99.99% (Cuatro Nueves) Menos de 1 hora

Zonas de Disponibilidad: CloudHub permite que los workers se distribuyan en diferentes zonas de disponibilidad dentro de la misma región de AWS. Esto significa que si una zona de disponibilidad experimenta problemas, las otras pueden continuar operando, lo que contribuye a una mejor HA.

 

Recuperación Ante Desastres (DR) en MuleSoft

¿Qué es la Recuperación Ante Desastres? Es el proceso de restaurar un sistema a un estado previo y operativo después de un desastre, ya sea natural o causado por el hombre.

¿Cómo se planea? Se planea con base en dos objetivos clave:

  • Objetivo de Tiempo de Recuperación (RTO): ¿Qué tan rápido necesitas recuperar tus servicios?
  • Objetivo de Punto de Recuperación (RPO): ¿Cuántos datos puedes permitirte perder en el proceso de recuperación?

Tipos de Recuperación:

Tipo de Recuperación Descripción Ejemplo de Uso
Fría (Cold) Backups que toman tiempo en restaurarse. Situaciones donde el tiempo de inactividad no es crítico.
Tibia (Warm) Sistemas en standby, con recuperación más rápida. Sistemas críticos que pueden tolerar una breve interrupción.
Caliente (Hot) Sistemas en duplicación activa, listos para tomar el control. Servicios que requieren una alta disponibilidad continua.

 

Recuperación Ante Desastres (DR) y Regiones Geográficas: Para proteger tus aplicaciones Mule contra desastres que podrían afectar una región completa, es recomendable desplegar la solución en varias regiones geográficas. Al hacerlo, si una región se ve afectada por un desastre, las otras regiones pueden continuar ofreciendo el servicio, minimizando el tiempo de inactividad y asegurando la continuidad del negocio.

Consideraciones de Costo-Beneficio

Como arquitecto, necesitas considerar los costos asociados con la implementación de HA y DR. Aumentar la disponibilidad generalmente eleva el costo. Aquí es donde debes justificar si el gasto adicional vale la pena por la disponibilidad incrementada.

¿Cómo tomar decisiones informadas? Analiza el impacto de la indisponibilidad frente al costo de mantener la disponibilidad. Por ejemplo, para servicios que no requieren una operatividad 24/7, una solución de HA podría no justificar su costo. Sin embargo, para aplicaciones críticas que manejan transacciones financieras, incluso un minuto de inactividad podría significar pérdidas significativas.

 

Conclusión

Como arquitecto MuleSoft, equilibrarás la HA y la DR para construir sistemas robustos y confiables. Recuerda, la disponibilidad y la continuidad son esenciales, pero siempre deben justificarse frente al costo. Consulta siempre la Guía de HA y DR en MuleSoft para diseñar soluciones que no solo sean resilientes, sino también rentables. ¡Tu papel es fundamental para garantizar que las aplicaciones sean tan duraderas como eficientes!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *