Alta Disponibilidad y Tolerancia a Fallos en Arquitectura de Nube

Clase 21 de 27Curso de Introducción a la Nube

Resumen

La importancia de la alta disponibilidad y la tolerancia a fallos en la arquitectura de nube es innegable para el éxito y la continuidad de cualquier aplicación moderna. Estos conceptos, aunque técnicos, tienen relevancia directa en la operatividad y resiliencia de los servicios en línea. A través de ejemplos como los proporcionados por Platzi Wallet, podemos entender cómo la implementación efectiva de alta disponibilidad y tolerancia a fallos es crítica para soportar incidentes inesperados minimizando la afectación a usuarios y negocios. Así pues, exploraremos estos conceptos y su impacto en la arquitectura de aplicaciones en la nube.

¿Qué es la alta disponibilidad?

La alta disponibilidad se refiere a la capacidad de una aplicación para seguir en funcionamiento aún cuando uno de sus componentes falle. Esta se logra desplegando la aplicación en al menos dos zonas de disponibilidad.

¿Cómo se relaciona con el RTO?

El Recovery Time Objective (RTO), o tiempo de recuperación objetivo, está intrínsecamente ligado a la alta disponibilidad. Determina el tiempo máximo que una aplicación puede estar inactiva tras un fallo sin impactar la continuidad del negocio.

  • Definición de RTO: El tiempo máximo tolerable de inactividad.
  • Costo asociado: A menor RTO, mayor es el costo asociado debido a la necesidad de redundancia y automatización.

¿Cómo se implementa la tolerancia a fallos?

La tolerancia a fallos es la capacidad de un sistema para seguir operando a pesar de fallas en sus componentes, manteniendo la disponibilidad sin degradar el servicio.

¿Dónde entra en juego el RPO?

El Recovery Point Objective (RPO), o punto de recuperación objetivo, es distinto al RTO y se centra en el volumen de datos que se está dispuesto a perder en un incidente antes de la restauración del servicio.

  • Ejemplo práctico: Si Platzi Wallet realiza backups de su base de datos cada dos horas, el RPO sería de dos horas.
  • Implicaciones técnicas y económicas: La exigencia de un RPO bajo aumenta la complejidad y el costo debido a la necesidad de sistemas avanzados de replicación.

¿Alta disponibilidad vs. tolerancia a fallos?

Mientras que la alta disponibilidad asegura el funcionamiento continuo de una aplicación, la tolerancia a fallos busca preservar tanto la disponibilidad como el rendimiento óptimo del servicio.

  • Consideraciones en arquitectura: Se debe planificar la arquitectura de la aplicación pensando en la posibilidad de fallas, procurando no afectar ni la disponibilidad ni la calidad del servicio.

Diseñando aplicaciones resilientes en la nube

Para que una aplicación sea sostenible y confiable, debe diseñarse pensando en la alta disponibilidad y la tolerancia a fallos. Esto se hace definiendo claramente los RTO y RPO para cada aplicación y probándolos dentro de una estrategia de recuperación de desastres.

Desafío: Define tus RTO y RPO

Para propulsar la resiliencia de tu aplicación, te retamos a definir el RTO y RPO de tu propia aplicación y, basado en estos parámetros, perfeccionar la arquitectura existente.

  • Explora estrategias de recuperación de desastres: Escoge una estrategia de disaster recovery que se alinee con los objetivos de RTO y RPO que has establecido.

La alta disponibilidad y la tolerancia a fallos no son conceptos aislados o estáticos, pero deben ser considerados como una parte esencial del diseño y la implementación en todo desarrollo de aplicaciones en la nube. Los ejemplos y conceptos presentados, como el RTO y RPO, proporcionan un marco de referencia esencial para garantizar que las aplicaciones no solo sobrevivan, sino que también prosperen ante cualquier adversidad. Continúa aprendiendo y profundizando en estos conceptos vitales para cualquier entorno en la nube, y no olvides aplicarlos en tus proyectos para crear soluciones robustas y confiables que reflejen tu compromiso con la excelencia en el servicio.