Развертывание Moodle с использованием Azure NetApp Files

Шлюз приложений Azure
Кэш Azure для Redis
База данных Azure для MySQL
Azure NetApp Files
Масштабируемые наборы виртуальных машин Azure

Это решение обеспечивает высокий уровень доступности для приложения Moodle и других компонентов в одном регионе. Подробные сведения о доступности см. в разделе Доступность далее в этой статье. Кроме того, для реализации этого решения можно использовать два региона. В двух регионах решение обеспечивает аварийное восстановление. Чтобы обеспечить защиту от маловероятного сбоя в регионе Azure, тома данных реплицируются во второй регион. В этом регионе должны быть только тома Azure NetApp Files.

Apache® — зарегистрированный товарный знак или товарный знак Apache Software Foundation в США и (или) других странах. Использование этого знака не подразумевает подтверждения от Apache Software Foundation.

Архитектура

Высокодоступная установка в одном регионе

Схема архитектуры, показывающая, как учащиеся получают доступ к Moodle. К другим компонентам относятся Azure NetApp Files, Кэш Azure для Redis и База данных Azure для MySQL.

Скачайте файл PowerPoint этой архитектуры.

  1. Учащиеся получают доступ к данным приложения Moodle через Шлюз приложений Azure.
  2. Система Moodle написана на PHP. Moodle работает в масштабируемом наборе виртуальных машин на веб-сервере, таком как Apache HTTP Server или NGINX.
  3. Azure NetApp Files делает данные содержимого доступными для Moodle.
  4. Решение использует Кэш Azure для Redis для кэширования сеанса пользователя, блокировки и информирования о ключах.
  5. В базе данных База данных Azure для MySQL хранится содержимое обучения, данные о ходе обучения и внутренние данные.
  6. Содержимое для обучения входит в систему через безопасный шлюз виртуальной частной сети (VPN) непосредственно из центра обработки данных клиента.

Настройка аварийного восстановления в двух регионах

Схема архитектуры, показывающая, как учащиеся получают доступ к moodle в двух регионах и как репликация между регионами копирует тома данных из одного региона в другой.

Скачайте файл PowerPoint этой архитектуры.

  1. Функция репликации между регионами обеспечивает репликацию для томов Azure NetApp Files. Эта подсистема репликации на основе хранилища встроена в Azure NetApp Files.
  2. При использовании функции репликации между регионами вам не нужно включать некоторые компоненты во время нормальной работы. Поэтому эти компоненты не влекут за собой никаких затрат. В случае отработки отказа можно запустить эти компоненты и использовать их с реплицируемыми томами данных.
  3. После восстановления основного региона направление репликации изменяется на противоположное. Основной регион обновляется с учетом всех изменений, примененных во время отработки отказа. После этого вы можете восстановить размещение службы.
  4. Диспетчер трафика Azure направляет пользователей в регион, который сейчас активен.

Компоненты

  • Moodle — это бесплатная система управления обучением с открытым кодом.

  • База данных Azure для MySQL — это полностью управляемая служба реляционных баз данных на основе СУБД MySQL с открытым кодом (Community Edition).

  • Кэш Azure для Redis — это полностью управляемое хранилище данных в памяти, основанное на ПО Redis с открытым кодом.

  • Масштабируемые наборы виртуальных машин Azure предоставляют способ управления группой виртуальных машин с балансировкой нагрузки. Число виртуальных машин в наборе автоматически увеличивается или уменьшается в зависимости от спроса или по определенному расписанию.

  • Azure NetApp Files упрощает перенос и запуск файловых приложений без изменений кода. Служба общего хранилища файлов — это совместная разработка от корпорации Майкрософт и ее партнера, компании NetApp.

  • Функция репликации между регионами обеспечивает возможность асинхронной репликации данных из тома Azure NetApp Files в одном регионе в другой том Azure NetApp Files в другом регионе. Эта возможность обеспечивает защиту данных в случае простоя или аварии в пределах региона.

  • Шлюз приложений Azure — это подсистема балансировки нагрузки, которая управляет трафиком в веб-приложения.

  • Диспетчер трафика — это подсистема балансировки нагрузки, которая распределяет трафик между приложениями в глобальных регионах Azure. Диспетчер трафика также предоставляет общедоступные конечные точки с высоким уровнем доступности и быстрым реагированием.

Альтернативные варианты

Для развертывания Moodle можно использовать любую общую службу файлов на основе NFS, которая обеспечивает очень малую задержку, а также высокую скорость операций ввода-вывода в секунду и пропускную способность. Эти условия особенно важны для одновременной работы большого числа пользователей. Вы можете использовать службу NFS, созданную на основе набора виртуальных машин Linux. Но при использовании этого подхода возникают проблемы с управляемостью, масштабируемостью и производительностью. Azure NetApp Files, напротив, предлагает конкурентное решение с малой задержкой, обеспечивающее высокую производительность и безопасный доступ к общему хранилищу NFS.

Сведения о сценарии

Moodle — одна из самых популярных и широко используемых бесплатных систем с открытым кодом для управления обучением. Moodle занимает более 30 % общей доли мирового рынка и имеет более 180 000 клиентов по всему миру. Предоставляя решение с высокой пропускной способностью и малой задержкой для рабочих нагрузок, Azure NetApp Files соответствует требованиям к производительности Moodle. Кроме того, это решение является гибким. Развертывания могут увеличиваться или уменьшаться по запросу, чтобы обеспечить экономичность конфигурации.

В связи с пандемией COVID-19 спрос на продукты Moodle стремительно возрос. Теперь компания является лидером на рынке в отрасли систем управления обучением. Из-за этого роста в Moodle начали изучать варианты быстрого расширения бизнеса и предоставления клиентам возможности оперативного и эффективного развертывания экземпляров Moodle в облаке. В архитектуре Moodle хранение содержимого реализовано на основе протокола NFS версии 3.0 (NFSv3).

Moodle стремится удовлетворить требования пользователей, работающих на дому, и обеспечить лучший из возможных пользовательский интерфейс. Поэтому для Moodle требуется следующее:

  • постоянный доступ с высокой пропускной способностью и малой задержкой к общему хранилищу;
  • способ вертикального увеличения масштаба решения в соответствии с увеличивающимся числом пользователей, которые работают параллельно. Клиенты предпочитают конфигурации автомасштабирования.

В этой статье описано решение, которое соответствует требованиям Moodle. В основе решения лежит Azure NetApp Files, служба хранилища первой стороны. С ее помощью можно переносить и выполнять самые требовательные файловые рабочие нагрузки корпоративного масштаба в облаке:

  • нативные общие папки SMB версии 3, NFSv3 и NFSv4.1;
  • рабочие нагрузки баз данных;
  • рабочие нагрузки хранилища данных;
  • приложения для высокопроизводительных вычислений

Потенциальные варианты использования

Это решение применимо к развертываниям Moodle. Организации, использующие Moodle, охватывают множество отраслей, в том числе сферы образования, бизнеса, ИТ и финансов.

Рекомендации

Эти рекомендации реализуют основные принципы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для повышения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

При реализации этого решения учитывайте следующие моменты:

Масштабируемость

Масштаб этого решения можно вертикально увеличивать или уменьшать по мере необходимости:

доступность;

Сведения о гарантии доступности Azure NetApp Files см. на странице Соглашение об уровне обслуживания для Azure NetApp Files.

Безопасность

Безопасность обеспечивает гарантии от преднамеренных атак и злоупотреблений ценными данными и системами. Дополнительные сведения см. в статье Общие сведения о принципах безопасности.

Для всех вариантов развертывания необходимо предоставить пару действительных открытого и закрытого ключей RSA Secure Shell (SSH), протокол 2 (SSH-2). Длина должна составлять как минимум 2048 бит. Azure не поддерживает другие форматы ключей, например ED25519 и ECDSA. Сведения о безопасности Azure NetApp Files см. в статье Вопросы и ответы, касающиеся безопасности в Azure NetApp Files.

Устойчивость

Служба Azure NetApp Files создана на основе парка надежного оборудования с твердотельными накопителями без операционной системы. Служба работает без прерываний даже во время операций обслуживания. Дополнительные сведения см. в статье Отказоустойчивость, высокая доступность и устойчивость в Azure NetApp Files.

Аварийное восстановление

Как указано в разделе Архитектура ранее в этой статье, вы можете повысить устойчивость решения. Чтобы обеспечить аварийное восстановление, добавьте дополнительный регион и выполните репликацию между регионами Azure NetApp Files. Эта функция эффективно реплицирует тома NFS в дополнительный пассивный регион. В маловероятном случае сбоя всего региона приложение будет работать в этом дополнительном регионе.

Оптимизация затрат

Оптимизация затрат заключается в поиске способов уменьшения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".

Рекомендуем выбрать развертывание Moodle от среднего до большого размера из расчета примерно на 5000 пользователей с коэффициентом параллелизма 10 %. Рекомендуемая пропускная способность для этого случая составляет около 500 Мбит/с. Этот тип системы можно создать на виртуальной машине Standard_D32s_v4 под управлением Linux, которая использует 8 ТБ управляемого диска P60.

Azure NetApp Files предлагает более экономичное решение. Служба достигает рекомендуемой пропускной способности 500 Мбит/с, но использует только 4 ТБ емкости уровня служб "Ультра". Кроме того, часто бывает достаточно уровня служб "Премиум" или "Стандартный", что позволяет еще больше сократить затраты. Даже если масштаб приложения больше и ему требуется больше емкости Azure NetApp Files, эти уровни служб, скорее всего, обеспечат рекомендуемую пропускную способность.

Вы можете оценить затраты на ресурсы Azure, необходимые для своей реализации, с помощью калькулятора цен Azure. Дополнительные сведения см. в статье Модель затрат на Azure NetApp Files.

Если вам нужно определить производительность и совокупную стоимость владения (TCO) Azure NetApp Files см. страницу Калькулятор производительности Azure NetApp Files. Этот калькулятор поможет найти оптимальный баланс между емкостью, производительностью и затратами.

Развертывание этого сценария

Рекомендации по развертыванию для Moodle в Azure NetApp Files см. в статье Azure NetApp Files для хранилища NFS с Moodle.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально она была написана следующими участниками.

Основной автор:

Дальнейшие действия

Документация по продуктам: