Pulverizando 5 Mitos Sobre la Escalabilidad de Moodle

1288
Let's Dispel The Notion Once And For All That Moodle Is Not Scalable | Desintegrando 5 Mitos Sobre la Escalabilidad de Moodle
https://commons.wikimedia.org/wiki/File:Mandel_zoom_04_seehorse_tail.jpg

This Story in English.

WIRIS

Durante años, las creencias de que Moodle “no se comporta bien” en grandes instalaciones, o que no es lo suficientemente flexible como para aprovechar los recursos adicionales que fácilmente están al alcance en la nube, han logrado sobrevivir en foros y artículos del ciberespacio, incluso al punto de influenciar decisiones de compra.

En realidad, Moodle ha demostrado consistentemente que es capaz de manejar instalaciones con cientos de miles de usuarios, accediendo a recursos y realizando cambios activamente. En general, la conclusión que surge después de investigar los detalles de una denuncia particular es que el sitio no fue configurado con consideraciones de escalabilidad en mente. El hecho de que grandes sitios requieran cambios en la configuración distintas a las que están activadas por defecto en una instancia nueva es apenas razonable. A menudo estas quejas provienen de desarrolladores inexpertos que no atienden las pautas de rendimiento y escalabilidad disponibles en línea, empezando por la extensa documentación de Moodle. A continuación listamos 5 verdades para desmentir de una vez por todas falsas acusaciones sobre el LMS de código abierto más usado del mundo.

Verdad #1: Moodle puede manejar sitios con cientos de miles de usuarios

En primer lugar, es importante aclarar que por “manejar”, podríamos estar hablando del número de usuarios que están registrados en el sitio en cualquier rol: estudiantes, docentes, administrativos, o roles especiales. O podríamos estar hablando del número de usuarios que en un mismo momento están en Moodle con sesión iniciada y navegación activa, solicitando, descargando o actualizando información. Esta última es una definición más crítica cuando se discute el rendimiento de un sitio.

Responder a miles de solicitudes al mismo tiempo es principalmente una cuestión de especificaciones del sistema físico y la forma en que sus componentes están conectados. Por su parte, el software puede limitar la forma en que se administran los recursos físicos. Sin embargo, en muchos casos las restricciones tienen un efecto neto positivo en la capacidad de atender un número elevado de demandas simultáneas. Moodle permite a los desarrolladores establecer límites en las solicitudes de usuarios individuales, con el fin de prevenir el acaparamiento de la memoria por un solo usuario o proceso.

Si el acceso a la memoria está controlado y los usuarios aún encuentran un Moodle lento, probablemente sea momento de aumentar la capacidad física del servidor y la red.

Verdad #2: Moodle puede escalar y “equilibrar cargas” entre varios procesadores

No obstante, si los recursos físicos son más que suficientes, pero Moodle no es modificado levantar las limitaciones predeterminadas, ignorarlas podría llevar a la conclusión de que Moodle no está diseñado para aprovechar al máximo estos recursos. Lo cual no implica la incapacidad de Moodle más que la inexperiencia de desarrolladores, particularmente frente a servidores multinúcleo. Administrar tareas computacionales y distribuirlas entre los procesadores (o CPUs) disponibles, es un problema complicado. Sin entrar en detalles, los beneficios de distribuir “hilos” de uno procesos en más de un procesador deben sopesarse frente a los costos de división y posterior empalme. Esto, sin mencionar los riesgos de sincronización fallida que dan al traste con el trabajo y la energía depositada en varios núcleos de procesamiento.

Si bien estas operaciones conviene dejarlas en manos de ingenieros expertos, el primer paso que probablemente tomarían es asegurarse de que las herramientas correctas están en su lugar para cada trabajo. Este ejemplo de SeveralNines (en inglés) ilustra el diseño de una red que elimina “puntos únicos de falla”, y aprovecha tecnologías de código abierto para optimizar la administración de múltiples núcleos, y el rendimiento de la base de datos.

Verdad #3: El rendimiento de Moodle no tiene por qué comprometerse ante aumentos repentinos en el volumen de las demandas

En línea con la verdad anterior, la capacidad de acceder a recursos adicionales requiere la ayuda de software de apoyo, que está ampliamente disponible. No obstante, estos están limitados a la compatibilidad con las características del servidor. Los populares servicios AWS, por ejemplo, ofrecen herramientas para escalar automáticamente los servicios y desplegar nuevos servidores si es necesario.

Verdad #4: La memoria caché de Moodle se puede optimizar

En el evento MoodleMoot Estados Unidos 2015, Martin Langhoff propuso la Caché Universal de Moodle, o MUC. MUC es resultado de investigaciones en marcha sobre la manera de mantener recursos usados frecuentemente al alcance de los usuarios, de forma que acceder a ellos se aún más rápida. Es una línea prometedora de trabajo a partir de modelos predictivos de patrones de comportamiento. Puede abrir la puerta a desarrollos de última generación hoy en día disponibles en contados sitios, es el mismo caso de YouTube. ¿O acaso no has notado que los videos más populares en tu país tienden a cargar más rápido?

Verdad #5: Los complementos de Moodle pueden automatizar grandes tareas

Difícilmente, un sistema que no esté basado en código abierto permite la adopción generalizada de soluciones como las que estos desarrolladores crearon para automatizar operaciones masivas de creación de cursos, contenidos y usuarios. Para operaciones que tardarían horas en cualquier LMS, Moodle permite adaptaciones que ayuden a hacerlas más ágiles y autónomas.

Más recomendaciones de rendimiento están disponibles en docs.moodle.org.