你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure NetApp 文件部署 Moodle

Azure 应用程序网关
用于 Redis 的 Azure 缓存
Azure Database for MySQL
Azure NetApp 文件
Azure 虚拟机规模集

在单个区域,该解决方案提供对 Moodle 应用和其他组件的高可用性访问。 有关可用性的详细信息,请参阅本文后面的可用性。 还可以使用两个区域来实现该解决方案。 使用两个区域,该解决方案可提供灾难恢复。 若要防范不太可能的 Azure 区域故障,需要将数据卷复制到第二个区域。 只有 Azure NetApp 文件卷才需要存在于该区域中。

Apache® 是 Apache Software Foundation 在美国和/或其他国家/地区的注册商标或商标。 使用此标记并不暗示获得 Apache Software Foundation 的认可。

体系结构

单区域高可用设置

显示学生如何访问 Moodle 的体系结构图。其他组件包括 Azure NetApp 文件、Azure Cache for Redis 和 Azure Database for MySQL。

下载此体系结构的 PowerPoint 文件

  1. 学生通过 Azure 应用程序网关访问 Moodle 应用程序数据。
  2. Moodle 是通过 PHP 编写的。 Moodle 在 Web 服务器(如 Apache HTTP 服务器或 NGINX)上的虚拟机规模集中运行。
  3. Azure NetApp 文件使内容数据可供 Moodle 使用。
  4. 该解决方案使用 Azure Cache for Redis 进行用户会话缓存、锁定和密钥感知。
  5. Azure Database for MySQL 数据库存储学习内容、学生进度数据和内部数据。
  6. 学习内容通过安全虚拟专用网 (VPN) 网关直接从客户数据中心进入系统。

双区域灾难恢复设置

显示学生如何访问双区域 Moodle,以及跨区域复制如何将数据卷从一个区域复制到另一个区域的体系结构图。

下载此体系结构的 PowerPoint 文件

  1. 跨区域复制提供 Azure NetApp 文件卷的复制。 此基于存储的复制引擎内置于 Azure NetApp 文件中。
  2. 使用跨区域复制时,无需在正常操作期间打开某些组件。 因此,这些组件不会产生任何费用。 发生故障转移时,可以启动这些组件,并将其与复制的数据卷一起使用。
  3. 恢复主要区域后,复制方向将反转。 主要区域将使用在故障转移期间应用的任何更改进行更新。 然后,可以故障回复服务。
  4. Azure 流量管理器将用户定向到当前处于活动状态的区域。

组件

  • Moodle 是一个免费的开源学习管理系统。

  • Azure Database for MySQL 是一种完全托管的关系数据库服务,它基于社区版开源 MySQL 数据库引擎。

  • Azure Cache for Redis 是一种基于开源软件 Redis 的完全托管内存中数据存储。

  • Azure 虚拟机规模集提供了一种用于管理一组负载均衡的虚拟机 (VM) 的方法。 集中的 VM 数根据需求或定义的计划自动增加或减少。

  • 借助 Azure NetApp 文件,无需更改代码即可轻松迁移和运行基于文件的应用程序。 这项共享文件存储服务由 Microsoft 与 Microsoft 合作伙伴 NetApp 联合开发。

  • 跨区域复制提供了一种方法,用于将数据从一个区域中的 Azure NetApp 文件卷异步复制到另一个区域中的另一个 Azure NetApp 文件卷。 此功能可在发生区域范围的中断或灾难期间提供数据保护。

  • Azure 应用程序网关是一种负载均衡器,可用于管理发往 Web 应用程序的流量。

  • 流量管理器是一种负载均衡器,可跨全局 Azure 区域向应用程序分发流量。 流量管理器还提供具有高可用性和快速响应能力的公共终结点。

备选方法

若要部署 Moodle,可以使用满足低延迟、高 IOPS 和高吞吐量要求的任何基于 NFS 的共享文件服务。 对大量并发用户而言,这些条件尤其重要。 可以使用基于一组 Linux VM 构建的 NFS 服务。 但此方法会带来可管理性、可伸缩性和性能方面的挑战。 相比之下,Azure NetApp 文件提供了一种具有竞争力的低延迟解决方案,该解决方案可提供出色的性能和对 NFS 共享存储的安全访问。

方案详细信息

Moodle 是最受欢迎和被广泛采用的免费开源学习管理系统之一。 Moodle 拥有超过 30% 的全球市场份额,全球客户超过 180,000。 通过为工作负载提供高带宽、低延迟解决方案,Azure NetApp 文件满足 Moodle 的性能要求。 该解决方案还十分灵活。 部署可以按需扩展或收缩,从而使配置经济高效。

自 COVID-19 出现以来,Moodle 的客户增长出现了大幅提速。 该公司现在是学习管理系统的市场领导者。 这种增长迫使 Moodle 探索快速扩展其业务,使客户能够快速高效地在云中部署 Moodle 实例的选项。 Moodle 体系结构依赖于网络文件系统 (NFS) 3.0 协议 (NFSv3) 进行内容存储。

Moodle 致力于满足居家工作者的需求,并提供尽可能最佳的用户体验。 因此,Moodle 需要:

  • 对共享存储的一致高吞吐量、低延迟访问。
  • 一种纵向扩展解决方案以适应越来越多的并发用户的方法。 客户更喜欢自动缩放配置。

本文概述了一种满足 Moodle 的需求的解决方案。 该解决方案的核心是 Azure NetApp 文件,它是一种第一方存储服务。 可以使用此服务在云中迁移和运行要求最高的企业级文件工作负载:

  • 本机服务器消息块 (SMB) 版本 3、NFSv3 和 NFSv4.1 文件共享
  • 数据库工作负载
  • 数据仓库工作负载
  • 高性能计算应用程序

可能的用例

该解决方案适用于 Moodle 部署。 使用 Moodle 的组织涉及到许多行业,包括教育、商业、IT 和金融。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负载质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

实现此解决方案时,请记住以下几点。

可伸缩性

此解决方案可根据需要纵向扩展或缩减:

  • 虚拟机规模集提供了自动缩放资源的功能。 有关详细信息,请参阅 Azure 虚拟机规模集的自动缩放概述
  • 可以轻松且无干扰地纵向扩展和缩减 Azure NetApp 文件容量池和卷以满足需求。 有关详细信息,请参阅调整容量池或卷的大小
  • 可以调整 Azure NetApp 文件卷服务级别,该级别可以是“标准”、“高级”或“超高性能”。 选择的级别将会影响具有自动服务质量 (QoS) 的卷的吞吐量限制。 有关详细信息,请参阅 Azure NetApp 文件的性能注意事项

可用性

有关 Azure NetApp 文件的可用性保证,请参阅 Azure NetApp 文件的 SLA

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述

对于所有部署选项,需要提供有效的安全外壳 (SSH) 协议 2 (SSH-2) RSA 公钥-私钥对。 长度应至少为 2048 位。 Azure 不支持 ED25519 和 ECDSA 等其他密钥格式。 有关 Azure NetApp 文件安全性的信息,请参阅 Azure NetApp 文件的安全性 FAQ

复原

Azure NetApp 文件构建在由冗余固态硬件组成的裸机群上。 即使是在维护操作期间,服务也不会中断运行。 有关复原能力的详细信息,请参阅 Azure NetApp 文件中的容错、高可用性和复原能力

灾难恢复

如本文前面的体系结构部分所述,可以使解决方案具有更强的复原能力。 可以通过添加次要区域和使用 Azure NetApp 文件跨区域复制来提供灾难恢复。 此功能可有效地将 NFS 卷复制到次要被动区域。 在不太可能发生的完全区域故障事件期间,应用程序将在该次要区域中运行。

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述

请考虑大约 5,000 名用户、并发率为 10% 的中型到大型 Moodle 部署。 对于此情况,建议的吞吐量约为 500 MBps。 可以在使用 8 TB P60 托管磁盘的基于 Linux 的 Standard_D32s_v4 VM 上构建此类系统。

Azure NetApp 文件提供了一种更具成本效益的解决方案。 它实现了建议的 500 MBps 吞吐量,但只使用了 4 TB 的超高性能服务级别容量。 高级和标准服务级别通常也足够,进一步提高了成本效益。 即使应用程序的规模更大,并且应用程序需要更多的 Azure NetApp 文件容量,这些服务级别也可能提供建议的吞吐量。

使用 Azure 定价计算器估算实现所需的 Azure 资源的成本。 有关 Azure NetApp 文件成本建模的详细信息,请参阅 Azure NetApp 文件的成本模型

有关计算 Azure NetApp 文件性能和总拥有成本 (TCO) 的计算器,请参阅 Azure NetApp 文件性能计算器。 使用此计算器可在容量、性能和成本之间找到最佳平衡。

部署此方案

有关 Azure NetApp 文件上的 Moodle 部署指南,请参阅使用 NFS 的 Azure NetApp 文件实现 Moodle 存储

作者

本文由 Microsoft 维护, 最初由以下贡献者撰写。

主要作者:

后续步骤

产品文档: