¿Cómo logramos implementar la alta disponibilidad? Por raro que parezca, agregar más componentes a un sistema no ayuda a hacerlo más estable y lograr una alta disponibilidad. En general, esta solución puede llevarnos totalmente a lo contrario, puesto que, al tener más componentes aumentan las probabilidades de fallas. Los diseños modernos permiten la distribución de las cargas de trabajo en múltiples instancias, como una red o un clúster, lo que ayuda a optimizar el uso de recursos, maximizar la producción, minimizar los tiempos de respuesta y ¿Planificando implementar una infraestructura de alta disponibilidad? evitar la sobrecarga de cualquier sistema en el proceso conocido como equilibrio de carga.
Estrategias
Es posible adoptar las siguientes estrategias de implementación en la infraestructura TI para lograr mejores niveles de disponibilidad:
a) Utilización de varios servidores para las aplicaciones: Si se tiene solo un servidor para prestar sus servicios y se genera un aumento repentino en el tráfico o carga sobre la aplicación, esto claramente puede conducir a que la aplicación o los servicios fallen (o se bloqueen). En tal situación, hasta que se reinicie su servidor, no se pueden atender más solicitudes, lo que conduce a un tiempo de inactividad.
La solución pasa por implementar las aplicaciones o servicios sobre varios servidores. Será necesario distribuir la carga entre ellos, para que ninguno de los servidores se encuentre sobrecargado y la respuesta sea óptima. O, si es posible, se pueden implementar distintas partes de las aplicaciones en diferentes servidores. Por ejemplo, podría haber un servidor separado para manejar correos o uno separado para procesar archivos estáticos como imágenes (como una red de entrega de contenido).
b) Escalamiento de bases de datos: Es necesario recordar que las bases de datos son igualmente importantes (incluso a veces más importantes) para la entrega de los servicios TI, como los servidores de aplicación. Las bases de datos se ejecutan en servidores separados y también son propensas a fallar. Lo peor es que las fallas de estas pueden provocar la pérdida de datos del usuario, lo que puede resultar costoso.
La redundancia es un proceso que permitirá crear sistemas con altos niveles de disponibilidad al lograr la detectabilidad de posibles fallas y evitar aquellas con causa común. Esta redundancia se puede lograr manteniendo servidores de bases de datos “esclavos”, que intervendrán cuando el servidor principal presente fallas. Otro concepto que se puede utilizar para lograr escalar bases de datos es la fragmentación. Un fragmento es una partición horizontal en una base de datos, donde hay filas de una misma tabla que luego se ejecutan en un servidor diferente.
c) Diversificación de ubicaciones geográficas: Ampliar sus servidores de aplicaciones y luego escalar las bases de datos es un gran avance, pero, ¿qué pasa si todos los servidores están en la misma ubicación física y un desastre natural afecta el data center donde se encuentran? Esto puede provocar tiempos de inactividad potencialmente enormes.
Por lo tanto, es importante mantener los servidores en diferentes ubicaciones. Actualmente, los proveedores de los servicios de nube permiten seleccionar la localización geográfica donde quedarán implementados los servidores de sus clientes.
Elevando los niveles de disponibilidad
Además da las estrategias sugeridas, que pueden ser implementadas tanto con servicios cloud como en infraestructuras on premise, es posible mejorar los niveles de disponibilidad siguiendo estos consejos:
• Adquiera mejor equipamiento y que sea más fácil de reparar. Además, agregue equilibrios de carga, conmutación por error y redundancia. Las soluciones de infraestructura de alta disponibilidad a menudo incluyen fuentes de alimentación y procesadores redundantes, respaldos de baterías, generadores diésel o de gas natural para cortes de energía más prolongados de los que pueden soportar solo las baterías, múltiples y diversas líneas de comunicación y de cualquier otra cosa o componente que pudiera fallar.
• Automatice cuando sea posible, para monitorear el rendimiento de la red y señalar posibles fallas de funcionamiento. Las herramientas de automatización, junto con el software de análisis de red que rastrea continuamente el estado de los componentes y tecnologías de la red, como la Inteligencia Artificial y el Aprendizaje Automático, pueden ayudar a los operadores a reducir la posibilidad de errores humanos y garantizar que sus redes permanezcan operativas. Adicionalmente, estas plataformas pueden alertar de manera proactiva a los operadores de red en caso de problemas o de alguna brecha de seguridad y pueden cambiar automáticamente las operaciones de componentes defectuosos a copias de seguridad cuando sea necesario.
• Preste atención al software. El software desactualizado o sin parches puede hacer que la disponibilidad de cinco nueves (99,999%) sea imposible. Si un componente en particular falla debido a un sistema operativo defectuoso y tarda mucho en volver a estar en línea, claramente afectará los niveles de disponibilidad.
• Pruebe los planes de respaldo y recuperación ante desastres para asegurarse de que sean suficientes.
Estas son ideas básicas que forman un diseño de arquitectura de alta disponibilidad. De igual manera, siempre se debe considerar que ningún sistema por sí solo puede resolver todos los problemas. Por lo tanto, es necesario evaluar su situación cuidadosamente y decidir qué opciones se adaptan mejor a ella.
Este artículo es gentileza del Área TI y de Ciberseguridad de Inacap.