АНАЛИЗ МИКРОСЕРВИСНОЙ АРХИТЕКТУРЫ В СРЕДЕ E-LEARNING С МНОГОВАРИАНТНЫМ ДОСТУПОМ К УЧЕБНЫМ МАТЕРИАЛАМ
АНАЛИЗ МИКРОСЕРВИСНОЙ АРХИТЕКТУРЫ В СРЕДЕ E-LEARNING С МНОГОВАРИАНТНЫМ ДОСТУПОМ К УЧЕБНЫМ МАТЕРИАЛАМ
Аннотация
В статье рассматривается применение микросервисов для реализации доступа к образовательным данным в системе управления процессом обучения. Одной из наиболее проблемных областей при разработке высоконагруженных онлайн-систем является координация всех микросервисов в единой системе и распределение нагрузки на аппаратные ресурсы при критических показателях загрузки системы.
В ходе исследования при переходе от монолитной архитектуры LMS-системы «Moodle» к микросервисной архитектуре отслеживались основные показатели серверного оборудования и среднее время отклика на запросы пользователей. Предлагаемый способ реализации системы позволяет значительно снизить требования к оборудованию и сократить время отклика системы в условиях высокой нагрузки (от 500 уникальных пользователей в единицу времени).
Полученные результаты апробации метода позволяют считать его эффективным инструментом для разработки систем онлайн-обучения с многовариантным доступом к учебным материалам.
Предложенный способ реализации системы позволяет существенно снизить требования к оборудованию и сократить время отклика системы в условиях высокой нагрузки. Представленная архитектура, позволяет значительно улучшить функциональность, гибкость и масштабируемость системы, особенно в части сервис-ориентированных модулей.
1. Введение
Стремительный рост спроса на онлайн обучение дал импульс развитию LMS-системам. Этот рост стал ощутим с переходом на дистанционное обучение . Опыт работы с готовыми решениями показал в большинстве случаев невозможность их использования, когда к системе могут получить доступ сразу сотни тысяч пользователей. В большинстве случаев проблемы масштабирования с таких систем решаются путем экспоненциального увеличения мощности оборудования. Это связано с тем, что LMS-системы построены на монолитной архитектуре, поэтому такие решения лишь откладывают проблемы в образовательной информационной системе на короткое время.
Традиционные подходы к развитию образовательных ресурсов очень часто ограничиваются монолитной архитектурой, которая уменьшает возможность к адаптивности и препятствует масштабируемости. Появление микросервисной архитектуры (МСА), основанной на принципах сервис-ориентированной архитектуры, позволяет расширить возможности в этой области. Разбивая сложные системы на более простые автономные сервисы, МСА обеспечивает более гибкий и модульный процесс разработки.
Разработка программного обеспечения (ПО) для автоматизации обучения становится все более преобладающим фактором оптимизации различных аспектов учебного процесса. Автоматизированное ПО позволяет преподавателям и студентам получать доступ к образовательным материалам в любое время и с любого устройства, что делает процесс обучения индивидуальным и гибким.
Наблюдается тенденция активного и повсеместного применения технологий контейнеризации микросервисов в образовании. Сегодня контейнеризация является одним из самых популярных способов для упаковки и развертывания приложений . По мнению специалистов , , , использование технологии микросервисной архитектуры упаковки образовательных сервисов в настоящее время – это ключевой фактор повышения качества предоставляемых образовательных ресурсов в LMS-системе.
Технология контейнеризации является одним из ключевых трендов в области информационных технологий. Эта технология позволяет организовать и управлять ресурсами в виде изолированных контейнеров, что обеспечивает масштабируемость и безопасность. Интеграция микросервисной архитектуры на основе контейнеризации может значительно улучшить функциональность LMS-системы «Moodle», особенно в части сервиса для управления образовательными материалами и сервиса оценки знаний обучающихся.
2. Методы и принципы исследования
Цель:реализации доступа к образовательным данным в системе управления процессом обучения с многовариантным доступом к данным для повышения эффективности организации образовательного процесса в LMS-системе «Moodle».
Задачи проекта:
1. Оценка существующей архитектуры LMS-системы «Moodle».
2. Разработка концепции микросервисной архитектуры, которая учитывает многовариантный доступ к образовательному контенту, включающий использование больших массивов структурированных, полуструктурированных и неструктурированных данных.
3. Определение настроек балансировки нагрузки в МСА реализации LMS-системы «Moodle».
Методы исследования: обзор литературы в области информатизации образования и применения технических средств в педагогическом процессе; анализ построения LMS-систем через возможные варианты организации очного или дистанционного обучения и их специфику в результате использования технологий контейнеризации и протоколов обмена данными между микросервисами; изучение и анализ педагогического опыта использования средств цифровизации образования; анализ существующих кейсов образовательных учреждений, которые используют микросервисы в LMS-системах; опросы компаний, предоставляющих ПО корпоративного уровня, о применении технологий контейнеризации и протоколов обмена данными между микросервисами в учебном процессе; анализ эффективности, масштабируемости микросервисов, реализованных в LMS-системах; обобщение полученных в результате анализа данных в виде концепции микросервисной архитектуры в системе управления процессом обучения; анализ метрик серверного оборудования для определения основных технических показателей при переходе от монолитной архитектуры к МСА.
3. Основные результаты
Вопросы внедрения технологии контейнеризации и протоколов обмена данными между микросервисами в систему образования напрямую связаны с повышения эффективности, гибкости и масштабируемости образовательных систем и процессов. Микросервисная архитектура, широко применяемая в разработке программного обеспечения, предоставляет эффективные инструменты для организации учебного процесса.
Проведенный анализ зарубежных и отечественных научных и научно-педагогических публикаций выявил существенное влияние данных технологий на подготовку ИТ-специалистов и формирование у него профессиональных компетенций, с помощью которых они смогут успешно решать практико-ориентированные задачи, возникающие на всех этапах жизненного цикла хранения, анализа и обработки данных, программных средств бизнес-аналитики.
Технология контейнеризации подразумевает, что каждый сервис может быть развернут и масштабирован независимо от других. Изоляция сервисов позволяет избежать «единой точки отказа» и уменьшить влияние отказов на другие компоненты системы. Микросервисы могут взаимодействовать между собой через API. Это позволяет разработчикам использовать различные технологии и языки программирования для каждого сервиса.
В настоящее время учебные курсы, включающиеаналитику данных, направлены на овладение обучающимися фундаментальных основ обработки данных и основан на четырех содержательно-методических трекерах (рис. 1).
Рисунок 1 - Содержательно-методические линии курс обучения аналитики данных в департаменте информатики, управления и технологий МГПУ
– наличие актуального источника данных, или источника больших данных;
– хранение данных в специализированных СУБД, хранилищах данных, облачных системах;
– извлечение данных по запросу;
– визуализация результатов.
Процесс оценки заданий обучающихся требует интерпретации решения задания за счет оформление решений в специализированных платформах JupyterLab, Hadoop или Spark.
Рисунок 2 - Монолитная архитектура LMS-системы «Moodle»
Рисунок 3 - Микросервисная архитектура LMS-системы «Moodle»
Для реализации микросервисов выделены следующие контейнеризованные серверы:
– сервер реляционной базы данных (RDB);
– сервер хранилища больших данных (BigData);
– сервер хранилища неструктурированных данных (HadoopWH);
– сервер интерактивных отчетов (JupyterHUB).
В результате получены два сервиса:
– сервис для управления образовательными материалами (СУОМ);
Рисунок 4 - МСА хранилища LMS-системы «Moodle»
СОЗО основан на использовании блокнотов платформы JupyterLab, которая является основным инструментов для анализа данных и научных исследований. Платформа предоставляет ряд инструментов и функций, которые упрощают преподавателям создание и совместное использование интерактивных блокнотов, учебных материалов, которые используются в лекциях, онлайн-курсах и самостоятельной работе обучающихся.
Множественный доступ к образовательным материалам предоставляет разнообразные интерфейсы для разных групп пользователей (например, администраторы, преподаватели, руководители департамента и студенты при использовании микросервисов «RDB», «NORDB», «HadoopWH», «JupyterHUB» получают наборы данных в зависимости от их уровня доступа).
Каждый из микросервисов располагается на отдельном контейнезированном виртуальном сервере, который получает необходимый ресурс в соответствии с общими принципами балансировки нагрузки на систему. Модуль балансировки нагрузки настраивается на уровне ядра сервера каждого сервера-сервиса и предусматривает использование алгоритмов принятия решений на основе состояния системы.
4. Описание аппаратной базы для проведения исследований
Исследование проводилось на выделенном сервере: на базе Intel Xeon Gold 2x 5218 v4, с частотой 2,8 ГГц, возможностью многопоточности – 48 потоков, 32 ядра и 256 ГБ оперативной памяти, 6ТБ жесткий диск SAS,RAID 1+0.
Исследования проводились на однотипных 20 образовательных курсах, связанных с использованием больших массивов данных. Нагрузка осуществлялась с помощью программной системы моделирования, а также снятия метрик из системы мониторинга Zabbix . Сформирована следующая нагрузка: 100, 500, 1000, 10000 пользователей. Основными характеристиками для анализа были: средний процент загрузки ядер ЦП, среднее значение использования оперативной памяти, среднее время ответа сервера, среднее время ответа баз данных для RDB, BigData, HadoopWH.
В табл. 1использованы следующие обозначения:
– CPU – средний процент загрузки ядер ЦП;
– MEM – среднее значение использования оперативной памяти;
– tср– среднее время ответа сервера;
– tсрRDB,tсрBD, tсрHWHсреднее время ответа баз данных соответственно для RDB, BigData, HadoopWH.
Таблица 1 - Средняя производительность сервера
Количество пользователей | 100 | |||||
Параметры | CPU, % | MEM, ГБ | tср, с | tсрRDB, с | tсрBD, с | tсрHWH, с |
Монолит | 4,12 | 2,52 | 0,1212 | 0,0041 | 0,0246 | 0,0546 |
МСА | 6,52 | 4,81 | 0,0961 | 0,0021 | 0,0054 | 0,0032 |
Количество пользователей | 500 | |||||
Монолит | 24,62 | 10,15 | 0,1842 | 0,0571 | 0,1323 | 0,0946 |
МСА | 20,15 | 21,97 | 0,1161 | 0,0096 | 0,0184 | 0,0063 |
Количество пользователей | 1000 | |||||
Монолит | 48,32 | 84,07 | 1,1533 | 0,2813 | 1,0234 | 0,2442 |
МСА | 36,17 | 98,11 | 0,4567 | 0,0144 | 0,0853 | 0,0452 |
Количество пользователей | 10000 | |||||
Монолит | 98,61 | 320,97 | 4,2332 | 2,3421 | 6,0645 | 8,5322 |
МСА | 69,14 | 124,34 | 0,3568 | 0,1123 | 0,8654 | 0,7652 |
При оценке среднего времени доступа к системе, построенной на МСА, используется среднее время доступа ко всем микросервисам без учета «времени простоя» микросервиса в единицу времени.
Результаты исследования показали:
– при нагрузке до 500 пользователей и менее 20 образовательных курсов нет необходимости переходить на МСА;
– при ожидаемой нагрузке более 500 пользователей и использовании более 100 образовательных курсов монолитная архитектура не может обеспечить бесперебойную работу системы. Самой распространенной ошибкой в системе было превышение таймаута ответа при обращении к полуструктурированным данным (сервер BigData) и неструктурированным данным (сервер HadoopWH);
МСА позволяет обрабатывать более 10000 пользователей, за счет возможности использования балансировки нагрузки между микросервисами. Это также связано с распределенной обработкой запросов и кэшированием данных сервисов.
5. Заключение
Исследование подтвердило ожидаемый результат от перехода монолитной архитектуры на МСАв случае многовариантного доступа к онлайн-ресурсам LMS-системы «Moodle», который заключался в целесообразности использования МСА в сильно нагруженных системах. Использование МСА особенно целесообразно в случае многовариантного доступа к онлайн-ресурсам LMS-системы «Moodle», когда происходит распределение пользователей по различным микросервисам, организующих доступ к разнородным хранилищам данных или СУБД.
При разработке системы МСА определены основные свойства микросервисов, которые необходимо предусмотреть для оптимального функционирования работы СУОМ и СОЗО. Небольшой размер микросервисов позволяет справляться с высокой нагрузкой при использовании сервиса. Независимость сервисов увеличивает надежность информационной системы.