Confiabilidad

Completado

Imagine que ejecuta un sistema clínico para una organización del sector sanitario. Los médicos y los cuidadores no aceptan de buen grado los tiempos de inactividad. Necesitan tener acceso ininterrumpido a los sistemas clínicos de TI para asegurarse de proporcionar la mejor atención en todo momento.

Para satisfacer la demanda continua de los médicos, las aplicaciones deben ser capaces de controlar los errores con un impacto mínimo sobre los usuarios. ¿Cómo se mantienen operativas las aplicaciones durante incidentes localizados y desastres a gran escala?

En esta unidad se aprende a incluir elementos del pilar de confiabilidad en el diseño de la arquitectura.

¿Qué es la confiabilidad?

En una aplicación compleja, hay varias cosas que pueden ir mal a cualquier escala. Los servidores individuales y las unidades de disco duro pueden sufrir errores. Un problema de implementación podría eliminar todas las tablas de una base de datos sin querer. Centros de datos enteros podrían no ser accesibles. Un incidente de ransomware podría cifrar de forma malintencionada todos los datos. Es fundamental que la aplicación se mantenga confiable y pueda controlar los incidentes localizados y de gran impacto.

El diseño orientado a la confiabilidad incluye el mantenimiento del tiempo de actividad durante incidentes a pequeña escala y situaciones temporales como interrupciones de red parciales. Puede asegurarse de que la aplicación controla errores localizados mediante la integración de la alta disponibilidad en cada componente. Este diseño de aplicación elimina únicos puntos de error. Este tipo de diseño también minimiza el impacto del mantenimiento de la infraestructura. Por lo general, los diseños de alta disponibilidad aspiran a eliminar el impacto de los incidentes de forma rápida y automática, y a asegurarse de que el sistema pueda seguir procesando las solicitudes con poco o ningún efecto.

El diseño orientado a la confiabilidad además se centra en la recuperación tras una pérdida de datos o un desastre a gran escala. La recuperación tras este tipo de incidentes a menudo implica intervenir de manera activa, aunque los pasos de recuperación automatizados pueden reducir el tiempo necesario para recuperar. Estos tipos de incidentes pueden dar lugar a cierto tiempo de inactividad o a la pérdida permanente de datos. La recuperación ante desastres tiene que ver con un planeamiento cuidadoso y con una buena ejecución.

Incluir la alta disponibilidad y la capacidad de recuperación en el diseño de la arquitectura protege el negocio frente a pérdidas financieras provocadas por el tiempo de inactividad y la pérdida de datos. También protegen su negocio de una pérdida de reputación causada por una pérdida de confianza de sus clientes.

El diseño de arquitectura orientado a la confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Quiere garantizar que los sistemas están disponibles para los usuarios finales y se pueden recuperar de cualquier posible error.

Compilación de una arquitectura de alta disponibilidad

En relación con la disponibilidad, identifique el Acuerdo de Nivel de Servicio (SLA) que ha firmado. Examine las posibles capacidades de alta disponibilidad de la aplicación con respecto al Acuerdo de Nivel de Servicio e identifique dónde tiene una cobertura adecuada y dónde necesita realizar mejoras. El objetivo es agregar redundancia a los componentes de la arquitectura para que sea menos probable experimentar una interrupción del servicio.

Los ejemplos de componentes de diseño de alta disponibilidad incluyen la agrupación en clústeres y el equilibrio de carga:

  • La agrupación en clústeres reemplaza una sola máquina virtual por un conjunto de máquinas virtuales coordinadas. Si se produce un error en una máquina virtual o esta deja de ser accesible, los servicios pueden conmutar por error a otra máquina virtual que pueda atender las solicitudes.

  • El equilibrio de carga propaga solicitudes entre muchas instancias de un servicio, detecta las instancias con error y evita que las solicitudes se enruten hacia ellas.

Compilación de una arquitectura que se puede recuperar de un error

En el caso de la capacidad de recuperación, debe realizar un análisis que examine las posibles pérdidas de datos y los principales escenarios de tiempos de inactividad. El análisis debe incluir un examen de las estrategias de recuperación y la relación costo-beneficio de cada una de ellas. Este ejercicio proporciona información importante sobre las prioridades de la organización y ayuda a aclarar el papel que desempeña la aplicación. Los resultados del análisis deben incluir estos valores de duración de la aplicación:

  • Objetivo de punto de recuperación (RPO): duración máxima de pérdida de datos aceptable. El RPO se mide en unidades de tiempo, no en volumen. Por ejemplo, "30 minutos de datos", "cuatro horas de datos", etc. El RPO trata de la limitación y la recuperación de las pérdidas de datos, no del robo de datos.

  • Objetivo de tiempo de recuperación (RTO): duración máxima del tiempo de inactividad aceptable, donde "tiempo de inactividad" se define según sus propias especificaciones. Por ejemplo, si la duración del tiempo de inactividad aceptable es de ocho horas en caso de desastre, entonces el RTO es de ocho horas.

Con el RPO y el RTO definidos, puede diseñar las capacidades de copia de seguridad, restauración, replicación y recuperación de la arquitectura para cumplir estos objetivos.

Todos los proveedores de nube ofrecen un conjunto de servicios y características que puede usar para mejorar la disponibilidad y la capacidad de recuperación de la aplicación. Siempre que sea posible, use los servicios y procedimientos recomendados existentes e intente resistirse a crear los suyos propios.

Se pueden producir errores en las unidades de disco duro, los centros de datos pueden dejar de ser accesibles y los hackers pueden atacar. Es importante que mantenga una buena reputación ante sus clientes por medio de la disponibilidad y la capacidad de recuperación. La disponibilidad se centra en mantener el tiempo de actividad durante situaciones como las interrupciones de red, mientras que la capacidad de recuperación se centra en la recuperación de datos tras un desastre.

Comprobación de conocimientos

1.

Imagine que quiere aumentar la disponibilidad del sistema para proporcionar un mejor Acuerdo de Nivel de Servicio (SLA) a los clientes. ¿Cuál de los siguientes es un principio rector que puede usar?

2.

¿Cuáles de las siguientes opciones se vería afectada por el objetivo de punto de recuperación (RPO) definido?