наши проекты

Как образовательная платформа в облаке помогает детям-сиротам готовиться к экзаменам

Четыре года назад фонд запустил программу «Шанс» и начал проводить индивидуальные онлайн-уроки с репетиторами для подростков-сирот. О том, как в фонде экспериментировали с облачными решениями, рассказывает Евгений Валуйский, руководитель IT-проектов БФ «Арифметика добра», и Андрей Рапопорт, представитель платформы Abstrix Meeting.

Сегодня делиться знаниями на расстоянии просто как никогда. Четыре года назад благотворительный фонд «Арифметика добра» запустил программу «Шанс» и начал проводить индивидуальные онлайн-уроки с репетиторами для подростков-сирот. Когда в день приходилось проводить до 150 уроков, стало понятно, что «Шансу» нужна собственная платформа в надежном облаке с серверами на территории РФ. О том, как в фонде экспериментировали с облачными решениями и что из этого получилось, рассказывает Евгений Валуйский, руководитель IT-проектов БФ «Арифметика добра», и Андрей Рапопорт, представитель платформы Abstrix Meeting, которая обслуживает IT-задачи проекта «Шанс».

О проекте «Шанс»

Евгений Валуйский:

— Благотворительный фонд «Арифметика добра» занимается системным решением проблемы сиротства в России. Наша задача — помочь детям-сиротам найти семью и стать успешными членами общества. В своей флагманской программе «Шанс» мы помогаем ученикам 9-11-х классов восполнить пробелы в знаниях по школьному курсу. На образовательной платформе репетиторы проводят онлайн-занятия для подростков и готовят их к успешной сдаче аттестационных экзаменов.

Программа «Шанс» в цифрах:

  • 2015 год – старт программы;
  • 29 регионов и 8 часовых поясов;
  • 100+ детских домов;
  • 100+ преподавателей;
  • 1100+ учеников;
  • 88 000+ проведенных уроков.

Как мы стартовали: ручное управление онлайн-уроками и последствия роста

Евгений Валуйский:

— Программа «Шанс» — это не только онлайн-уроки, но и огромная база знаний. Каждый проведенный урок записывается, конвертируется и отправляется в хранилище. Ученики, репетиторы и наши менеджеры в любой момент могут обратиться к сохраненному уроку.

Карточка ученика на платформе «Шанс»

На старте программы занятия на онлайн-платформе выглядели так: менеджеры вручную составляли расписания и отменяли уроки по телефону или e-mail. Точно так же вручную репетиторы делились ссылками на сайты, а сами уроки высылали через платформу Adobe Connect. Это было сложно и неудобно, а когда количество уроков выросло до 150 в день, мы поняли: нужно что-то менять. К тому моменту масштабироваться в прежнем формате было невозможно. Так возникла идея — сделать собственную платформу, которая позволила бы автоматизировать рутинные вещи: составлять расписания, рассылать SMS об отмене и переносе уроков. Это упростило бы жизнь и менеджерам, и нашим подопечным в детских домах. При этом платформа должна работать стабильно, а записи уроков — храниться в надежном месте с возможностью удаленного доступа.

Виртуальная доска на платформе «Шанс»

С технической стороны все было не так однозначно. На нашей будущей платформе мы собирались проводить не менее 200 уроков в день, причем одновременно могли идти до 40 занятий. Но если днем уроков много, то в ночное время (даже с учетом разных часовых поясов) их было очень мало или не было совсем. Так появился первый критерий выбора будущей онлайн-платформы: чтобы на пиковых нагрузках система работала стабильно, но нам не пришлось платить за простой машин в ночное время.

Теперь о том, как появился второй критерий. Каждый урок после конвертации «весит» около 150 МБ, а ежедневно таких уроков проводится до двух сотен. В течение двух месяцев на онлайн-платформе доступна запись любого занятия, затем его архивируют на жесткие диски и отправляют на хранение. Такими темпами очень быстро накапливались терабайты данных, потому нам нужно было разобраться с хранением больших объемов.

Почему не подошли готовые платформы для онлайн-уроков

Евгений Валуйский:

— Мы начали с изучения популярной онлайн-платформы Webinar.ru — на ее программу можно было приобрести лицензию для своего сервера. Но мы посчитали, что мощностей одного такого сервера не хватит для пиковых нагрузок, когда на платформе проводится 40 уроков одновременно. А покупать два, три и больше серверов или брать аналогичные мощности в аренду на постоянной основе было дорого. Плюс к этому нам бы пришлось организовать у себя хранение записей онлайн-занятий. Выходило, что решение на базе Webinar.ru нам не подходило по стоимости и сложности поддержки. Аналогично получилось с TrueConf — это еще одно программное решение для конференц-связи. Строить инфраструктуру с нуля на своей стороне дорого и сложно, учитывая, что нужно решать две приоритетные задачи: коммутацию и хранение.

Почему бы не перенести все в облако?

Андрей Рапопорт:

— Когда мы изучили требования и разочаровались в Webinar.ru и TrueConf, появилась новая идея: использовать облака. В них понравился подход pay-as-you-go, в котором вычислительные мощности сервера оплачиваются поминутно. Когда в 2017 году мы искали подходящую платформу, в России не было облачных провайдеров с таким принципом оплаты ресурсов. На западе популярен Amazon AWS, но его услуги оказались слишком дорогими. В итоге мы начали сотрудничать с DigitalOcean и OVH: арендовали у них вычислительные мощности и хранилище соответственно, а софт выбрали open source — программу Big Blue Button. Это тот же Webinar.ru, только с открытым кодом. Без лицензии его можно инсталлировать на сервер и проводить конференции.

В Big Blue Button подкупил не только открытый код, но и обучающий уклон софта. Здесь есть доска, поддерживаются презентации, рисованные схемы, к программе подключаются видеозвонки, она сама умеет конвертировать видео. Но, как и любую программу, ее приходится запускать раз за разом, для каждого нового урока.

Для этого мы начали под каждый урок запускать отдельную виртуальную машину, а уже на ней программу Big Blue Button. Получалось, что одна виртуальная машина = один урок. Через эту виртуалку проходит весь трафик, она же записывает и конвертирует видеоряд.

Помните нашу проблему с хранением? Ее мы решили с помощью облака — подключили OpenStack у OVH и начали отправлять в хранилище сконвертированные уроки. В первое время все работало стабильно, а потом начали происходить неприятные вещи: API был недоступен, новые виртуальные машины и, соответственно, уроки не запускались. Чтобы подстраховаться, мы обратились к еще одному облачному провайдеру. Идея выглядела так: если один сервис не работает, значит, урок мы будем запускать в другом, резервном. Минус DigitalOcean в том, что он использует собственный API. Потому альтернативного провайдера начали искать уже со стандартным API. Так мы пришли к OpenStack и снова обратились провайдеру OVH, но теперь на его мощностях мы хотели не только хранить архивные уроки, но и запускать виртуальные машины, чтобы проводить занятия. Перебои продолжились, но теперь это было не так критично: в случае чего мы просто запускали виртуальную машину и наши подопечные могли без проблем работать с платформой.

Напомню, все это время мы пользовались хранилищем OVH, так как у него стандартный API. Если захотим мигрировать, не придется переделывать интерфейс платформы и мы сразу переключимся на другое хранилище.

В таком режиме мы работали с DigitalOcean и OVH до 16 апреля 2018 года. А потом начались знаменитые блокировки «Телеграма». Действия Роскомнадзора сильно затронули публичные облака. Каждый раз при запуске новой виртуальной машины мы получали какой-то IP-адрес. Конечно, этим IP уже раньше кто-то пользовался. Роскомнадзор пачками, целыми диапазонами блокировал IP-адреса, которые выдавал DigitalOcean. Мы оказались в ситуации, когда половина запускаемых виртуальных машин оказывалась в блокировке. Попытки запускать эти машины на OVH ни к чему не привели — Роскомнадзор добрался и до них.

Что мы хотели от российского облачного провайдера

Андрей Рапопорт:

— Когда 90% уроков уже не запускались на мощностях DigitalOcean и 30% в резервном облаке OVH, мы начали рассматривать российских облачных вендоров. Тогда мы уже точно понимали, чего хотим от них здесь, в России. Собственно, основных критериев было три.

Решение на OpenStack. Так проще переносить онлайн-платформу к другому провайдеру.

Pay-as-you-go. Мы не хотели переплачивать за неиспользуемые мощности в ночное время.

Серверы на территории РФ. Это поможет выполнять законы РФ и упростит жизнь нашим пользователям, так как чем ближе сервер, тем быстрее он работает.

Весной 2018 года более-менее подходящие под наши запросы условия в России предлагали четыре провайдера: Selectel, «Ростелеком», Mail.ru Cloud Solutions и Huawei. Но мы сразу споткнулись о первый критерий — тогда у Selectel и «Ростелекома» не было OpenStack. А Huawei не подходил из-за расположения серверов и потому, что у него нет оркестрации (ниже расскажу, почему это оказалось важным). Так мы пришли к облаку Mail.ru Cloud Solutions, которое устраивало по всем критериям.

Миграция в облако MCS

Андрей Рапопорт:

— За несколько дней мы смогли подключить в рамках теста облако Mail.ru Cloud Solutions и выяснили одну особенность — MCS запускает виртуальные машины в приватной сети, а наши преподаватели и ученики подключаются к платформе из интернета. У тех же OVH и Amazon AWS все иначе: там запущенные машины по умолчанию получают публичные IP-адреса. MCS позволял добавить публичный интерфейс уже после запуска машины, но этого было недостаточно — приложение, которое мы запускаем, было сложно заставить на лету работать на новом интерфейсе. Нам было необходимо, чтобы виртуальная машина сразу запускалась в нужной конфигурации.

Мы верили, что найдем решение, и подключили к поискам ребят из техподдержки. Через чат в «Телеграме» мы наладили отличную коммуникацию: на все наши вопросы быстро прилетали ответы. Так мы узнали, что можно не просто запускать виртуальную машину, а делать это через оркестрацию — так называемый open stack heat. В MCS оперативно помогли составить шаблон нужного стека: с виртуальной машиной, виртуальным диском и публичным IP-адресом.

Важно, что даже на время тестирования и настройки мы не прерывали занятия с репетиторами для наших подопечных. Мы до сих пор в редких случаях используем OVH и до сих пор сталкиваемся на ней с тем, что каждый девятый-десятый IP-адрес (и, соответственно, онлайн-урок) оказывается заблокированным.

Благодаря облачным провайдерам (в том числе и MCS) мы избавили себя от капитальных затрат на поддержку и администрирование серверов. Намного удобнее работать с OpenStack и стандартным API, поминутно платить только за те ресурсы, которые мы реально потребляем, работать без простоев и переплат. Сэкономленные таким образом средства используем для наших благополучателей.

Планы на будущее

Евгений Валуйский:

— Облака не совсем стабильны, когда речь идет о запуске виртуальных машин. Единичные отказы случаются еженедельно, и это главный минус сотрудничества с облачными провайдерами. Чтобы избежать простоев в работе, мы используем взаимозаменяемые площадки. В идеале это два, а лучше три разных провайдера, которые, подменяя друг друга в критичных ситуациях, обеспечивают необходимый уровень надежности. С уже запущенными машинами проблемы возникают намного реже.

Сейчас мы занимаемся поисками еще одного — резервного — облачного провайдера в России. Также в планах перенести систему хранения к MCS, но останавливает сложность миграции — все-таки OVH и MCS используют разные API. Это не очень удобно, но при желании это можно реализовать и интегрировать амазоновский интерфейс. Останавливает то, что это лишняя работа, которая не входила в наши планы.

Что есть у западных провайдеров, но пока нет в России, так это DNS-сервис. Он создает под каждую виртуальную машину временный домен, и сейчас нам нравится работать именно с западным сервисом, так как у него удобный API. Если и его IP-адреса заблокируют, будем в срочном порядке искать альтернативу здесь.

О дружбе с MCS

Евгений Валуйский:

— Фонд давно сотрудничает с одним из проектов Mail.ru Group — с сервисом для благотворительности Добро Mail.ru. А в 2018 году Mail.ru Group запустила проект «Облако для благотворительных фондов», в рамках которого НКО, которые прошли проверку Добра, получают бесплатную IT-инфраструктуру в облаке. Наш благотворительный фонд тоже зарегистрирован в этом проекте, и MCS выделили под программу «Шанс» пул IP-адресов (даже с избытком, чтобы точно покрыть наши потребности). Теперь в режиме встроенной оркестрации мы можем использовать до 140 IP-адресов для запуска онлайн-занятий. Еще мы перенесли на площадки Mail.ru Cloud Solutions основной сайт фонда www.a-dobra.ru и получили квоту в облачном хранилище. Теперь обучающие материалы генерируются на нашей образовательной платформе: библиотека, домашние задания и все файлы, закачанные преподавателями и учащимися. Там же мы организовали чат с поддержкой отправки файлов, где ученики общаются друг с другом, репетиторами и менеджерами программы «Шанс». В ближайшем будущем планируем перенести портал «Шанс» в облако MCS — сейчас мы к этому только присматриваемся.

Что мы поняли, создавая IT-инфраструктуру для поддержки программы «Шанс»:

  • Для использования готовых онлайн-платформ нужны свои или арендованные мощности, а это дорого и сложно в поддержке.
  • Благотворительная организация может сэкономить, выбрав провайдера с оплатой по схеме pay-as-you-go (только за потребляемые ресурсы) и подходящий open source софт.
  • Западные облачные платформы работают нестабильно, так как Роскомнадзор блокирует IP-адреса целыми пулами. У российских провайдеров этой проблемы нет.
  • Для миграции к другому провайдеру важна совместимость API – тогда переезд будет быстрым и безболезненным.
  • Наличие инструментов оркестрации позволяет создавать специализированную конфигурацию инфраструктуры, что может быть важно для некоторых приложений.
продукты
Tarantool Data Grid
Tarantool Data
Grid
Mail.ru Private Cloud Enterprise
Mail.ru Private
Cloud Enterprise
IoT Platform
IoT Platform
Цифровой ассистент
Цифровой
ассистент
Digital Insider
Digital Insider
Налоговый мониторинг
Налоговый
мониторинг
Process Mirror
Process Mirror
Коммуникационная платформа
Коммуникационная платформа
другие проекты
НЛМК внедрил цифровую интеллектуальную платформу в помощь поставщикам компании
Газпромбанк с помощью Tarantool ускорил работу внутренних систем в 50 раз
обратная связь
Чтобы подписаться на новости, введите адрес вашей почты:
Спасибо, что следите за нашими новостями!
обратная связь
личный кабинет
создание пароля
Чтобы задать пароль для вашей учетной записи, введите его дважды:
Спасибо, пароль успешно создан!
личный кабинет
На вашу почту отправлено письмо с кодом авторизации
Для повторной отправки кода нажмите
Повторная отправка возможна через секунд