О чём эта история

GameSport — один из лидеров в создании аналитических прогнозов результатов киберспортивных соревнований с помощью технологий машинного обучения и искусственного интеллекта. В марте 2022 года GameSport развернул в Yandex Cloud новую версию портала. После перехода в Yandex Cloud компания на 16% сократила расходы на администрирование и ускорила запуск цифровых продуктов: сегодня он осуществляется буквально в несколько кликов. В новой версии портала GameSport расширил использование современных технологий: подключил CDN и репликацию баз данных. Компания строит долгосрочные планы по развитию своего портала в Yandex Cloud и стремится в перспективе сделать ресурс мирового масштаба для поклонников киберспорта.

Масштабироваться без расширения штата

GameSport предоставляет киберспортивной аудитории, профессиональным игрокам и тренерам цифровую платформу расширенной аналитики по соответствующим соревнованиям. В штате GameSport — более 50 экспертов в области аналитики данных. Компания имеет лицензию СМИ и активно развивает собственный киберспортивный портал, организует состязания и турниры. На сегодняшний день общее число зарегистрированных на платформе пользователей превышает 2 000 000 человек.

GameSport непрерывно анализирует Big Data с помощью технологий машинного обучения и вручную, при этом большая часть данных анализируется в режиме реального времени.

Модели машинного обучения дополняются и улучшаются, одновременно растёт экспертиза команды и объём анализируемых данных. Кроме того, с расширением аудитории портала gamesport.com увеличивается сложность администрирования, возрастают требования к безопасности данных и отказоустойчивости инфраструктуры.

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

GameSport выбирал российского облачного партнера — надёжную компанию с наличием сервисов для быстрой обработки и хранения аналитики real‑time.

После изучения рынка облачных услуг GameSport начал сотрудничать с Yandex Cloud. ЦОДы платформы располагаются в Центральной России с прямыми точками входа по всей территории страны. Это позволяет уменьшить время ответа сервера и достичь максимально возможной скорости обмена данными.

Кроме того, набор сервисов платформы данных для аналитики в реальном времени хорошо подходил под задачи компании.

Сервисы Yandex Cloud для сценария аналитики в реальном времени

Платформа Yandex Cloud предоставила GameSport набор управляемых сервисов, современные облачные технологии для решения задач и возможность удобного управления доступом к ресурсам.

Обработка аналитики real‑time с помощью облачных сервисов

С января по март 2022 года партнёры переносили в Yandex Cloud имеющуюся инфраструктуру и данные, включая старую версию портала, и создавали новую версию продукта. Миграция осуществлялась с помощью инструмента Yandex Data Transfer, который поддерживает несколько сценариев переноса базы ClickHouse со своего сервера в Yandex Managed Service for ClickHouse. У Yandex Managed Service for MySQL® отличалась структура, поэтому требовалось разрабатывать собственные трансферы под каждую таблицу. Использование трансферов позволяет сохранить рабочее состояние источника и минимизировать время простоя использующих его приложений. Перенос данных и разработка новой версии портала начались параллельно. Миграция всей инфраструктуры GameSport заняла не больше недели. Готовая новая версия портала была развёрнута в Yandex Cloud в марте.

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

Для обработки данных со значимыми игровыми показателями GameSport использует собственный сервис. С внешними источниками компания работает по‑разному, так как одни сайты предоставляют данные по API, другие — нет. Во втором случае компания забирает разрозненные данные в исходном виде, например xml‑файлами, и далее парсит. В итоге получается «воронка» из большого количества источников. Так компания насыщает свою базу данных, с которой работает в дальнейшем. В основном данные собираются и анализируются в real‑time, за исключением ситуаций, когда меняются форматы в источниках — в этом случае требуется исправлять парсеры.

Сервисы Yandex Cloud позволяют GameSport выстраивать процессы сбора, хранения и обработки аналитики real‑time, которая используется, в частности, для непрерывного развития портала.

В основе ИТ‑архитектуры GameSport — Laravel, бесплатный PHP‑фреймворк с открытым исходным кодом. Сейчас портал представляет собой монолитное приложение с подключёнными сервисами платформы данных Yandex Managed Service for ClickHouse и Yandex Managed Service for MySQL®. Кроме того, компания использует сторонние сервисы для агрегации и конвертации данных:

  • Сервис Yandex Compute Cloud предоставляет компании масштабируемые вычислительные мощности для размещения, тестирования и прототипирования проектов. Используется одна крупная виртуальная машина, которая позволяет обновлять приложения, не отклоняя ни одного запроса и без простоя. Также есть ещё одна виртуальная машина для сопутствующих сервисов, таких как поиск, сокеты и прочие.

  • С помощью сервисов Yandex Managed Service for MySQL® и Yandex Managed Service for ClickHouse GameSport управляет кластерами необходимых СУБД в облаке, разворачивая готовый к работе кластер за несколько минут. Сейчас в Yandex Managed Service for ClickHouse собраны исторические данные по киберспортивным чемпионатам мира за четыре года. Это в основном такие дисциплины, как Counter‑Strike, Dota 2 и другие популярные компьютерные игры. GameSport берёт данные из внешних источников, и они сразу после постобработки попадают в ClickHouse. Также сервис используется для записи выводов из аналитики на основе ML (модели нейронной сети развернуты на внешнем сервере). Служебные данные по аккаунтам и доступам, новости, разделы портала и часть исторических данных хранятся в Yandex Managed Service for MySQL®.

  • В Yandex Managed Service for Redis хранится горячий кеш. Сервис используется, чтобы снизить нагрузку на Yandex Managed Service for MySQL®.

  • Сервис Yandex Cloud CDN снимает нагрузку с сайта GameSport по статическим данным. Из‑за того, что не происходит увеличение нагрузки на продакшн виртуальной машины, нагрузка на отдачу статистики перекладывается на Yandex Cloud CDN. Раньше компания использовала сервис CDN другого производителя, но перешла на Yandex Cloud CDN по причине множества точек присутствия провайдера в России.

  • Репликацию базы данных GameSport начал использовать только с переходом на платформу Yandex Cloud. Появилось резервирование с триггером, с размещением копий в трёх зонах. Резервирование компания получила автоматически при переходе на платформу, и это позволило проекту стать отказоустойчивее за счёт кластеризации базы данных MySQL.

  • С помощью Yandex Certificate Manager компания использует TLS‑сертификаты в интегрированных сервисах Yandex Cloud. При этом не требуется загрузка на сервер и можно сохранять их для самостоятельного использования.

  • Yandex Cloud DNS оптимизирует маршрутизацию DNS‑запросов GameSport, обеспечивает стабильный доступ с минимальной задержкой отклика и быстрое прорастание записей.

  • Сервис Yandex Monitoring ускоряет для GameSport просмотр данных мониторинга, Yandex Virtual Private Cloud служит для управления облачными сетями и связи облачных ресурсов между собой и с интернетом, а Yandex Application Load Balancer гибко распределяет трафик и запросы по бэкендам сетевых приложений, а также обрабатывает TLS‑трафик.

За время работы над проектом команда GameSport приобрела новые компетенции, связанные с облачным развёртыванием, но при этом не потребовалось увеличение штата, и удалось оптимизировать работу DevOps‑специалистов и системных администраторов. Также получилось избежать одномоментных затрат, как в случае с развёртыванием на физических серверах.

Запуск нового портала, оптимизация времени администрирования и сокращение расходов

GameSport развернул новую версию портала gamesport.com в Yandex Cloud во второй половине 2022 года. Переход на платформу позволил на 16% сократить расходы на администрирование и быстрее запустить обновлённый портал за счёт того, что не нужно было поднимать и настраивать свои серверы. После переноса портала в Yandex Cloud упростился процесс администрирования сервисов, появилась возможность мгновенно увеличивать ресурсы по мере необходимости (размеры дисков, объём памяти и прочее). В среднем скорость процессов увеличилась в 1,5 раза, цифровые продукты теперь можно запускать буквально в несколько кликов. В новой версии портала GameSport расширил использование современных технологий: подключил CDN и репликацию баз данных. В сотрудничестве с Yandex Cloud GameSport развивает свой портал с полезной информацией для пользователей, которые интересуются киберспортом, и стремится в перспективе сделать ресурс мирового масштаба.

GameSport активно разрабатывает новые проекты, связанные с киберспортом. В будущем они тоже будут перенесены в Yandex Cloud. Для развития портала компания продолжит использовать привычный набор методов и инструментов — Laravel, создание SPA‑приложений и приложений на С++, управляемые сервисы. Кроме того, сейчас GameSport рассматривает возможность использования Yandex Managed Service for Kubernetes®.

Мнение

Валентин Тропин,
исполнительный директор
Валентин Тропин,
исполнительный директор

Облачные технологии позволили нам упростить и оптимизировать работу системных администраторов и DevOps‑инженеров, ускорить процесс развёртывания и запуск продуктов с возможностью прозрачного управления доступа к ресурсам. В комплексе облачных технологий можно создать единую систему с минимизацией использования внешних сервисов: сети, доменные имена и сертификаты, балансировщики нагрузки, anti‑DDoS‑решения, серверы, базы данных, мониторинг, машинное обучение, серверы очередей, контейнеры и многое другое.