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

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

Перенос данных и сервисов в единое облако 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.

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

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

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

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

Мнение

Сергей Лысенко,
Руководитель отдела Информационных Технологий, ИнтернетУрок
Сергей Лысенко,
Руководитель отдела Информационных Технологий, ИнтернетУрок

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