Бесшовная миграция на новую архитектуру личного кабинета для миллионов абонентов телеком-оператора с помощью 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. Она идеально подошла «Ростелекому», потому что включает в себя готовый набор прикладных модулей и функций, инструменты мониторинга, автоматизации развертывания, обновления, резервного копирования и восстановления данных.
-
- География проекта
Россия