Как «Алгоритмика» запустила свою платформу видеоконференций на 65 стран
И почему отказалась от уроков в Zoom или Google Meets
Об этом на митапе «Работа с данными в EdTech» нам подробно рассказал технический директор онлайн-школы Андрей Чернышев. Его полный доклад можно посмотреть по ссылке, а в тексте мы приведем лишь основные итоги.
Спойлер: в «Алгоритмике» верят, что железо лучше подходит для видеотрансляций, чем облачные решения.
Коротко про школу
«Алгоритмика» преподает программирование и математику детям от 6 до 17 лет. Будущие айтишники получают там все основные навыки: от азов логики и компьютерной грамотности до создания сайтов и графического дизайна.
Изначально занятия в «Алгоритмике» были очными, но пандемия вынудила уйти в онлайн. Сейчас все уроки проходят на собственной платформе, которая, помимо прочего, объединила в себе специальную тестовую площадку для написания кода, «умный учебник» (следит за успехами каждого ученика) и внутреннюю соцсеть, где можно обсудить совместные проекты или просто пообщаться. Важно, что уроки проходят «здесь и сейчас» — никаких заранее записанных лекций.
Почему не сработались с Zoom
Во-первых, с внешними сервисами сложно договориться о покупке лицензий для такого масштабного проекта (франчайзи «Алгоритмики» разбросаны по всему миру, от Казахстана до США). Одно дело — купить пару лицензий в пределах страны, и совсем другое — приобрести сотни в разных регионах.
Именно поэтому создатели отказались от Zoom: по требованию американского законодательства, сервис запрещает российским компаниям оформлять более 150 лицензий на одно юрлицо. В открытых документах ограничение никак не закреплено, о нем сообщают в ходе диалога с отделом продаж, рассказывает Андрей.
Во-вторых, у большинства платформ есть ограничения на работу с детьми до 14 лет, связанные с местными нормами о получении согласия от родителей. Для «Алгоритмики» это означало длительные проволочки: пакет необходимых документов может меняться от страны к стране, а согласование через сервис-посредник затягивает процесс на неопределенный срок.
В-третьих, создатели не хотели заставлять учеников и их родителей скачивать дополнительное ПО, поэтому весь процесс переместили прямиком в браузер.
Собственная платформа оказалась удобна еще и тем, что позволила подстроить работу под имеющуюся методологию, собрать аналитику по занятиям и объединить все происходящее в единую среду для лучшего вовлечения и упрощения операционки. Последнее сильно влияет на качество обучения: если ребенок первые 10 минут урока тратит на то, чтобы победить свой компьютер, он может пропустить что-то важное.
Как создавали платформу
За основу разработчики «Алгоритмики» взяли Jitsi Meet — ПО для видеоконференций с открытым исходным кодом.
За полдня развернули платформу, за две недели — перевели в продакшн и перенесли туда все занятия. Последующие полтора года мы докручивали разработку и проводили эксперименты, чтобы достичь качества, сопоставимого с Zoom или Google Meets.
Изнутри платформа выглядит так же: стандартные настройки камеры с микрофоном, трансляция экрана, групповые чаты и доски для совместной работы. Киллер-фича — возможность для преподавателя уйти в приватную беседу с учеником, например, если возникли трудности с заданием, которые лучше обсудить тет-а-тет.
Как боролись с подвисаниями — клиентскими и трансграничными
Без трудностей не обошлось. Основных проблем оказалось три:
- Плохой и нестабильный интернет у клиентов.
- Медленное международное соединение.
- Потери пакетов в сетях провайдеров.
С пользовательским интернетом помогла технология WebRTC — при соединении она создает несколько вариантов подключения через все доступные маршрутизаторы. При этом некоторое количество подключений можно держать в резерве (на случай, если одно из текущих отвалится), отслеживать и при необходимости перезапускать. Еще ученик может настроить видео под себя, например, снизить качество, если компьютер не тянет.
С международным соединением все сложнее: проблема была не в качестве связи конкретного пользователя, а в общей нагрузке. Даже если внутри одной страны все работало нормально, то при трансграничных операциях соединение замедлялось.
«Мы начали активно расширять сеть серверов видеообмена и усиливать мониторинг провайдеров. Там, где это возможно, переходили на железные серверы и виртуалки, оптимизированные по сети, с настроенным приоритетом для сетевого трафика», — рассказывает Андрей.
Другая важная проблема — любое обновление браузера могло сломать всю архитектуру (WebRTC, на котором построена платформа, стал официально признанным стандартом только в конце 2020-го). Чтобы отслеживать это, «Алгоритмика» перевела командные созвоны на свою площадку и регулярно проводила исследования.
Один раз почти всю систему пришлось обновлять буквально за ночь, так как Chrome выпустил апдейт, который мог ее уронить.
За полтора года команда «Алгоритмики» пришла к выводу, что облачные решения не самый удобный способ построения сетей видеообмена. По мнению Андрея, с облаками сложно контролировать, насколько загружена сеть внутри дата-центра, да и настроить ее под себя не получится.
«Гиганты рынка вроде Amazon и Alibaba Cloud предлагают оптимизированные виртуалки, заточенные под работу с сетью, но даже они не могут гарантировать конечный ресурс облачного процессора или сети. Так что оптимальным решением остаются железные серверы — арендованные или выкупленные у провайдера», — уверен технический директор онлайн-школы.
Закажите выделенные серверы с «облачной» готовностью — от 120 секунд — для задач любой сложности.