{"id":13597,"url":"\/distributions\/13597\/click?bit=1&hash=ce14b8b4846314ce80a009b52128dfe4276b036f8de856a8737e7c40a3353b88","title":"\u0410\u0432\u0442\u043e\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0437\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u0432\u044b\u0448\u0435 \u043d\u0430 30% \u2014 \u0445\u043e\u0442\u0438\u0442\u0435?","buttonText":"\u0425\u043e\u0447\u0443","imageUuid":"97137c64-f668-5e69-98d1-d58d5d17653d","isPaidAndBannersEnabled":false}

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

История о том, как благотворительный фонд «Арифметика добра» запускал собственную платформу для проведения онлайн-уроков в детских домах.

Фото БФ «Арифметика добра»

Сегодня делиться знаниями на расстоянии просто, как никогда. Четыре года назад благотворительный фонд «Арифметика добра» запустил программу «Шанс» и начал проводить индивидуальные онлайн-уроки с репетиторами для подростков-сирот.

Когда в день приходилось проводить до 150 уроков, стало понятно, что «Шансу» нужна собственная платформа в надёжном облаке с серверами на территории РФ.

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

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

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

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

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

2015 год — старт программы.

29 регионов и восемь часовых поясов.

Более 100 детских домов.

Более 100 преподавателей.

Более 1100 учеников.

Более 88 тысяч проведённых уроков.

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

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

На старте программы организационный процесс выглядел так: менеджеры вручную составляли расписание в Excel и назначали уроки по телефону или email. Точно так же вручную репетиторам и ученикам высылали ссылки на платформу Adobe Connect. Это было сложно и неудобно, а когда в 2017 году количество уроков выросло до 150 в день, мы поняли: нужно что-то менять. К тому моменту масштабироваться в прежнем формате было невозможно.

Так возникла идея — сделать собственную платформу, которая позволила бы автоматизировать рутинные вещи: составлять расписания, рассылать SMS об отмене и переносе уроков, контролировать посещаемость. Это упростило бы жизнь и менеджерам, и нашим подопечным в детских домах. При этом платформа должна работать стабильно, а записи уроков — храниться в надёжном месте с возможностью удалённого доступа.

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

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

Так выглядит сейчас личный кабинет ученика на платформе «Шанс» БФ «Арифметика добра»

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

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

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

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

Когда мы изучили требования и разочаровались в Webinar.ru и TrueConf, появилась новая идея: использовать облака. В них понравился подход pay-as-you-go, в котором вычислительные мощности сервера оплачиваются поминутно.

Когда в 2017 году мы искали подходящую платформу, в России не было облачных провайдеров с таким принципом оплаты ресурсов. На Западе популярен 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 года. А потом начались знаменитые блокировки Telegram. Действия Роскомнадзора сильно затронули публичные облака. Каждый раз при запуске новой виртуальной машины мы получали какой-то 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 позволял добавить публичный интерфейс уже после запуска машины, но этого было недостаточно — приложение, которое мы запускаем, было сложно заставить на лету работать на новом интерфейсе. Нам было необходимо, чтобы виртуальная машина сразу запускалась в нужной конфигурации.

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

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

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

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

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

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

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

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

О дружбе с MCS

Фонд давно сотрудничает с одним из проектов Mail.ru Group — с сервисом для благотворительности «Добро Mail.ru». А в 2018 году Mail.ru Group запустила проект «Облако для благотворительных фондов», в рамках которого НКО, которые прошли проверку «Добра», получают бесплатную ИТ-инфраструктуру в облаке.

Наш благотворительный фонд тоже зарегистрирован в этом проекте, и MCS выделил под программу «Шанс» пул IP-адресов (даже с избытком, чтобы точно покрыть наши потребности). Теперь в режиме встроенной оркестрации мы можем использовать до 140 IP-адресов для запуска онлайн-занятий.

Ещё мы перенесли на площадки Mail.ru Cloud Solutions основной сайт фонда www.a-dobra.ru и получили квоту в облачном хранилище (описали наш опыт на «Хабре»). Теперь обучающие материалы генерируются на нашей образовательной платформе: библиотека, домашние задания и все файлы, закачанные преподавателями и учащимися.

Там же мы организовали чат с поддержкой отправки файлов, где ученики общаются друг с другом, репетиторами и менеджерами программы «Шанс». В ближайшем будущем планируем перенести сам сайт «Шанс» в облако MCS — сейчас мы к этому только присматриваемся.

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

  • Для использования готовых онлайн-платформ нужны свои или арендованные мощности, а это дорого и сложно в поддержке.

  • Благотворительная организация может сэкономить, выбрав провайдера с оплатой по схеме pay-as-you-go (только за потребляемые ресурсы) и подходящий open-source-софт.
  • Западные облачные платформы работают нестабильно, так как Роскомнадзор блокирует IP-адреса целыми пулами. У российских провайдеров этой проблемы нет.
  • Для миграции к другому провайдеру важна совместимость API — тогда переезд будет быстрым и безболезненным.
  • Наличие инструментов оркестрации позволяет создавать специализированную конфигурацию инфраструктуры, что может быть важно для некоторых приложений.
0
4 комментария
Арсен Кожевников

Интересный кейс.
Можно отказаться и от pay-as-you-go, и от поднятия собственной инфраструктуры. Труконф много лет бесплатно раздает некоммерческим организациям своё облако - TrueConf Online. Вы тестировали для своих целей?

Ответить
Развернуть ветку
Евгений Валуйский
Автор

Знаем, общались, даже участвовали в т.ч. в ваших оффлайн-семинарах) Основной недостаток с TrueConf Online был следующий: запись возможна только на стороне клиента.
У нас это же было и остается самым главным условием - централизованная запись и хранение всех уроков.

Ответить
Развернуть ветку
Anna Barkalova

Еще на хабре вышла статья о том, как ребята мигрировали свою платформу: https://habr.com/ru/company/mailru/blog/461155/

Ответить
Развернуть ветку
Евгений Валуйский
Автор

Добавили ссылку в статью, на там все же немного про другую миграцию)

Ответить
Развернуть ветку
Читать все 4 комментария
null