Moodle es un sistema de administración de aprendizaje de código abierto que requiere acceso de baja latencia y alto rendimiento al almacenamiento. Muchas implementaciones de Moodle requieren una escalabilidad sencilla para adaptarse a la demanda creciente. En este artículo se explica cómo puede implementar Moodle mediante servicios de Azure en Azure Virtual Machine Scale Sets y almacenar archivos de datos de aprendizaje accesibles para el usuario en Azure NetApp Files. En este artículo se describe una implementación zonal para la alta disponibilidad y la replicación entre zonas y también se proporcionan ejemplos de una implementación de una sola zona.
Arquitectura
Para obtener la mejor experiencia de usuario, Moodle requiere un acceso coherente de baja latencia a un almacenamiento compartido escalable para satisfacer las demandas de los trabajadores domésticos y de oficina que usan el servicio. Los conjuntos de escalado de máquinas virtuales y los grupos de capacidad y volúmenes de Azure NetApp Files se pueden ajustar y reducir a medida que cambia la demanda.
Descargue un archivo Visio de esta arquitectura.
Además de la implementación de Moodle, la arquitectura usa la replicación entre zonas de Azure NetApp Files para replicar los volúmenes de datos en una zona secundaria. La replicación entre zonas usa zonas de disponibilidad para proporcionar alta disponibilidad en una región y replicación en una zona diferente de la misma región. Un grupo de capacidad que usa el nivel de servicio Estándar puede hospedar los volúmenes de datos de destino durante el funcionamiento normal.
Con este enfoque, no es necesario iniciar algunos componentes de la configuración, como los servicios de proceso y auxiliares, durante el funcionamiento normal. Como resultado, no incurrirá en ningún costo operativo para estos componentes. También puede reducir verticalmente los conjuntos de escalado de máquinas virtuales al mínimo.
Solo en un escenario de recuperación ante desastres debe iniciar y escalar verticalmente los componentes necesarios para continuar con el servicio mediante los volúmenes de datos replicados. En este momento, puede actualizar el nivel de servicio de los volúmenes de Azure NetApp Files de destino al nivel de servicio Premium o Ultra si es necesario.
Después de recuperar la zona principal, se invierte la dirección de replicación. La zona principal se actualiza con los cambios que se aplican durante la conmutación por error y el servicio se puede conmutar por recuperación. Los usuarios se redirigen a la zona de conmutación por error a través de Azure Traffic Manager, que funciona en la capa DNS para dirigir de forma rápida y eficaz las solicitudes DNS entrantes en función del método de enrutamiento que prefiera.
Flujo de trabajo
Los alumnos acceden a los datos de la aplicación Moodle a través de una puerta de enlace de App de Azure lication, donde pueden usar conjuntos de escalado de máquinas virtuales para crear una plataforma de proceso escalable que ejecuta la aplicación Moodle para hospedar usuarios. Azure NetApp Files proporciona los datos de contenido a la aplicación Moodle. Use una caché de Redis para el almacenamiento en caché, el bloqueo y el reconocimiento de claves de la sesión de usuario. Almacene el contenido de aprendizaje, el progreso de los alumnos y los datos internos en una base de datos MySQL.
Inserte contenido de aprendizaje a través de una puerta de enlace de VPN segura directamente desde el centro de datos del cliente.
Los alumnos acceden al contenido a través de la aplicación que se implementa en virtual Machine Scale Sets a través de una puerta de enlace de aplicaciones segura.
Puede escalar o reducir verticalmente la solución en función de la demanda agregando o quitando máquinas virtuales (VM) en el conjunto de escalado y ajustando el nivel de servicio de volumen de Azure NetApp Files.
Componentes
Moodle es uno de los sistemas de administración de aprendizaje de código abierto más populares y ampliamente adoptados.
Azure Database for MySQL es un servicio de base de datos relacional con tecnología de mySQL Community Edition. Puede usar Azure Database for MySQL: servidor flexible para hospedar una base de datos de MySQL en Azure.
Azure Cache for Redis es un agente de mensajería y caché de datos seguro que proporciona acceso de alto rendimiento y baja latencia a los datos para las aplicaciones.
Use Conjuntos de escalado de máquinas virtuales de Azure para crear y administrar un grupo de máquinas virtuales con equilibrio de carga. Puede aumentar o disminuir automáticamente el número de instancias de máquina virtual en respuesta a la demanda o una programación definida.
Azure NetApp Files es un servicio de Azure que puede usar para migrar y ejecutar las cargas de trabajo de archivos empresariales más exigentes en la nube, como los recursos compartidos de archivos SMBv3, NFSv3 y NFSv4.1 nativos, bases de datos, almacenes de datos y aplicaciones informáticas de alto rendimiento.
Alternativas
Puede implementar el servicio Moodle mediante cualquier servicio de archivos compartido basado en NFS que cumpla sus requisitos para las operaciones de baja latencia, entrada o salida elevadas por segundo y rendimiento, especialmente para un mayor número de usuarios simultáneos. Puede usar un servicio NFS basado en un conjunto de máquinas virtuales Linux, pero esta configuración puede provocar problemas de administración, escalabilidad y rendimiento. Azure NetApp Files proporciona la latencia más baja, el mejor rendimiento y escalabilidad, y el acceso seguro al almacenamiento compartido NFS.
Implementaciones alternativas mediante Azure NetApp Files
En este diagrama se captura un ejemplo de una implementación de una sola región:
Esta configuración de una sola región proporciona acceso de alta disponibilidad a la aplicación Moodle y a otros componentes de la configuración.
Detalles del escenario
Esta solución se aplica a las implementaciones de Moodle. Las organizaciones que usan Moodle abarcan sectores como educación, negocio, TI y finanzas.
En este artículo se describe una solución que satisface las necesidades de Moodle. En el núcleo de la solución se encuentra Azure NetApp Files, que es un servicio de almacenamiento de Azure. Puede usar este servicio para migrar y ejecutar las cargas de trabajo de archivos a escala empresarial más exigentes en la nube:
- Recursos compartidos de archivos Native Server Message Block (SMB) versión 3, NFSv3 y NFSv4.1
- Cargas de trabajo de base de datos
- Cargas de trabajo de almacenamiento de datos
- Aplicaciones informáticas de alto rendimiento
Consideraciones
Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.
Confiabilidad
La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para obtener más información, consulte Lista de comprobación de revisión de diseño para confiabilidad.
Azure NetApp Files se basa en un conjunto de equipos sin sistema operativo de hardware redundante y de estado sólido. El servicio funciona sin interrupción, incluso durante las operaciones de mantenimiento. Para obtener más información sobre la resistencia, consulte Fault Tolerance, High Availability, and Resiliency in Azure NetApp Files (Tolerancia a errores, alta disponibilidad y resistencia en Azure NetApp Files).
Azure NetApp Files proporciona alta disponibilidad para los datos almacenados. Consulte Acuerdo de Nivel de Servicio para Azure NetApp Files para conocer la garantía de disponibilidad de Azure NetApp Files.
Seguridad
La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para obtener más información, consulte Lista de comprobación de revisión de diseño para seguridad.
Para todas las opciones de implementación, debe proporcionar un par de claves públicas y privadas RSA válidas del protocolo Secure Shell 2 (SSH-2). La longitud debe ser de al menos 2048 bits. Azure no admite otros formatos de clave como ED25519 y ECDSA. Azure NetApp Files admite claves administradas por el cliente y administradas por la plataforma. Estas soluciones proporcionan acceso sin restricciones a los datos almacenados, cumplen los requisitos de cumplimiento y mejoran la seguridad de los datos. Para más información y procedimientos recomendados sobre la seguridad de Azure NetApp Files, consulte Preguntas más frecuentes sobre seguridad para Azure NetApp Files.
Optimización de costos
La optimización de costes trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costes.
Para una implementación de Moodle de tamaño mediano a grande de aproximadamente 5000 usuarios con una relación de simultaneidad del 10 %, el rendimiento recomendado es de aproximadamente 500 MB/s. Esta implementación se puede crear en una infraestructura de máquina virtual de Standard_D32s_v4 basada en Linux que usa 8 TB de un disco administrado P60.
Azure NetApp Files proporciona una solución más rentable que usa 4 TiB de capacidad de nivel de servicio Ultra. Para aplicaciones a mayor escala que requieren más capacidad de Azure NetApp Files, los niveles de servicio Premium y Estándar proporcionan un rendimiento suficiente. Use el nivel de servicio Premium o Estándar para mejorar la rentabilidad.
Use la calculadora de precios de Azure para calcular los costos de los recursos de Azure para sus requisitos específicos. Para más información, consulte Modelo de costo de Azure NetApp Files.
Para obtener una calculadora que calcule el rendimiento de Azure NetApp Files y el costo total de propiedad (TCO), consulte Calculadora de rendimiento de Azure NetApp Files. Use esta calculadora para encontrar el equilibrio óptimo entre capacidad, rendimiento y costo.
Excelencia operativa
La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para obtener más información, consulte la Lista de comprobación de revisión de diseño para la excelencia operativa.
Eficiencia del rendimiento
La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.
Puede escalar o reducir verticalmente esta solución según sea necesario:
Virtual Machine Scale Sets proporciona escalado automático de recursos. Para más información, consulte Overview of autoscale with Azure Virtual Machine Scale Sets (Introducción al escalado automático con conjuntos de escalado de máquinas virtuales).
Puede escalar de forma sencilla y nointrusiva los grupos de capacidad y volúmenes de Azure NetApp Files de forma ascendente y descendente para satisfacer la demanda. Para más información, consulte Cambiar el tamaño de un grupo de capacidad o de un volumen.
Puede ajustar el nivel de servicio de volumen de Azure NetApp Files, que puede ser Estándar, Premium o Ultra. El nivel que elija afecta al límite de rendimiento de los volúmenes con calidad de servicio automática. Para más información, consulte Consideraciones sobre el rendimiento de Azure NetApp Files.
Implementación de este escenario
Para obtener una guía de implementación de Moodle en Azure NetApp Files, consulte Azure NetApp Files para el almacenamiento NFS con Moodle.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Arnt de Gier | Ingeniero técnico de marketing
Pasos siguientes
- Opción de Moodle Cloud
- Instrucciones de Azure Moodle en GitHub
- Documentación de Moodle: Almacén de caché de Redis
- Azure NetApp Files para almacenamiento NFS con Moodle
- Arquitecturas de las soluciones con Azure NetApp Files
- Escalado automático con el modo de orquestación flexible de virtual Machine Scale Sets