Главная » Хабрахабр » Рождение виртуального мобильного оператора: проект «Банка Тинькофф»

Рождение виртуального мобильного оператора: проект «Банка Тинькофф»

Стремясь расширить спектр клиентских услуг, банки осваивают и новые для себя сферы деятельности. Сегодня банки всё активнее «оцифровывают» клиентские сервисы и каналы коммуникации со своими клиентами: персонализируют обслуживание на основе данных клиента, внедряют дистанционные сервисы самообслуживания, чат-боты, виртуальные ассистенты, в том числе системы с элементами искусственного интеллекта (AI) и технологиями распознавания речи. Сейчас мы совместно с «Теле2» участвуем в проекте «Банка Тинькофф» по созданию виртуального оператора «Тинькофф Мобайл».
Один из примеров – технология мобильных виртуальных операторов связи (MVNO, mobile virtual network operator).

Что такое «виртуальный мобильный оператор»?

На Хабре уже есть хорошие статьи, объясняющие суть «виртуального мобильного оператора». Здесь лишь скажем, что виртуальный мобильный оператор — это виртуальная (программная) сеть, управляемая одной компанией, использующая физическую сеть связи, принадлежащую другой компании.

Это означает, что, когда все компоненты будут введены в строй, с точки зрения создания клиентских услуг новый виртуальный оператор мало чем будет отличаться от оператора «настоящего». «Тинькофф Мобайл» строится по схеме Full MVNO. Весь клиентский трафик пойдет через виртуального оператора, который фактически является для абонентов точкой входа в интернет. «Тинькофф Мобайл» будет арендовать ресурсы сети базовых станций у оператора-партнёра, в качестве которого выступает «Теле2», при этом инфраструктура ядра сети и бизнес-приложения у MVNO будут собственные.

Архитектура виртуального оператора

Нашу компанию выбрали для построения элементов ядра мобильной сети. Для нас это был первый подобный проект — сегодня MVNO в мире мало, особенно в России. С момента старта проекта до совершения первого клиентского звонка прошло всего 4 месяца, это очень быстро по меркам телеком-индустрии. Система спроектирована так, чтобы можно было модернизировать её без остановки работы, просто добавляя вычислительные узлы.

На текущий момент она выглядит следующим образом: Из каких «кубиков» состоит архитектура виртуального оператора?

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

В основном это решения не традиционных крупных телеком-вендоров, а новые продукты компаний, которые активно выходят на рынок телеком-решений и теснят старых игроков. Все представленные на схеме компоненты являются программными, исполняемыми на обычных серийных серверах. Конечно, традиционные вендоры тоже начали двигаться в сторону виртуализированных программных решений, но у них пока не получается полностью «отвязаться» от своих старых технологий, в то время как новые компании не имеют такого наследия, и их решения могут исполняться на любых платформах, на любых серверах любых производителей. В частности, использованы узлы PGW/GGSN производства компании Affirmed Networks, узлы PCEF (DPI) производства Procera Networks и узлы PCRF Oracle.

Сегодня одна из главных тенденций — отказ от специализированного и очень дорогого оборудования традиционных вендоров в пользу серийных серверов (commercial off-the-shelf, COTS) архитектуры x86 с установленным на них специализированным ПО. В телеком-отрасли всё шире используется Network Functions Virtualization (NFV), технология виртуализации сетевых элементов телекоммуникационной сети, фактически — виртуализация компонентов, обеспечивающих сервис для абонентов оператора связи. Причём оно работает под управлением виртуальной инфраструктуры, то есть запускается внутри виртуальных машин.

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

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

Поэтому мы предложили альтернативный подход — технологию Single Root I/O Virtualization (SR-IOV). Другой недостаток режима PCI Passthrough заключается в невысокой плотности размещения ресурсов из-за невозможности совместного использования одного устройства несколькими гостевыми ОС, потому что каждая гостевая ОС в таком режиме использует устройство монопольно.

Но при этом устройство доступно одновременно для нескольких виртуальных машин, независимая обработка прерываний и DMA для каждой машины выполняется с помощью технологии Virtualization Technology for directed I/O (VT-d). SR-IOV позволяет использовать устройство напрямую, как и в режиме PCI Passthrough, минуя гипервизор.

Физическая функция (PF) остается на уровне гипервизора и под его управлением. При включении режима SR-IOV сетевое устройство «расщепляется» на одну физическую функцию (Physical Function или PF) и несколько виртуальных функций (Virtual Function или VF). Вопрос производительности VF внутри VNF решается за счет применения фреймворка Data Plane Development Kit (DPDK). Виртуальные функции (VF) передаются в гостевые ОС и становятся сетевыми интерфейсами виртуальных сетевых функций (NFV) для взаимодействия с внешним миром. Фреймворк позволяет значительно повысить производительность NFV при обработке сетевого трафика. Изначально он был разработан в Intel, а затем передан открытому сообществу. Использование комбинации DPDK и SR-IOV для виртуализации сетевых функций — обязательное требование при построении высокопроизводительного NFV-решения, поскольку от него зависит скорость работы «интернета» на смартфонах абонентов.

Итоги

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

В итоге система вышла в коммерческий режим эксплуатации 14 декабря 2017 года. После запуска системы, первого звонка и первого выхода в сеть на смартфоне с SIM-картой нового виртуального мобильного оператора, ещё два месяца настраивались бизнес-правила, проводились приемо-сдаточные испытания.


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

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Образ современного тестировщика. Что нужно знать и уметь

Мол, знать ничего не нужно, уметь и подавно, достаточно желания и готовности не сильно щуриться от боли и слёз, когда тебе прилетает очередной набор тест-кейсов для регрессионного тестирования. Бытует мнение, что простейший путь к IT лежит через тестирование. Сейчас же ...

[Из песочницы] Нейронная сеть с использованием TensorFlow: классификация изображений

Привет, Хабр! Представляю вашему вниманию перевод статьи «Train your first neural network: basic classification». Для создания нейронной сети используем python и библиотеку TensorFlow. Это руководство по обучению модели нейронной сети для классификации изображений одежды, таких как кроссовки и рубашки. Установка ...