В прошлом году в Украине легализовали работу гемблинг-платформ, но у разработчиков осталось немало предубеждений против этой сферы. На деле в гемблинге много вакансий с интересными задачами: работа с высокими нагрузками, новыми языками программирования и продуктом, которым каждый день пользуются тысячи человек.
Мы поговорили об этом с PHP Development Manager Михаилом Горишным и Head of Business Analysis Захаром Хрыстычем. Они работают в Betinvest – IT-компании, которая делает платформы для ставок, в основном для FAVBET.
В партнерском материале с FAVBET они рассказали Highload, почему не стесняются говорить о своей работе, и поделились тремя любопытными задачами, с которыми столкнулись на практике.
«К гемблингу консервативные люди относятся как к секс-шопам: вещи-то нормальные, но реагируют на них иногда негативно», – шутит Михаил Горишный, руководитель PHP-разработчиков в Betinvest. Он пришел в компанию в 2020 году: до этого работал в сервисе email-рассылок, но о новой работе рассказывать не стесняется.
«Недавно мы с командой пришли к операционным менеджерам
Михаил Горишный, руководитель PHP-разработчиков в Betinvest.
Данных в базе было так много, что менеджерам приходилось либо уменьшать выборку, либо долго ждать. На качестве бизнес-анализа игр это сказывалось негативно.
«В другой компании разработчики посоветовали бы и дальше использовать меньше данных для отчетов и не стали бы тратить время на комплексные изменения, но не у нас», – отмечает Михаил.
Сервисы FAVBET собирают данные о тысячах клиентов: в какие игры они заходят, сколько тратят денег. «Для записи и анализа мы использовали базу PostgreSQL, но постепенно она перестала справляться с нагрузками, – объясняет Михаил. – Мы много раз ее оптимизировали, и это перестало помогать. Тогда я предложил подключить базу ClickHouse».
ClickHouse сортирует данные в отдельные блоки, и поиск нужной информации становится проще. PostgreSQL теперь используют как операционную базу, а ClickHouse – для аналитики big data в реальном времени.
На разработку решения ушло три месяца. Михаил спроектировал архитектуру взаимодействия сервисов с новой базой, затем ее подключили и наполнили данными, чтобы протестировать устойчивость. «ClickHouse показала отличный результат: она не падала при пиковых нагрузках и анализировала нужные данные в 40 раз быстрее, – говорит Михаил. – Все это время PostgreSQL продолжала работать, и интеграция нового решения не сказалась на клиентах».
Теперь операционная команда может анализировать больше данных за более длительный период. Если раньше доступна была информация за пару месяцев, то теперь – за годы. «Еще мы можем дать больше инструментов для работы другим отделам, – рассказывает Михаил. – Маркетологи, например, смогут рекомендовать игры на основе того, во что клиенты чаще играют».
В марте 2020 года мир ушел на затяжной карантин. Соревнования по футболу, теннису и другим видам спорта отменяли. Люди не могли сделать прогнозы и поболеть за любимую команду. Тогда начал расти спрос на онлайн-казино, и база данных FAVBET оказалась на грани коллапса.
Нагрузка росла два месяца, тяжелее всего пришлось системе обработки транзакций.
«Мы с PHP-командой пытались оптимизировать базу данных, но исправить ситуацию не удавалось, – говорит Михаил. – С обработкой big data PostgreSQL не справлялась: время отклика базы данных постоянно увеличивалось».
Тогда Михаил решил действовать радикально: провести партиционирование, удалить ненужные запросы и изменить правила работы с кодом.
Сначала команда изучила, сколько раз в день посылали каждый запрос, среднее и максимальное время ответа, число запрашиваемых данных. Затем провели оптимизацию всех отдельных запросов. «Например, оказалось, что ежедневный запрос на подсчет всех транзакций по клиенту грузит базу и не дает ничего полезного, – рассказывает Михаил. – Его удалили, и база стала работать быстрее».
Еще на время ответа влиял размер базы: в ней было множество отдельных таблиц. «Мы попробовали репликацию
Тогда провели партиционирование: администраторы разбили базу PostgreSQL на партиции по дням. Время отклика базы данных существенно уменьшилось.
Еще Михаил ввел два обязательных правила для написания кода:
«Эта история случилась, когда я только пришел в компанию, – рассказывает Михаил. – Теперь мы научились думать наперед. FAVBET выстоит, даже если введут новый локдаун».
Захар Хрыстыч до Betinvest уже шесть лет работал в сфере гемблинга. В сентябре 2020 года он пришел в команду на должность Head of Business Analysis и застал такой случай.
В одну из ночей команда службы поддержки следила за работой платформы. Все было спокойно, но тут пришло уведомление: система мониторинга обнаружила в игре подозрительную активность – клиенты постоянно выигрывали деньги. Дежурные отключили проблемную игру и разбудили начальника отдела. Первой мыслью было, что FAVBET взломали.
«Все оказалось проще, – вспоминает Захар Хрыстыч. – На стороне компании-провайдера, которая предоставила игру FAVBET, произошла ошибка, и сбился показатель RTP для выигрыша в казино».
Захар Хрыстыч, Head of Business Analysis
RTP – return to player – показывает, сколько денег в среднем вернется пользователю с одного прогноза. Для каждой игры RTP свой: нормой считается показатель в пределах 94–99%. Но из-за ошибки провайдера он поднялся до 150%, и за час клиенты выиграли 1 млн грн.
Через пару дней разработчик починил игру, и ее вернули на сайт. А команде предстояло придумать, как сделать так, чтобы чужие ошибки не влияли на работу платформы. «Наши сервисы собирают big data со всех игр. Раньше они направляли данные в базу PostgreSQL, – рассказывает Захар. – Она анализировала их и присылала уведомления об ошибках раз в 60 минут. Мы поняли, что этой частоты мало, и решили ускорить анализ».
Сначала разработчики проанализировали работу системы уведомлений и выяснили, что она собирает данные со всех сервисов FAVBET. Чтобы ускорить работу с ними, выбрали базу ClickHouse.
«Теперь база анализирует больше данных и делает это в реальном времени, – объясняет Захар. – Мы можем определить повышение RTP или другую ошибку в играх за пару секунд».
«Если система мониторинга видит, что число ошибок увеличилось или клиенты много выигрывают у какого-то провайдера, она посылает в нашу группу в Microsoft Teams уведомление, – подводит итог Захар. – А мы можем вручную проверить, что происходит, быстро среагировать и исправить ситуацию, если нужно».
«Наш бизнес очень похож на геймдев, только с системой вывода денег», – отмечает Захар. Из-за гемблинговой специфики рабочие задачи специалистов кардинально не отличаются от задач в других IT-компаниях. А соцпакет и бонусы в FAVBET не уступают лидерам украинского IT-рынка:
В офисе есть игровые приставки – вечером после работы можно устроить с коллегами турнир. А для тех, кто любит приезжать на работу на велосипеде, есть душевая комната. Кстати, в FAVBET есть свои команды по футболу и баскетболу, они регулярно тренируются и участвуют в любительских соревнованиях.
«Мы за баланс работы и жизни, у меня в отделе нет переработок, – говорит Михаил. Сейчас мы работаем “наперед” над возможными проблемами, а не тушим пожары».
Еще один плюс работы с FAVBET – глубокое погружение в продукт. «Наши ребята понимают, как работает весь бизнес, – отмечает Захар Хрыстыч. – Вы будете знать столько же, сколько семь специалистов в других компаниях. Вне FAVBET я не могу себе это представить».
Фотограф: Владимир Герасимов
УЧАСТИЕ В АЗАРТНЫХ ИГРАХ МОЖЕТ ВЫЗВАТЬ ИГРОВУЮ ЗАВИСИМОСТЬ. ПРИДЕРЖИВАЙТЕСЬ ПРАВИЛ (ПРИНЦИПОВ) ОТВЕТСТВЕННОЙ ИГРЫ.
Лицензия на осуществление деятельности по организации и проведению азартных игр казино в сети Интернет от 20.04.2021 года, выдана ООО «БК “ФАВБЕТ”» на основании Решения КРАИЛ от 05.04.2021 года за №137 с изменениями и Лицензия на осуществление деятельности по организации и проведению букмекерской деятельности от 28.12.2022 года, выдана ООО «БК “ФАВБЕТ”» на основании Решения КРАИЛ от 13.12.2022 года за №433.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…