Бесшовная миграция на новую архитектуру личного кабинета для миллионов абонентов телеком-оператора с помощью Tarantool

Заказчик:
Ростелеком
Руководитель проекта со стороны заказчика
Поставщик
Tarantool
Год завершения проекта
2024
Сроки выполнения проекта
ноябрь, 2023 — июнь, 2024
Масштаб проекта
640 человеко-часов
Цели

«Ростелеком» — один из крупнейших в России провайдеров цифровых услуг и решений. У абонентов есть личный кабинет для управления лицевым счетом, оплаты, подключения и управления сервисами. Когда на него выросла нагрузка и возросли требования бизнеса к количеству и скорости реализации новых функций, появилась задача выстроить новую архитектуру для повышения скорости и гибкости разработки. Также необходимо было перейти на российские технологии в рамках импортозамещения.   

Цели: 

  • Построить новую архитектуру и незаметно для многомиллионной аудитории перенести авторизационные данные аккаунтов. 

  • Перевести систему из монолита на микросервисы, чтобы сделать удобной работу с эксплуатацией сервиса на Kubernetes и интегрировать параллельную разработку. 

  • Найти и организовать замену СУБД Oracle среди российского ПО, чтобы соблюсти требования законодательства по работе с данными. 

  • Обеспечить mission critical систему личного кабинета вендорской поддержкой, чтобы не допускать даунтаймов работы сервисов.

Результаты

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

Переход личного кабинета на Tarantool проходил во время новогодних праздников. Миграция прошла довольно гладко: команда внимательно отслеживала обращения пользователей и не заметила негатива или сообщений о трудностях. Это стало важным моментом для провайдера — сервис с многомиллионной аудиторией оставался доступным. 

Бесшовная миграция на российскую технологию прошла с полной поддержкой со стороны команды Tarantool. 

Одновременно произведен переход с монолитной на микросервисную архитектуру с развертыванием и эксплуатацией в среде Kubernetes. 

Уникальность проекта

К личному кабинету «Ростелекома» обращаются миллионы абонентов. До перехода на Tarantool сервис хранения абонентских сессий 10 лет работал на Oracle. Важной задачей перехода на новую инфраструктуру работы с данными была абсолютная бесшовность. При такой огромной аудитории даже небольшое неудобство могло вызвать массу обращений в поддержку и повышенную нагрузку на сотрудников провайдера. Должен был сохраниться кэш сессий всех пользователей, чтобы им не приходилось заново вводить логины и пароли после миграции личного кабинета. Миграция должна была произойти ночью в новогодние праздники незаметно для абонентов. 

Миграцию готовила объединенная команда из специалистов Tarantool и «Ростелекома». Совместная работа шла от этапа прототипа до сопровождения миграции. Между командами шел постоянный обмен опытом. Эксперты от Tarantool предлагали решения, а коллеги из «Ростелекома» делились обратной связью о работе сервиса для решения своих задач и предлагали разработать дополнительные фичи. 

Проект решает задачи импортозамещения
Да
Использованное ПО

Tarantool в версии Enterprise Edition, коробочная NoSQL-база данных Tarantool DB. 

Сложность реализации

Для рефакторинга личного кабинета требовалась In-memory DB — решение для хранения сессий и авторизационных данных. От Redis отказались, потому что у этой базы данных нет вендорской поддержки в России. Личный кабинет — критически важный сервис, которому необходима оперативная поддержка вендора. Ситуация, при которой абоненты не могут зайти в кабинет и оплатить услугу, недопустима. 

Специалисты Tarantool продолжили сопровождать команду «Ростелекоме» после развертывания инфраструктуры. Во время нагрузочных тестов подключался специалист для консультации и поддержки. «Ростелекому» помогали с обновлениями и переходом на свежие версии Tarantool, которые включали в себя фреймворки для Spring Boot. Сейчас все обновления проходят в автоматическом режиме. 

Для «Ростелекома» было важно быстро наладить мониторинг серверов и продуктивной среды. Специалисты Tarantool помогли с настройкой. Внедрению способствовало наличие большого количества встроенных мониторингов и готовых дашбордов для Grafana. 

Описание проекта

На выбор в пользу Tarantool повлияли следующие факторы: 

  • отечественная разработка;

  • включение Tarantool в реестр Министерства цифрового развития;

  • помощь и подробные консультации еще до перехода на платную версию;

  • постоянная связь с технической поддержкой; 

  • совместимость с операционной системой «РЕД ОС»;

  • наличие инструментов автоматического развертывания тестовых и продуктивных контуров;

  • наличие модуля миграции схем и данных;

  • наличие модуля очистки данных expirationd.

Разработчики «Ростелекома» еще до внедрения Tarantool сделали рабочий прототип новой архитектуры на версии Community Edition. Но у него были ограничения по развертыванию и возможностям вендорской поддержки на серьезной нагрузке. Поэтому разработчики обратились к команде специалистов, состоящей из разработчиков ядра Tarantool, представителей внедрения, архитекторов и руководителя проекта. Для «Ростелекома» провели вебинары с обзором Tarantool, рассказали об особенностях технологии. После совместной проработки технической архитектуры и топологии решения специалисты «Ростелекома» пришли к выводу, что нужна версия Enterprise Edition. 

Во время обсуждения решения вендором как раз разрабатывался новый продукт на базе платформы Tarantool — коробочная NoSQL-база данных Tarantool DB. Она идеально подошла «Ростелекому», потому что включает в себя готовый набор прикладных модулей и функций, инструменты мониторинга, автоматизации развертывания, обновления, резервного копирования и восстановления данных.

География проекта

Россия

Коментарии: 2

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

  • Кирилл Косолапов
    Рейтинг: 20
    ООО дата4
    CEO
    18.11.2024 12:06

    Подскажите, за счет чего обеспечивалась бесшовность перехода? Насколько знаю, у вас есть одна из лучших технологий CDC. Вы ее использовали? И какие гарантии скорости и консистентности были обеспечены при переносе данных?

    • Максим Манафов Кирилл
      Рейтинг: 68
      Ростелеком
      Руководитель проектов, Департамент развития систем управления взаимоотношениями с клиентами
      03.12.2024 22:32

      Добрый день!Вопрос переноса данных действительно является интересным, особенно в современных реалиях повсеместного импортозамещения.Перед нами стояла задача миграции более 10 миллионов сессий из Oracle в Tarantool. По нашим подсчетам это могло занять 6 часов.Личный кабинет не мог быть недоступен такое продолжительное время, и у пользователей должна была оставаться возможность авторизовываться и взаимодействовать с личным кабинетом.Использование технологий CDC было одним из вариантов решения. Однако такие технологии лучше использовать, когда, например, необходимо продолжительное время поддерживать актуальность данных в обеих БД или собирать различную аналитику.Мы рассматривали различные инструменты, такие как ora2pgpro и утилиты команды Tarantool. Проведя анализ данных решений, мы решили выработать свое решение, которое основывается на тех же принципах, что и CDC системы.На подготовительном этапе мы написали небольшую утилиту, которая могла получать данные из одной БД, преобразовывать их, а затем складывать в Tarantool. А также подготовили триггеры, которые записывали все изменения исходной таблицы в отдельную.Сама миграция состояла из 3 основных этапов:- взятие снимка исходной БД за 12 часов до релиза, запуск триггеров, которые записывают любые изменения во временную таблицу;- преобразование, дополнение и миграция данных в Tarantool созданной утилитой;- во время релиза остановка в период минимальной нагрузки на непродолжительное время и перенос данных из временной таблицы с изменениями с помощью той же утилиты.Сессии пользователей были сохранены, и они смогли продолжить использовать личный кабинет без потери токенов авторизации.Считаем, что мы нашли оптимальное решение с точки зрения затрат на ресурсы и плавности перехода для пользователей.

Год
Предметная область
Отрасль
Управление
Мы используем файлы cookie в аналитических целях и для того, чтобы обеспечить вам наилучшие впечатления от работы с нашим сайтом. Заходя на сайт, вы соглашаетесь с Политикой использования файлов cookie.