Cómo crear servicios de Blackboard de alta disponibilidad y escala

PUBLICADO EL 24 septiembre, 2019

¿Qué es la pizarra?

Blackboard es una aplicación del sector educativo desarrollada por una empresa con el mismo nombre, cuyo objetivo es servir contenido educativo editado por profesores y de fácil acceso para los estudiantes.

Esta aplicación contiene herramientas importantes para los estudiantes, como herramientas de examen, videoconferencias con profesores o lecciones del curso. Como este tipo de aplicaciones espera un número elevado de usuarios concurrentes, los problemas debidos a la sobrecarga del servidor de aplicaciones podrían enfrentarse todos los días.

Para mitigarlo, es muy recomendable implementar la aplicación web utilizando un modelo de alta disponibilidad para garantizar que los estudiantes puedan acceder simultáneamente a los recursos educativos sin tener problemas de conectividad y atendiendo la aplicación siempre con la máxima disponibilidad.

Pizarra entorno de alta disponibilidad

El entorno de Blackboard contiene dos tipos de servidores:

Servidores de aplicaciones que gestionan la lógica de la aplicación y los perfiles de usuario.
Servidores colaborativos que utilizan algunas herramientas como punto de encuentro entre usuarios o funciones de chat. De hecho, este es un servidor de aplicaciones con algunas configuraciones especiales.

El entorno objetivo escalable y altamente disponible de una implementación de Blackboard se muestra en el siguiente dibujo.

Para lograrlo, recomendamos configurar uno HTTP granja de servidores de aplicaciones en modo activo-activo donde se agrega un grupo de servidores a pedido.

Por otro lado, recomendamos un L4xNAT farm para servidores colaborativos que utilizan todos los puertos y todos los protocolos, ya que pueden utilizar el tráfico TCP y UDP para los servicios interactivos y de colaboración. Según Blackboard, esos servicios solo se pueden configurar en modo activo-pasivo por lo que lo tendremos en cuenta durante la configuración del servicio virtual.

En nuestro ejemplo, el servicio de aplicación Blackboard se publica en la IP 10.0.1.2 que resuelve para el dominio blackboard.domain.org en el DNS y usando los puertos TCP 443 y 80 (redirigiendo al puerto 443).

Los servicios de colaboración son accesibles a través de la IP 10.0.1.3 que se resuelve con el dominio collab.blackboard.domain.org de todos los puertos y protocolos.

Todas las aplicaciones y servidores colaborativos están en el mismo segmento de red. 10.0.7.0/24.

Configuración de equilibrio de carga de pizarra

Requisitos

En primer lugar, prepare la aplicación para que se configure en alta disponibilidad y algunas utilidades de equilibrador de carga.

Configuración de pizarra para alta disponibilidad

La configuración de la aplicación y los servidores colaborativos de Blackboard para alta disponibilidad se explican con detalles en el siguiente artículo:

https://help.blackboard.com/es-es/Learn/Administrator/Hosting/Performance_Optimization/Load_Balancing

Siga las instrucciones de DNS y otras configuraciones necesarias para asegurarse de que la implementación de Blackboard esté lista para HA.

Configuración de red del servicio virtual de Blackboard

Los servicios virtuales se publicarán en dos interfaces virtuales diferentes bajo la misma NIC física, esas interfaces se compartirán entre el clúster Zevenet Load Balancer. En casos de alto rendimiento y para reducir la latencia, los servicios virtuales podrían usar diferentes NIC físicas.

Las interfaces virtuales se crean en una interfaz de red física existente, por lo que es necesario tener una interfaz NIC, de enlace o VLAN en la misma red que la dirección IP de la interfaz virtual. En este caso, se crea una interfaz NIC, haciendo clic en el menú de la izquierda Red> NIC y editando una de las NIC de la lista.

En este ejemplo, los servicios se publicarán en dos interfaces, una llamada eth1: pizarra usando la IP 10.0.1.2 y otro llamado eth1: colaboración y usando la IP 10.0.1.3.

Para crear una interfaz virtual, haga clic en la opción de la barra de menú izquierda Red> Interfaces virtuales> Crear y complete el formulario como se muestra a continuación.

Del mismo modo, cree la interfaz virtual para el servicio virtual colaborativo.

Monitoreo del control de estado de la pizarra

Blackboard ya proporciona una página web dedicada a preguntar por el estado de mantenimiento del servidor de aplicaciones, por lo que recomendamos usarlo en las comprobaciones de estado avanzadas configuradas en el equilibrador de carga. La siguiente verificación personalizada de FarmGuardian se utilizará para conocer el estado de la aplicación Blackboard.

Al hacer clic en la opción de la barra de menú izquierda Monitoreo> Farmguardianspresione Crear Farmguardian y elige la opción Copiar de "check_http", como se muestra a continuación.

Los nuevos parámetros de comprobación de estado para los servidores de aplicaciones de Blackboard son:

Nombre: check_blackboard
Intervalo: 61 seg
Comando: check_http -I HOST -p PUERTO -e 200 -t 20 -u “http://blackboard.domain.org/webapps/portal/healthCheck”

Esta comprobación de Farmguardian se ajusta para los backends de 4 o menos, si hay más de 4 en el grupo de servidores de aplicaciones, configure el parámetro de intervalo de acuerdo con la ecuación intervalo = * 20 + 1.

Ahora que configuramos la configuración requerida, vamos a configurar los servicios virtuales para cada servicio necesario en Blackboard HA.

Configuración del servicio virtual de Blackboard Application Servers

Se configurarán dos servicios virtuales HTTP diferentes, uno para HTTPS seguro y otro con un redireccionamiento de HTTP a HTTPS. Veamos cómo lograrlo.

Servicio virtual HTTPS del servidor de aplicaciones

Cree una nueva granja de perfiles HTTP LSLB haciendo clic en la opción de la barra de menú izquierda LSLB> Granjas y luego el botón Crear granja.

Los siguientes parámetros se modificarán para obtener el mejor rendimiento:

Perfil:
HTTPS
Certificados habilitados. Aquí, se recomienda elegir un certificado firmado previamente cargado desde la opción de la barra de menú izquierda LSLB> Certificados SSL, Haga clic en el Subir certificado del botón.

La aplicación Blackboard solo necesita un servicio en el servicio virtual HTTPS. Créelo haciendo clic en el Servicios pestaña y luego la Nuevo servicio botón. Los parámetros a configurar en los servicios son:

Backends HTTPS: facilita
Insertar cookie: facilita
Nombre de la cookie: ZENSESSIONID
Cookie TTL: 10860, (3h, 1min)
Ruta de las cookies: /
Farmguardian: check_blackboard (creado previamente)

Una vez modificado, es necesario presionar el Enviar del botón.

Finalmente, agregue los servidores de aplicaciones en la sección de back-end haciendo clic en Agregar backends. Para cada backend es necesario configurar el Dirección IP y Puerto. Cuando se agregan todos los backends, presione la granja Reanudar del botón.

Servidor de aplicaciones HTTP a HTTPS servicio de redireccionamiento

El objetivo de esta granja HTTP es redirigir las solicitudes HTTP a la granja HTTP creada previamente con el nombre aplicación de pizarra para obligar a todos los clientes a pasar el servicio encriptado. En nuestro ejemplo, cree una nueva granja de servidores LSLB llamada blackboard-redirect-ssl y establezca los siguientes parámetros para esta granja:

Nombre: blackboard-redirect-ssl
Mi Perfil: HTTP
IP virtual: 10.0.1.2 (es lo mismo que el servicio en el puerto 443)
Puerto virtual: 80

Una vez que se ha creado la granja, haga clic en la pestaña Servicios y el botón Nuevo servicio. Seleccione un servicio nombre , reorientar en este ejemplo, y edítelo con los siguientes parámetros:

Redireccionar: habilitado
URL a redirigir: https://blackboard.domain.org (este es el nombre del servidor de nombres de servicio utilizado en el DNS)
Tipo de redireccionamiento: Predeterminado
Código de redireccionamiento: 301

Finalmente, presione Enviar y reinicie la granja para aplicar los cambios.

Configuración del servicio virtual de Blackboard Collaborative Servers

Como se explicó al principio del artículo, los servidores de colaboración no pueden equilibrarse en la carga de acuerdo con Blackboard, pero pueden configurarse en alta disponibilidad.

El primer paso es configurar el servicio virtual creando una nueva granja de servidores L4xNAT a través de la sección LSLB> Granjas> Crear granja. Se recomienda configurar este servicio virtual con todos los puertos, establecidos por *, y mediante TODOS protocolos que Blackboard recomienda habilitar TCP por los servicios y algunos UDP puertos para mejorar el rendimiento del tráfico interactivo.

No se requiere un algoritmo especial o persistencia, ya que este servicio se configurará en modo activo-pasivo, pero agregaremos los backends Direcciones IP (sin Puerto) con diferente Prioridad para generar la conmutación por error automática cuando el servidor de colaboración activo se detecta como inactivo. Se pueden configurar más de 2 backends sin ningún problema.

Finalmente, se recomienda configurar una verificación de estado para este servicio. Como no se usa ningún puerto específico en el servicio virtual y los backends, usaremos un check_ping para saber si el servidor de colaboración es accesible y responde correctamente a un paquete ICMP.

Resumen de servicios virtuales de Blackboard

Aquí tiene el resumen del servicio virtual que hemos creado para mejorar la disponibilidad de Blackboard.

Clúster de equilibrador de carga de pizarra

Para evitar un único punto único de falla, se requiere un clúster de equilibrador de carga. Esta práctica permite configurar todo el entorno en diferentes centros de datos o nodos físicos.

Para obtener más información sobre el clúster, consulte https://www.zevenet.com/knowledge-base/howtos/configure-zevenet-cluster/

Seguridad mejorada de Blackboard Virtual Services

Zevenet Load Balancer incluye un sistema de prevención y detección de intrusiones que incluye listas negras, protección DDoS, listas de agujeros negros de DNS en tiempo real y firewall de aplicaciones web. Recomendamos aprovechar esos sistemas de seguridad para su implementación de Blackboard HA.

Comparte en:

Documentación bajo los términos de la Licencia de Documentación Libre de GNU.

¿Le resultó útil este artículo?

Artículos Relacionados