VK Cloud

Назад к кейсам

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

Frame 34-2.png
arifmetica-dobra_success-stories.svg
Компания

Благотворительный фонд «Арифметика добра»

Отрасль

НКО, интернет-проект

Учеников

1107

Проведено уроков

88 138

  • cloud storage.svg
  • cloud servers.svg

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

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

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

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

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

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

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

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

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

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

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

На виртуальной доске можно объяснять материал и решать примеры Виртуальная доска на платформе «Шанс»

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

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

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

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


Андрей Рапопорт
представитель платформы Abstrix Meeting

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

Когда мы изучили требования и разочаровались в 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, «Ростелеком», VK Cloud и Huawei. Но мы сразу споткнулись о первый критерий: тогда у Selectel и «Ростелекома» не было OpenStack. А Huawei не подходил из-за расположения серверов и потому, что у него нет оркестрации (ниже расскажу, почему это оказалось важным). Так мы пришли к облаку VK Cloud, которое устраивало по всем критериям.

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

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

Мы верили, что найдем решение, и подключили к поискам ребят из техподдержки. Через чат в Телеграме мы наладили отличную коммуникацию: на все наши вопросы быстро прилетали ответы. Так мы узнали, что можно не просто запускать виртуальную машину, а делать это через оркестрацию – так называемый OpenStack heat. В VK Cloud оперативно помогли составить шаблон нужного стека: с виртуальной машиной, виртуальным диском и публичным IP-адресом.

Меньше чем за две недели мы смогли подключить VK Cloud к нашему сервису и вскоре сделали нашим основным провайдером, оставив западные компании в резерве.

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

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

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

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

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

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

О дружбе с VK Cloud

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

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

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

Читать подробнее

Попробуйте наши сервисы

После активации аккаунта мы свяжемся с вами и начислим 3 000 рублей на ваш счет VK Cloud, чтобы вы смогли протестировать сервис в течение 60 дней.

Или оставьте с индивидуальным расчетом

40+ готовых сервисов