О компании
ООО «Цифровое образование» — это образовательная среда, предназначенная для развития талантливых детей и обучения педагогов инновационным технологиям. Проект входит в ИТ-холдинг TalentTech — группу технологических компаний в составе АО «Севергрупп», которая занимается комплексным развитием личности. «Цифровое образование» помогает достигать цели национального проекта «Образование», направленного на обеспечение глобальной конкурентоспособности российской образовательной системы и вхождение Российской Федерации в число ведущих стран по качеству общего образования.
Одно из главных направлений деятельности ООО «Цифровое образование» — проведение онлайн этапов Всероссийской олимпиады школьников, перечневых и региональных олимпиад на собственной цифровой платформе. Платформа позволяет создавать разные типы заданий, устанавливать время, необходимое для их прохождения, формировать отчеты о результатах и анализировать их. Пользователи могут проходить тестирование как с домашнего компьютера, так и с мобильных устройств. Для этого не нужно устанавливать дополнительные программы — достаточно браузера.
Переход Всероссийской олимпиады школьников в онлайн
Осенью 2020 года образовательный центр «Взлет» впервые провел школьный этап Всероссийской олимпиады школьников в Московской области в онлайн-формате — на платформе, разработанной компанией «Цифровое образование».
Олимпиада проводилась для учеников 5-11-х классов по 24 общеобразовательным предметам, а для учеников 4-х классов — только по русскому языку и математике. Принять участие в ней могли все желающие, вне зависимости от успеваемости и без ограничения по количеству предметов.
Во время подготовки к запуску проекта компания приняла стратегическое решение — только облачная инфраструктура, гибкая и удобная с возможность быстро в разы наращивать вычислительные мощности. Кроме того, облачная инфраструктура позволяет платить только за используемые ресурсы, и после снижения нагрузки можно отказаться от лишних мощностей.
Yandex.Cloud — одно из немногих удобных и надежных решений, которое позволяет мгновенно масштабировать инфраструктуру при увеличении или уменьшении нагрузки и обеспечить безопасность большого количества чувствительных данных.
Миграция в Yandex.Cloud
После изучения нескольких предложений для миграции инфраструктуры был выбран облачный провайдер Yandex.Cloud. Для переноса инфраструктуры использовались Docker, Helm, CircleCI, GitHub и другие решения. Весь процесс занял около двух месяцев и проходил в следующем порядке:
- проектирование схемы развертывания,
- создание Docker-файлов для основных сервисов,
- написание Helm чарта для развертывания,
- развертывание кластера Kubernetes с помощью сервиса Yandex Managed Service for Kubernetes®, который позволяет решать проблему масштабирования инфраструктуры, упрощает процесс создания кластеров и их обслуживания,
- развертывание кластера PostgreSQL с помощью сервиса Yandex Managed Service for PostgreSQL, который обеспечивает высокую производительность, быструю обработку запросов и стабильную работу в реальном времени. Он управляет такими данными, как профили пользователей, учетные данные, состояние сессий и индивидуальные пользовательские настройки,
- развертывание кластера Redis для быстрого key-value хранилища очередей фоновых задач, быстрых счетчиков, специальных списков пользователей для определенных действий и глобальных переменных с помощью Yandex Managed Service for Redis™ — сервиса, который организует работу с большими объемами структурированных данных,
- настройка сертификатов для Ingress,
- нагрузочное тестирование,
- встраивание в CI.
Все проблемы, которые появились в связи с миграцией в Yandex.Cloud, удалось очень быстро решить с помощью службы технической поддержки облачной платформы. Например, задержка во время запроса к сайту олимпиады в самом начале могла доходить до 600–800 миллисекунд. Два дня ушло на поиски технического решения, и в результате задержка сократилась до 100 миллисекунд, что не нарушает работу конечного пользователя с сервисом.
Возникала еще одна проблема: на сервисе PostgreSQL неожиданно Master переключался на Slave. Для пользователя это выглядело как появление ошибки на экране вместо запрашиваемой страницы. Исправить ошибку было нелегко, так как это происходило только в 10% случаев. Благодаря службе поддержки вопрос решился в течение двух часов.
Аналитика
Новый формат олимпиады позволил охватить большое количество школьников и дал возможность анализировать показатели как отдельных учеников, так и целых школ или муниципалитетов. Для быстрого построения дашбордов по итогам олимпиады решили использовать облачный сервис визуализации и анализа данных Yandex DataLens. Скорость сбора первичной аналитики и создания отчетов оказалась главным преимуществом сервиса для клиента.
Такие дашборды можно опубликовать и даже встроить на внешних порталах.
Максимальный охват и стабильная работа в моменты пиковых нагрузок
53% школьников Московской области 4-11 классов участвовали в олимпиадных соревнованиях. Более 320 тысяч учащихся записались на 1,6 млн олимпиад и решили 1,2 млн из них. В среднем один ученик принял участие в олимпиаде по 3–4 предметам. Инфраструктура Yandex.Cloud работала стабильно даже в моменты пиковых нагрузок.
Переход на облачную платформу дал компании «Цифровое образование» доступ к лучшим стратегиям для обеспечения безопасности. В соответствии с требованиями федерального законодательства Yandex.Cloud хранит базы персональных данных на территории Российской Федерации. Аттестат соответствия 152-ФЗ гарантирует, что данные в облаке надежно защищены.
Мнение
У нашей платформы плавающая нагрузка: олимпиада начинается — нагрузка резко возрастает, олимпиада заканчивается — нагрузка падает. Даже за 2–3 месяца до старта мы не были уверены в точном количестве ресурсов, которое нам понадобится, а также в том, насколько они будут востребованы в дальнейшем. Yandex.Cloud был выбран как раз с целью легкого масштабирования. Гибкость тарифов стала еще одним аргументом в пользу выбора именно этого провайдера: наши задачи сезонные и нам важно иметь возможность регулировать затраты на инфраструктуру.