¿Qué es Moodle?
Es una plataforma de aprendizaje diseñada para proporcionarle a educadores, administradores y estudiantes un sistema integrado único, robusto y seguro para crear ambientes de aprendizaje personalizados.
Huawei Cloud
Huawei posee más de 30 años de experiencia en servicios de tecnología e innovación, cuenta con un crecimiento constante en los servicios ofrecidos en la nube, seguridad de alta calidad para los datos de sus clientes y sobre todo un precio competitivo basado en el pago por uso.
¿Por qué utilizar Moodle en Huawei Cloud?
La educación en línea ha tomado un papel muy importante en los últimos dos años y esta depende de distintos factores para que los estudiantes puedan gozar de una buena educación a distancia, entre ellos destacan: la entrega del contenido educacional y la alta disponibilidad de la plataforma.
Huawei Cloud cuenta con algo muy importante que otras nubes no poseen y que se debe de tomar en cuenta en la decisión de donde alojar la plataforma educativa. Esto viene siendo las regiones disponibles en Latinoamérica, específicamente en los países de México, Brasil y Chile. ¿Por qué es un beneficio contar con estas regiones? Para la entrega de contenido educacional contaría con una mejor latencia y ancho de banda debido a que las distancias hacia los data centers de Huawei no serían tan grandes en comparación con otras nubes que no cuentan con regiones en esta parte del mundo y, además, cuenta con un servicio de entrega de contenido audiovisual que permite tener acceso a estos contenidos más rápido y con buena calidad. Para la alta disponibilidad, Huawei cuenta con distintas zonas de disponibilidad en cada región y servicios como el auto escalado que se encargan de cumplir con este aspecto demandado para cualquier aplicación.
Servicios utilizados para la arquitectura Moodle
Lo interesante de trabajar con una arquitectura en la nube de Huawei es la forma fácil y rápida de configurarlos desde la consola administrativa, además de que cada uno de ellos se complementa el uno con el otro. Para poder entender más a fondo como es que Huawei Cloud es la mejor opción para alojar Moodle, se dan a conocer los servicios implementados y por qué fueron seleccionados para esta arquitectura.
Elastic Cloud Server (ECS)
Proporciona recursos de cómputo seguros, escalables y bajo demanda, lo que permite desplegar aplicaciones y cargas de trabajo de forma flexible. Este servicio cuenta con distintos tipos de servidores que están hechos para afrontar diferentes escenarios, de uso general, optimizados para memoria y de alto uso de escritura/lectura por mencionar algunos. En este se utilizó un servidor de cómputo general porque este es adecuado para las cargas de trabajo de servicios web como los de la plataforma Moodle y es importante recalcar que se cuenta con escalado vertical, lo que consiste en incrementar los recursos del servidor, como lo es la cantidad de vCPU o memoria y el escalado horizontal, lo que consiste en incrementar la cantidad de servidores disponibles que va de la mano con el servicio de auto escalado.
Auto Scaling (AS)
El servicio de auto escalado se encarga de ajustar los recursos de forma automática basándose en políticas y configuraciones del usuario. Las políticas se encargan de disparar acciones de incremento o decremento de servidores o ancho de banda según se cumplan las condiciones especificadas. Existen los grupos de auto escalado donde se adjuntan los servidores ECS y según las políticas configuradas estos grupos incrementan o reducen en cantidad de servidores disponibles. Por ejemplo, se puede configurar una política de tipo alarma donde se puede poner una condición de uso de CPU que cuando este alcance un 50% de utilización se dispare una acción de incremento de instancias, por lo que, si nuestro servidor alcanza ese porcentaje, gracias a la política, ahora existirán 2 servidores para alivianar la carga de trabajo y así garantizar la alta disponibilidad.
Se sabe que Moodle es una plataforma que aloja grandes cantidades de estudiantes y por lo general posee un tráfico pesado, por lo que contar con el servicio de auto escalado es de vital importancia ya que existirán días en donde, por ejemplo, se hagan exámenes de admisión y se necesiten más servidores de los contemplados que posteriormente sean eliminados de forma automática cuando ya no se necesiten.
Elastic Load Balance (ELB)
El balanceador de cargas, es un servicio que se encarga de distribuir el tráfico entrante hacia los servidores de la aplicación basándose en reglas configuradas, lo que permite ampliar las capacidades de una aplicación y su tolerancia al fallo. Estas reglas son utilizadas por los “listeners” u “oyentes” que se encargan de recibir las peticiones de los clientes y trasladarlas a los servidores utilizando los protocolos, puertos y el algoritmo de balanceo de carga definidos por el usuario.
Este servicio se complementa con el auto escalado porque el grupo definido en ese servicio es al que el balanceador distribuye las peticiones y este mismo se encarga de verificar que los servidores se encuentren en un buen estado mediante constantes de “health checks” o chequeos de salud, si el balanceador recibe una respuesta negativa de algún servidor, este se encargará de reemplazarlo por uno que posea las mismas características.
Scalable File Service (SFS)
Proporciona almacenamiento de archivos compartidos confiable y de alto rendimiento. Con SFS, se puede disfrutar del acceso a archivos compartidos que abarca varios servidores levantados (ECS). También ofrece escalamiento dinámico, se puede reducir o incrementar el almacenamiento sin afectar o interrumpir las aplicaciones que utilicen este servicio. Es utilizado para escenarios de procesamiento y manejo de contenido audiovisual, por lo que integrarlo con Moodle hace que la plataforma posea una mejor durabilidad de los datos y fácil acceso a estos.
Moodle necesita de un servicio como este porque permite a los usuarios dentro de Moodle acceder a archivos que se han cargado en carpetas designadas en el servidor y si no se tiene contemplado el espacio que cada curso pueda llegar a utilizar, no hay problema gracias a la elasticidad que este ofrece en su almacenamiento. El SFS puede estar disponible en todo el sitio para todos, dentro de un curso individual o para un usuario individual.
Cloud Backup and Recovery (CBR)
Permite realizar copias de seguridad de servidores (ECS) y a los sistemas de archivos SFS. En caso de un ataque de virus, una eliminación accidental o una falla de software o hardware, se pueden restaurar los datos a cualquier punto en el pasado cuando se realizó la copia de seguridad. CBR protege los servicios al garantizar la seguridad y la coherencia de los datos.
Sufrir de alguna falla en el servidor o del sistema de archivos de Moodle y no contar con una copia de estos datos afecta grandemente a los estudiantes y catedráticos, pero con el servicio de CBR eso deja de ser un problema gracias a las copias de seguridad que se pueden configurar en cada uno de los servidores y sistemas de archivos utilizados.
Relational Database Service (RDS)
RDS es el servicio de bases de datos relacionales escalables, fácil de manejar y para el uso inmediato. Posee un sistema de monitoreo, medidas de alta seguridad y una plataforma profesional para su gestión. Este ofrece bases como MYSQL, PostgreSQL y SQL Server. Lo que más destaca de este servicio es que evita hacer instalaciones y actualizaciones manuales del software de las bases de datos.
Para Moodle se debe implementar una base de datos MYSQL por lo que se utiliza este servicio para garantizar un mejor rendimiento y no tenerlo en el mismo servidor en donde se encuentra a aplicación de Moodle, se pueden configurar respaldos automáticos de la base datos y así garantizar una mejor tolerancia a los fallos.
Distributed Cache Service (DCS)
Este servicio permite que las aplicaciones gocen de una aceleración gracias al almacenamiento en caché de alto rendimiento. Es un servicio de alto rendimiento, escalable, fácil de manejar y compatible con Redis y Memcached. Se utiliza para aplicaciones que demandan un rápido acceso a grandes cantidades de datos.
Para esta implementación se utiliza Redis porque permite recuperar los datos almacenados en memoria en lugar de ir a un disco duro como cualquier otra base de datos convencional, lo que lo hace mucho más rápido a la hora de acceder a los datos que son accedidos constantemente y no necesiten de consultas tan complejas como lo son los joins para obtenerlos, por ejemplo, la información de un curso, avisos generales o comentarios en foros que son por lo general los más consultados en la plataforma de Moodle.
Web Application Firewall (WAF)
Este servicio actúa como un escudo para aplicaciones y sitios web contra múltiples ataques, como inyección de SQL, ejecución de archivos maliciosos, scripting entre sitios y demás. Impulsado por la tecnología de aprendizaje automático de Huawei, WAF filtra de manera inteligente el tráfico malicioso para proteger los datos, garantizar tiempos de carga rápidos y mantener el tiempo de actividad. Con WAF se pueden definir reglas y listas de control de acceso para evitar ataques de distintas direcciones IP. Ofrece una fácil integración con cualquier servicio de DNS y con la red de entrega de contenido de Huawei (CDN).
Es importante el uso del WAF con Moodle para proteger los datos de los estudiantes, prevenir ataques que deshabiliten la plataforma o inyecciones sql que puedan llegar a destruir la base de datos.
Content Delivery Network (CDN)
Se encarga de la entrega de contenido desde los nodos origen hasta los nodos del borde, de modo que los usuarios finales puedan obtener el contenido deseado de los nodos cercanos evitando así latencia más alta. CDN acelera la respuesta del sitio web, garantiza la disponibilidad del contenido y evita los cuellos de botella en el tráfico de la red. Esta red busca el camino más adecuado para acceder a los nodos del borde que cuentan con los contenidos solicitados. Huawei ofrece estos nodos en distintas regiones de Latinoamérica como Brasil, Chile, Perú, Colombia y Ecuador.
Para una plataforma como Moodle, la disponibilidad del contenido en diferentes partes del mundo es muy importante porque con la educación en línea puede haber estudiantes localizados en distintas áreas geográficas y gracias a esta red inteligente todos pueden gozar de estos contenidos a una alta calidad.
Autor: Jose Marcos García, Cloud Solutions Arquitect