«Лига ставок» при поддержке Umbrella IT перенесла монолитную трейдинговую платформу на микросервисную архитектуру

Команды разработки Umbrella IT и «Лига ставок» перенесли масштабную трейдинговую платформу управления ключевых бизнес-процессов букмекера с монолитной на микросервисную архитектуру. Расскажем, как это было.

Коэффициенты прибыли

Ядро букмекерского бизнеса — платформа автоматизации бизнес-процессов, связанных с управлением коэффициентами в реальном времени.

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

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

  • Все основные бизнес-процессы были зашиты в гигантском монолите, который обрабатывал поток данных в реальном времени. Нагрузка на одном из участков системы оказывала влияние на всю цепочку зависимых процессов.
  • Все компоненты системы работали с одной базой данных: все интерфейсы обращались к ней. Как следствие, общая скорость обработки запросов могла снижаться при растущих нагрузках на базу данных, что приводило к ухудшению качества обслуживания. Букмекер максимально нарастил мощность процессоров, чтобы справиться с этим вызовом, но стратегически это было временное решение.
  • В рамках монолитной архитектуры было невозможно эффективно развивать платформу путем добавления новых сервисов и функций параллельно, без остановки обслуживания клиентов.

Для повышения надежности, гибкости и масштабируемости критически важной платформы компания решила перенести ее функциональность с монолитной на микросервисную архитектуру.

Масштаб вопроса

Трейдинговый монолит — технологичная платформа, которая в ходе эволюции обрастала компонентами, созданными на разных стеках и языках. Перенос такой сложной системы на новую архитектуру — очень трудоемкий и небыстрый процесс. Чтобы реализовать проект, было необходимо подобрать опытные команды не только для разработки микросервисной платформы, но и для доработки, поддержки и развития монолита.

Микросервисы вместо монолита

В команды разработки вошло в общей сложности больше 40 специалистов. Среди них были аутстафферы из нескольких аутсорсинговых компаний: фронтенд и бэкенд разработчики, системные и бизнес-аналитики, тестировщики, дизайнер и штатные сотрудники: архитекторы, операторы баз данных (базисты), DevOps и другие. Для упорядочения работы такой большой команды компания создала обширную документацию, описывающую требования и ограничения. Хотя такой массив документации мог замедлить онбординг специалистов, это помогало справиться с интеграционными рисками.

Вызовом оказалась задача продолжать развитие легаси-платформы в процессе создания новой. Одна из проблем, которую пришлось решать, — поиск Delphi-разработчиков для работы с легаси-платформой. Таких специалистов на рынке крайне мало, но благодаря партнерству с Umbrella IT эту задачу удалось решить.

Даниэль Сулейман,

Руководитель отдела управления технологиями

Подключились быстро

За 3 дня подключили к проекту по аутстаффу двух разработчиков .NET и Delphi, дизайнера и руководителя, который ускорил онбординг сотрудников и помог им с получением доступов, контролем эффективности и мотивацией. В дальнейшем разработчики и дизайнер перешли в управление компании.

Провели CustDev и разработали дизайн дашборд-панели

Дизайнер провел CustDev, чтобы выяснить с помощью трейдеров, работающих с системой, как сделать дизайн интерфейса новой платформы удобнее, чем прошлая версия. Затем на основе проведенных интервью разработал прототипы и дизайн веб-платформы.

Работа над дизайном платформы продолжается по сей день. По мере добавления новой функциональности в продукт вносятся изменения и в интерфейс.

Даниэль Сулейман,

Руководитель отдела управления технологиями

Разработали платформу, минимизировав риск ошибок при интеграции микросервисов

Наши разработчики изучили регламенты и протоколы клиента, соблюдение которых гарантировало безошибочную работу микросервисов в платформе и их интеграцию. Для работы с Delphi выбрали менее распространенные инструменты со свободной лицензией, чтобы не замедлять процесс разработки.

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

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

Чтобы справиться с этой задачей, QA внедрили автоматизированное тестирование для покрытия тестами большего объема кода. А наши разработчики приняли на себя часть задач по тестированию — создавали юнит-тесты для ускорения процесса и повышения качества продукта.

Внедрение юнит-тестирования уменьшило нагрузку на тестировщиков, что позволило сократить Time-to-Market новых функций платформы.

Больше кейсов с лидерами российского бизнеса — на сайте Umbrella IT.

Итоги проекта

Новая трейдинговая платформа повысила надежность основных бизнес-процессов Лиги Ставок. Благодаря меньшей связанности между сервисами, изменения в любом из них не отражаются на остальных. Один микросервис перестанет работать — остальные продолжат функционировать. Новые функции можно добавлять без остановки и пересмотра всей системы, что снижает стоимость разработки, внесения изменений и поддержки.

Понравилась статья? Подпишитесь, чтобы не пропускать обновления. Больше полезного контента в нашем блоге.

1818
1 комментарий

Вроде бы монолитная архитектура хорошо справлялась, но, похоже, настало время для обновления

1