• 526

    Заявлено проектов

  • 443

    Опубликовано проектов

  • 153

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

  • 1323

    Количество голосов

  • 25

    Дней до окончания голосования

← Вернуться к списку

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

  • Руководитель проекта со стороны заказчика

  • Категория

  • Номинация

  • Цели

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

    Цели: 

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

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

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

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

  • Сроки выполнения

    ноябрь, 2023 — июнь, 2024
  • Год завершения проекта

    2024

  • Масштаб проекта

    640 человеко-часов
  • Результаты

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

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

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

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

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

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

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

  • Проект решает задачи импортозамещения

    Да

  • Использованное ПО

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

  • Решение из каталога Global CIO

    В проекте не используются решения из каталога Global CIO

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

    Для рефакторинга личного кабинета требовалась 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

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

  • Кирилл Косолапов

    Кирилл Косолапов

    ООО дата4

    CEO

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

      Максим Манафов

      Ростелеком

      Руководитель проектов, Департамент развития систем управления взаимоотношениями с клиентами

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

    Ростелеком

    Ростелеком

  • ИТ-поставщик

    Tarantool

    Tarantool

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