Как работает крупнейшая российская онлайн-школа и библиотека видеоуроков в облаке

О чем эта история

Крупнейшая российская общеобразовательная онлайн-школа и библиотека видеоуроков по школьной программе ИнтернетУрок осуществляет обучение через собственную платформу. Для поддержания работы высоконагруженных сервисов компания использовала разные облачные платформы по всему миру и арендовала собственные стойки в ЦОДах.

Перенос данных и сервисов в единое облако Yandex Cloud в разы повысил скорость, стабильность и реакцию на инциденты.

Задача компании

ИнтернетУрок — это крупнейшая российская общеобразовательная онлайн-школа и библиотека видеоуроков по школьной программе. Обучение более 18000 детей из России и 100 стран мира осуществляется полностью в онлайн-режиме через собственную платформу. Кроме того, у сайта библиотеки более 3,5 миллионов пользователей ежемесячно. На платформе размещены 5000 видеоуроков, 4300 конспектов, 6300 тестов и 8200 тренажеров. Таким образом, ИнтернетУрок предоставляет полную экосистему для дистанционного обучения.

Полноэкранное изображение

Чтобы поддерживать работу высоконагруженных сервисов, компания долгое время использовала разные облачные платформы по всему миру и арендовала собственные стойки в ЦОДах. В 2019 году было решено начать рефакторинг сервисов и переезд в единое облако. Для этого нужно было найти надежного партнера в России, который подходил бы по всем требованиям, и перенести все мощности на его инфраструктуру.

Как выбрать облако в России

Учитывая такие особенности работы онлайн-школы, как большое количество чувствительных персональных данных учеников, а также необходимость поддерживать работу сервисов даже при высокой нагрузке, будущая облачная платформа должна была соответствовать ряду критериев:

  1. Высокий уровень безопасности и соблюдение российского законодательства о персональных данных.
  2. Наличие необходимых облачных сервисов и подходящая дорожная карта их развития.
  3. SLA на облачные сервисы и оперативная поддержка.
  4. Прозрачное ценообразование.

IT-команда компании провела тестирование облачных провайдеров в России и остановилась на Yandex Cloud, так как облачная платформа Яндекса соответствовала этим критериям и активно развивала управляемые сервисы. Кроме того, платформа прошла сертификацию на соответствие требованиям безопасности информации и персональных данных, подтвердила выполнение всех требований ФЗ-152, Постановления Правительства № 1119 и Приказа ФСТЭК № 21.

Миграция в Yandex Cloud двумя командами

Партнёры, которые могут помочь

Перенос инфраструктуры на сервисы Yandex Cloud начался в 2020 году. Данные с собственных и арендованных серверов переехали в хранилища и управляемые СУБД на облачной платформе. Но, так как основная платформа ИнтернетУрок написана на Ruby в 2012–2013 годах и часть библиотек уже не общедоступна, при миграции из AWS необходимо было сделать рефакторинг кода. Было решено разделить переезд на два параллельных процесса, в которых участвуют несколько команд:

  • Команды развития — занимаются созданием всех новых сервисов, которые сразу же базируются в Yandex Cloud, вся новая разработка написана на стеке PHP/React.
  • Команда поддержки — занимается обновлением, оптимизацией и рефакторингом кода на Ruby, чтобы полностью переехать на облачную платформу Яндекса.

На данный момент в облаке используются следующие сервисы:

  • Yandex Compute Cloud — на виртуальных машинах развернуты основные сервисы онлайн‑школы. Каждый сервис находится в кластере, который базируется на трех нодах в разных зонах, что обеспечивает стабильность и отказоустойчивую работу.
  • Yandex Managed Service for PostgreSQL — почти все продукты онлайн‑школы построены на реляционной БД PostgreSQL, сервера также кластеризируются на трех нодах.
  • Yandex Managed Service for ClickHouse — для чат-ботов и аналитики. В ClickHouse собирается вся BigData компании.
  • Yandex Managed service for Elasticsearch* — используется для быстрого поиска по данным учеников.
  • Yandex Managed Service for Redis — для чат-ботов и рекомендательной системы. В Redis хранятся быстрые данные, а также весь кэш приложений.
  • Yandex Managed Service for Apache Kafka® — используется как брокер сообщений для передачи данных в ClickHouse. Apache Kafka может быстро собирать в себе сообщения в реальном времени со всех продуктов интернет-школы для дальнейшей агрегации и передачи их в BigData‑хранилище.
  • Yandex Object Storage — все файлы хранятся в S3-хранилище, что обеспечивает к ним быстрый доступ и гибкое масштабирование сервисов.
  • Yandex Network Load Balancer — балансировка внутри кластеров.

Также в разных продуктах используются Yandex Virtual Private Cloud, Yandex Container Registry, Yandex Certificate Manager и Yandex Cloud DNS. На данный момент компания начала внедрение сервиса для визуализации и анализа данных в Yandex DataLens для отслеживания и анализа внештатных ситуаций на серверах. Параллельно команды начали работу и над новой платформой онлайн-школы, которая разрабатывается целиком в Yandex Cloud.

* Компания Elastic ограничила доступ к сервису Elasticsearch для пользователей Yandex Cloud с апреля 2024 года. В связи с этим Yandex Managed service for Elasticsearch стал недоступен на платформе. Мы рекомендуем использовать Yandex Managed service for OpenSearch, который сопоставим по функциональности с Elasticsearch. Чтобы легко перенести данные в сервис Yandex Managed Service for OpenSearch, воспользуйтесь нашей инструкцией.

Стабильность и новые возможности

Перенос данных и сервисов в единое облако Yandex Cloud продолжается, но уже в разы повысилась скорость, стабильность и реакция на инциденты. Ресурсы онлайн-школы, расположенные на Amazon, открывались за 400 мс, в то время как на Yandex Cloud — всего за 130 мс. Кроме того, компания нашла новые возможности в сервисах Yandex Cloud. В частности, школа обратила внимание на сервис машинного обучения Yandex DataSphere, есть планы внедрить в чат-бот Yandex SpeechKit. Компания активно использует Yandex Managed Service for ClickHouse, на базе которого строится аналитика и готовятся к запуску рекомендательные сервисы.

В ближайшие планы компании входит следующее развитие платформы:

  • Внедрить в Библиотеку уроков рекомендательную нейросеть, которая будет подбирать материалы, исходя из персональной статистики пользователя и больших данных.
  • Запустить чат-бот для ответов на часто задаваемые вопросы пользователей, а также ответы по глоссарию (с поиском определения), классифицировать обращения в техподдержку.
  • Повысить удобство пользовательского интерфейса Интерактивной системы зачисления (это система для документооборота между учениками и школой) и начать постепенную переработку всего интерфейса Домашней школы.
  • Запустить проект геймификации и доски достижений, которые помогут ученикам быстрее адаптироваться и концентрироваться на самом важном.

Мнение

Yandex Cloud по нашему мнению является лучшим российским облачным сервисом по ряду факторов. От безопасности персональных данных до цены и реализации сервисов. При миграции нам очень помогала техподдержка, инженеры из Яндекса были очень вовлечены в процесс. Мы даже выступали бета-тестерами новых сервисов. В планах переехать полностью в облако и развивать разные ML-сервисы.
Сергей Лысенко,
Руководитель отдела Информационных Технологий, ИнтернетУрок

Решим вашу IT-задачу

Мы оперативно расскажем вам о возможностях Yandex Cloud для вашего бизнеса или подберем партнёра, который полностью реализует ваш IT-проект.
Войдите, чтобы сохранить пост