Эту статью можно рассматривать как один из частных случаев нашего способа принимать решения о разработке и развития продуктов. Если вам интересна тема выбора, какие фичи и в каком приоритете нужно реализовать в своем продукте, то рекомендуем к прочтению «Как мы выбираем идеи для развития своих продуктов: вендор должен уметь слышать…».

Начинаем с Oracle


С самого начала Forward Billing использовал в качестве СУБД решения Oracle. С учетом давности начала разработки продукта это было фактически единственным верным решением по выбору базы данных.

Упрощенная техническая схема работы Forward Billing (БД, сервер приложений, веб-сервер, веб-браузер клиента) со стрелочками между элементами, показывающая взаимосвязи.


A long time ago in a galaxy far far away…

Даже сейчас, по прошествии 14 лет, Oracle является основной СУБД нашего биллинга и используется для хранения всей учётной и регламентированной информации.

Однако эволюция превратила биллинговую систему в линейку BSS/OSS из 16 продуктов, которые полностью закрывают оператору связи все его потребности — от CRM и PRM и до Service Provisioning и DMP. Появились клиенты обслуживающие многомиллионные базы абонентов, изменился сам рынок. И использование только Oracle перестало соответствовать бизнес-требованиям современных компаний.

Скорость и деньги


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

Объективно, не всем заказчикам требуется огромная производительность критически важных процессов в системах. Если абонентов не очень много, то на первое место выходят гибкость, технологичность и умение быстро интегрироваться с партнерами и выводить на рынок интересные предложения. Если например заказчик – новый виртуальный оператор связи с ограниченным перечнем услуг в своей нише, ему не требуются мощности для обработки 10 млн базы, ему нужен инструментарий позволяющий очень быстро обрабатывать имеющуюся информацию и принимать решения в реальном времени.

Есть три основных фактора, на которые мы смотрим при отборе технологий для расширения своего рабочего стека и внедрения в продуктовую линейку:

  • Технологический — скорость и надежность работы, текущий опыт использования.
  • Стоимость владения – покупка лицензий, персонал (включая поиск и найм специалистов для нас, как разработчиков, и для клиента, в качестве in-house специалистов).
  • Перспективность – как долго технология существует, кто её разрабатывает, в каких проектах используется и насколько вероятно, что разработчик/владелец технологии в 5-летний срок прекратит развитие.

Оценивая эти факторы, мы сформировали для себя набор из Oracle, PostgreSQL, Hazelcast и Tarantool, которые применяем сейчас.

Oracle – основа крупных и ответственных проектов, долговременное целостное хранение и обработка агрегированных данных.

PostgreSQL – Заинтересованность в использовании PostgreSQL выказывают сейчас компании с государственным участием. Но крупные наши клиенты — банки, крупные операторы – скорее пока не готовы рассматривать эту СУБД в качестве основной. Тематика PostgreSQL сейчас на слуху, многие интересуются, обсуждают, просчитывают различные варианты. Для работы с госсектором и с аффилированными им организациями – это бесспорно основной на текущий момент вариант замены Oracle.

Анекдот в качестве картинки:



Tarantool – сейчас используется как одна из основных компонент Forward OSS. Нами запланировано на 2020-2021 годы миграция на Tarantool, еще пары систем из нашей линейки продуктов. Мы видим хорошую точку роста за счет вынесения подсистемы на отдельную быструю БД. Пока не все из наших заказчиков воспринимают Tarantool, как достаточно серьезную технологию, но здесь лучший аргумент «За» — это успешные результаты промышленной эксплуатации. Так что время покажет оправдает ли себя Tarantool.



Hazelcast – для перемалывания больших объемов данных на лету и последующей передачи результатов расчетов в биллинговую систему. Мы используем Hazelcast в Forward Fusion – это система онлайн-тарификации используемая для предоставления услуг по препейд модели и в Forward PC (продакт каталог) — это инструмент разработки и управления маркетинговыми активностями компании позволяющий формировать пакеты предложений в режиме реального времени. Среди российских вендоров мы одни из первых начали применять эту технологию. Большинство препейдных систем, эксплуатирующихся в России, разработаны еще лет 10 назад, у них другой технологический стек и они медленнее и тяжелее нашего решения. Нам Hazelcast нравится, потому что:

  1. Хорошо горизонтально масштабируется, удобно кластеризуется.
  2. Дает достаточно хорошую отказоустойчивость, когда его используешь в кластере из трех элементов.
  3. Удобно наращивается нодами. У нас шаг от 500 тыс. до 1 миллиона абонентов на одну ноду.



Реальные предпосылки


После схемы работы СУБД давайте еще раз вернемся к пользователям – мы ведь из-за них расширяем технологический стек и морочимся с различными СУБД для обеспечения быстрого доступа к множеству связанных данных при расчете транзакций в биллинге.

Вообще, надо здесь пояснить нашу позицию по вводу новых технологий в платформу Forward. Мы коммерческая организация и не можем позволить себе безлимитно тратить время на непрерывное изучение и опробирование всех новых технологий подряд, ресурсы R&D ограничены. Наша задача внимательно прислушиваться к рынку и своим сотрудникам. Если проскальзывает перспективная на первый взгляд технология, то делается обзор схожих по классу решений. Смотрим на:

  • Стоимость разработки.
  • Стоимость эксплуатации.
  • Сложность обслуживания.

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

С другой стороны, опыт работы с зарубежными клиентами говорит, что там от нас ждут Oracle. Да, если мы анонсируем, что дополнительно работаем с Hazelcast и Tarantool, то это может быть воспринято, как какой-то дополнительный плюс, но в первую очередь – Oracle.

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

Сейчас есть рыночный тренд и некое общее нагнетание атмосферы ухода на нереляционные базы данных, отказа от политик лицензирования, использование бесплатного ПО, отказ от «тяжелых» проприетарных решений. Рынок даже в лице некоторых крупных компаний хочет на уровне политики закупок работать со свободно-распространяемым ПО в попытке экономить. Однако все старые информационные системы не обновятся в мгновение ока, не перейдут на новые технологии. Поэтому мы по сторонам смотрим, новые технологические решения постепенно в платформу вводим, но и об Oracle забывать не будем. Возможно, через 5 лет перечень используемых СУБД существенно обновится, но в перспективе 2 лет каких-то существенных изменений мы не ожидаем.

Мы новые технологии стараемся в первую очередь применять при запуске новых продуктов или при выделении каких-то подсистем в отдельные решения.

В наших SaaS-решениях новые СУБД использовать проще, потому что мы полностью контролируем окружение. Поэтому там процесс миграции на новые — более простые и дешевые в эксплуатации СУБД – идет быстрее. Экономический фактор решает – никто не хочет платить лишнее за лицензии.

Tarantool & Hazelcast — результаты расширения стека технологий Forward Telecom


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

Повышение технических компетенций помогает нам и в разработке новых модулей для Forward Billing. Например, тех, что требуют перемалывать огромные массивы постоянно обновляемых данных по профилям пользователей, поиску Next Best Offer (NBO), срабатыванию автоматизированных триггеров и бонусных аккумуляторов и т.д.

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

Если у вас есть опыт применения Tarantool и Hazelcast в телекоме, биллинговых или учетных системах, вы хотите поделиться знаниями – оставляйте комментарии к статье. Спасибо за внимание!