Отказоустойчивая инфраструктура для EdTech-платформы: кейс «Инглекс»
Рассказываем, как школа английского языка «Инглекс» развернула на инфраструктуре Selectel EdTech-платформу, на которой одновременно проводятся сотни онлайн-занятий.
Задачи:
- Обеспечить высокую производительность сервисов
- Исключить риск остановки сервисов и потери информации
- Организовать стабильное и быстрое соединение между узлами инфраструктуры
- Соответствовать требованиям законодательства при работе с чувствительными данными
Продукты и услуги Selectel:
О компании
Онлайн-школа «Инглекс» — современный сервис персонального обучения английскому языку. Преподаватели проводят занятия с детьми и взрослыми. Ученики школы могут выбрать общий курс разговорного английского, курс для карьеры и бизнеса, подготовку к ЕГЭ, IELTS и другим экзаменам. Занятия проводятся в том числе с носителями языка.
За 13 лет работы компания провела 1,5 миллиона занятий для студентов из более чем 100 стран и выпустила более 34 000 учеников. Онлайн-школа «Инглекс» занимает третье место в рейтинге Smart Ranking среди крупнейших компаний в сфере онлайн-образования в категории «Иностранные языки».
Вызовы и решения
- Создать комфортную среду для онлайн-занятий. Сервисы клиента развернуты на производительных выделенных серверах, а для уменьшения времени передачи данных настроена сетевая связность между узлами инфраструктуры.
- Гарантировать надежное хранение информации и возможность ее восстановления. Сервисы распределены между серверами в четырех дата-центрах. Для чувствительных данных настроена синхронная репликация, а для остальных — ежедневное бэкапирование с загрузкой в объектное хранилище.
- Обеспечить постоянную доступность сервисов. DNS-зоны доменов управляются через DNS-хостинг Selectel.
- Соблюдать требования законодательства при работе с информацией ограниченного доступа. Вся инфраструктура Selectel соответствует требованиям 152-ФЗ.
Почему выбрали Selectel
- Репутация на рынке провайдеров IT-инфраструктуры
- Разумное соотношение цены и качества услуг
- Оперативная и качественная техподдержка
Обеспечить высокую производительность сервисов
«Инглекс» для клиентов — это прежде всего образовательная онлайн-платформа с интерактивными учебниками, модулем видеосвязи и рядом вспомогательных сервисов (например, для проведения платежей). Помимо этого есть WP-сайты, система управления процессом обучения, ПО для работы бэкофиса компании, лендинги и маркетинговые страницы, инструменты для CI/CD, приватный Docker-registry, приватный npm proxy registry, дисковое пространство для хранения образовательного контента и т. д.
И все это должно стабильно работать, в том числе в период пиковых нагрузок. Обычно он приходится на вечерние часы по будням. В это время на платформе может одновременно находиться до 1 200 учеников и преподавателей. Они проводят видеозвонки, скачивают контент, запускают интерактивные сервисы и т. д.
При этом у разных сервисов разные требования к производительности. Например, служебные серверы для сборки приложений и системы управления базами данных и очередями (Redis, RabbitMQ) обычно требуют больше оперативной памяти. Платформе обучения, пока она не кластеризованна, и серверам dev/staging-окружений нужно больше ядер CPU. В случае с платформой это обусловлено потребностью в ресурсах для микросервисов в пиковые часы при начале новых уроков. Серверы активнее используют ядра, чтобы развернуть больше окружений. Медиа-серверы, задействованные в передаче видео- и аудио-трафика, требуют высокой пропускной способности сети.
Решение
Сервисы «Инглекс» развернуты на выделенных серверах готовой конфигурации. Это гарантирует, что все их ресурсы достанутся компании. Характеристики железа разнятся в зависимости от задач. Например, количество ядер в процессорах варьируется от 4 до 12, объем оперативной памяти — от 4 до 128 ГБ, а размер одного диска — от 128 ГБ до 1 ТБ. Так получается выделить под каждую задачу сервер в наиболее подходящей конфигурации.
Исключить риск остановки сервисов и потери информации
Любой простой в работе платформы оборачивается невозможностью проводить уроки. Это негативно влияет как на доход компании, так и на ее репутацию среди пользователей. Следовательно, просто производительной инфраструктуры мало. Она должна быть отказоустойчивой и доступной пользователям 24/7.
Кроме того, «Инглекс» использует большое количество медиаконтента и хранит множество данных, в том числе чувствительных. Потеря этой информации также может негативно сказаться на репутации компании.
Решение
Инфраструктура распределена между двумя дата-центрами в Москве и Санкт-Петербурге. Так, образовательная платформа «Инглекс» развернута в пулах MSK-1 и MSK-2, а резервные серверы на случай отказа находятся в пуле SPB-3. Также в Петербурге, в объектном хранилище, хранится медиаконтент.
Персональные данные клиентов и их платежная информация собраны в отдельной базе данных. Для нее и в Москве, и Санкт-Петербурге настроена синхронная репликация. Для остальных БД используется ежедневное полное бэкапирование с загрузкой в объектное хранилище.
Чтобы гарантировать доступность всех сервисов для клиентов, компания доверила управление DNS-зонами своих доменов DNS-хостингу Selectel.
Организовать стабильное и быстрое соединение между узлами инфраструктуры
Что касается качества связи во время видеозвонков, оно напрямую зависит от величины сетевых задержек. Когда они минимальны, создается впечатление, что собеседники общаются в реальном времени, хотя технически это не так.
Обычно сигнал должен добраться от компьютера ученика до IT-инфраструктуры, оттуда — до компьютера преподавателя, а потом тем же путем вернуться обратно. Внутри инфраструктуры сигнал тоже «путешествует» между разными узлами. Время, которое тратится на это, и называется сетевой задержкой. Чтобы качество обучения не страдало, она не должна превышать 100 мс, а потеря пакетов при передаче данных должна стремиться к нулю.
Решение
Скорость соединения зависит напрямую от интернет-провайдера и выбранного пользователем тарифа. Повлиять на это объективно невозможно, да и не нужно — для комфортных видеозвонков достаточно скорости 2 Мб/с для двух аудио- и видеопотоков (по одному на преподавателя и студента). Все выделенные серверы Selectel передают сигнал в интернет на скорости 1 Гбит/с.
Что касается пути сигнала от одного компьютера до другого и обратно, то 75% звонков осуществляются напрямую по принципу peer-to-peer. Это соединение, в котором компьютеры связываются напрямую и каждый из них может быть как клиентом, так и сервером.
Еще 25% звонков проходят через серверы Selectel в Москве и Санкт-Петербурге. В данном случае peer-to-peer не используется из-за особенностей сети учеников, которые не позволяют связываться с другими компьютерами напрямую. Добиться минимальной сетевой задержки в данном случае помогает географическое расположение серверов — большинство клиентов находятся относительно недалеко от них, поэтому сигналу не нужно преодолевать большие расстояния.
Соответствовать требованиям законодательства при работе с чувствительными данным
Образовательный процесс предусматривает работу с персональными данными (ПДн) клиентов. Согласно 152-ФЗ все ПДн граждан РФ должны храниться и обрабатываться только на территории Российской Федерации и быть защищены от несанкционированного доступа.
Решение
Вся инфраструктура Selectel по умолчанию соответствует требованиям 152-ФЗ и международных законов и стандартов. То есть, компании «Инглекс» достаточно правильно организовать сбор и обработку персональных данных в своей зоне ответственности. Вопросы, связанные с инфраструктурой и размещением на ней информации ограниченного доступа, Selectel берет на себя.
Результаты
-
1 000
студентов и преподавателей могут находиться на платформе одновременно.
-
4
пула серверов поддерживают работу EdTech-платформы.
-
170
одновременных созвонов — пиковая нагрузка на платформу. Качество соединения при этом не падает.
-
100 мс
максимальная сетевая задержка во время индивидуальных занятий на платформе.
Планы развития
Планы «Инглекс» опираются на развитие бизнеса и рост количества учеников. Это потребует расширения инфраструктуры и подключения новых сервисов Selectel. Сейчас компания рассматривает активное использование облачных сервисов, в частности, баз данных, поэтапный перенос проектов в новый отказоустойчивый кластер на основе Managed Kubernetes, задействование дополнительных дата-центров и использование почтового сервиса.