МегаФон заменил Teradata RTIM на собственное решение на Go: как это было
МегаФон завершил миграцию с Teradata RTIM на собственный движок real-time маркетинга, написанный на Go. Это позволило оператору отказаться от дорогого проприетарного ПО и получить полный контроль над системой, обрабатывающей миллионы запросов в секунду. Ранее RTIM подбирал предложения для клиентов в

МегаФон завершил миграцию с Teradata RTIM на собственный движок real-time маркетинга, написанный на Go. Это позволило оператору отказаться от дорогого проприетарного ПО и получить полный контроль над системой, обрабатывающей миллионы запросов в секунду. Ранее RTIM подбирал предложения для клиентов в моменте — при заходе в личный кабинет или получении SMS. Теперь эту задачу выполняет новое решение, которое использует деревья принятия решений и обрабатывает запросы за миллисекунды.
Как МегаФон заменил Teradata RTIM собственным решением на Go
Процесс замены Teradata RTIM начался с осознания критических недостатков старой системы. Закрытая архитектура не позволяла кастомизировать логику, полная зависимость от вендора ограничивала возможности развития, а стоимость лицензий становилась всё более обременительной. При инцидентах команда не могла оперативно вмешаться — приходилось ждать помощи извне. Накопившаяся критическая масса проблем подтолкнула к созданию собственного движка.
Выбор пал на Go — язык, обеспечивающий стабильную работу под высокими нагрузками, достаточную скорость и широкую экосистему. Новая система должна была не просто заменить RTIM, но и сохранить всю логику принятия решений, описанную в виде деревьев с узлами-критериями. Эти деревья определяют, к какому сегменту отнести клиента и какое предложение ему показать.
Предыстория и контекст
Teradata RTIM долгие годы был стандартом для real-time маркетинга в МегаФоне. Система работала как движок, который в реальном времени анализировал поведение клиента и подбирал релевантное предложение. Однако со временем недостатки проприетарного решения стали перевешивать его преимущества. Закрытость не позволяла внедрять новые алгоритмы, а лицензионные платежи росли. В индустрии наблюдается тренд на отказ от дорогих вендорских решений в пользу собственных разработок — особенно в телекоме, где требования к производительности и гибкости особенно высоки.
Как происходила миграция правил?
Основная сложность заключалась в переносе тысяч правил, написанных для RTIM. Каждое правило представляет собой дерево принятия решений: запрос проходит по веткам, а условия в узлах определяют, какой сегмент и предложение выбрать. Чтобы автоматизировать перенос, команда использовала абстрактное синтаксическое дерево (AST). Это позволило разобрать исходные правила на составные части и сгенерировать эквивалентный код на Go без ручного переписывания. Такой подход минимизировал ошибки и ускорил миграцию.
Технические детали: AST и Go
Ключевым техническим решением стало применение AST для трансляции правил. Исходные правила RTIM были представлены в виде структурированных данных, которые можно было распарсить и преобразовать в Go-код. AST позволило точно описать логику ветвлений и условий, сохранив семантику оригинальных деревьев. Новый движок на Go обрабатывает запросы в реальном времени, обеспечивая ту же производительность, что и RTIM, но с возможностью кастомизации и без лицензионных отчислений.
Система спроектирована для высоких нагрузок: Go обеспечивает эффективную работу с конкурентными запросами, а архитектура движка позволяет масштабироваться горизонтально. Это особенно важно для телеком-оператора, где количество одновременных сессий может исчисляться миллионами.
Кого затронет и как
Прежде всего, изменение коснулось внутренней команды МегаФона — разработчиков и архитекторов CVM (Customer Value Management). Им больше не нужно полагаться на вендора при инцидентах или доработках. Для клиентов смена движка должна пройти незаметно: предложения по-прежнему подбираются за миллисекунды, но теперь система более гибкая и быстрее адаптируется к новым маркетинговым сценариям. Для рынка телекома это пример успешного импортозамещения и отказа от дорогих проприетарных решений.
В российском контексте особенно важна независимость от зарубежного ПО. МегаФон, один из крупнейших операторов, демонстрирует, что критически важные системы можно перевести на отечественные или open-source технологии без потери качества.
Что будет дальше
МегаФон продолжит развивать собственный движок, добавляя новые возможности и оптимизируя производительность. Ожидается, что система станет основой для более сложных сценариев real-time маркетинга, включая машинное обучение и персонализацию на основе больших данных. В перспективе решение может быть предложено другим операторам или компаниям, сталкивающимся с аналогичными проблемами.
Итог
Миграция с Teradata RTIM на собственное решение на Go с использованием AST позволила МегаФону снизить зависимость от вендора, сократить расходы на лицензии и получить контроль над критически важной системой. Этот кейс — яркий пример того, как современные технологии и грамотная архитектура могут заменить legacy-решения в высоконагруженных системах.