Декомиссия монолита: импортозамещение решения с монолитной архитектурой, построенном на иностранной СУБД, вендор которой ушел из РФ

Заказчик:
ПАО Московская Биржа
Руководитель проекта со стороны заказчика
Поставщик
Unitarius
Год завершения проекта
2024
Сроки выполнения проекта
апрель, 2021 — ноябрь, 2024
Масштаб проекта
94000 человеко-часов
Цели
  1. Перевести устаревшую систему с проприетарного на OpenSource технологический стек.

  2. Осуществить редизайн архитектуры системы, обеспечить переход с монолитной архитектуры на микросервисную.

  3. Реализовать поэтапное и бесшовное внедрение нового решения.

Результаты
  • Произведен редизайн архитектуры KYC профиля клиента. Выработана новая архитектура с учетом перехода на Low-code BPM платформу (хВРМ).

  • Обеспечен бесшовный переход из старой системы в новую.

  • Разработан механизм синхронизации данных между новой и замещаемой системами.

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

  • Выполнена полная миграция всех данных в новую систему, включая исторические данные.

  • Добились существенного сокращения сроков и стоимости новых доработок за счет внедрения Low-code платформы хВРМ.

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

Единая клиентская база данных представляет собой масштабное решение со сложными бизнес-процессами и сложными данными. В рамках проекта было реализовано импортозамещение решения с монолитной архитектурой, построенном на СУБД Oracle. Для этого осуществлен перевод системы с проприетарного на open source технологический стек и реализовано бесшовное внедрение нового решения.

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

В рамках проектах был произведен редизайн архитектуры и выработана новая архитектура: 

  • Переход с монолита на микросервисы. 

  • Микросервисы сочетают или Pro-сode (Java и React) или Low-сode (xBPM) в зависимости от того, что лучше подходит для реализации требований. 

Проект решает задачи импортозамещения
Да
Использованное ПО
  • Low-code платформа хВРМ

  • Java

  • React

  • PostgreSQL

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

Масштаб системы, которую нужно было трансформировать – около 1 000 000 строк кода. В качестве системы хранения использовался Oracle, который нужно было импортозаместить.

Перед трансформацией Система представляла собой:

  • Самодельный DAO слой на основе XML-based DSL с логикой в хранимых процедурах.

  • Почти любая сущность – это «документ» - таблица в 100000 колонок.  Присланный клиентом устав юрлица, договор, заявка на оказание услуги, оповещение от биржи клиенту, сертификат ЭЦП – это всё «документы».

  • Большое количество логики в триггерах («постпроцессы»). Из application serverа на java не контролируется изменение всех объектов. Изменение любого объекта может произойти по триггеру.

При этом присутствовал существенный объем постоянно идущих доработок функциональности по бизнес-требованиям, которые исходят из десятка подразделений биржи. Как следствие – высокий уровень связности «всего со всем».

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

Единая клиентская база данных (ЕКБД) – это система управления инструментами, которыми торгует биржа, и участниками, которые подключены к торгам и могут выставлять заявки. Данные из ЕКБД поступают в торговые и клиринговые системы биржи. Характеризуется сложностью процессов и сложностью данных, которыми необходимо управлять.

Ключевой задачей проекта была необходимость перевести Единую клиентскую базу данных с проприетарного на open source технологический стек и реализовать поэтапное, бесшовное внедрение нового решения.

Был выбран стек PostgreSQL + Java + ReactJS и микросервисы, разворачивающиеся в кластере Kubernets. В качестве инструмента была выбрана платформа хВРМ за совместимость с базовым технологическим стеком и возможность реализации гибкого по функционалу решения с возможностью дальнейшего масштабирования, полностью кастомизированное под бизнес-процессы и бизнес-задачи биржи.

На платформе xBPM реализована подсистема  управления KYC профилем клиента биржи (участника торгов или эмитента). В рамках проекта был произведен редизайн архитектуры и выработана новая архитектура с учетом перехода на Low-code BPM платформу.

Сотрудниками был разработан механизм синхронизации между новой и замещаемой системами и обеспечен бесшовный переход из старой системы в новую.

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

Каждая итерация перехода состояла из следующих шагов:
   
1.  Разработка и тестирование:
  • Бизнес-функции для новой системы в виде отдельного микросервиса.

  • Встраивания UI нового микросервиса в UI старой системы в режиме feature toggle.

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

  • Онлайн интеграционных потоков от старой системы к микросервису и от микросервиса к старой системе.

  • Процедуры сверки старой и новой систем по набору сущностей, относящихся к микросервису.
2.  Выполнение процедуры миграции данных по бизнес-функции в промышленной среде.

3.  Перевод пользователей к вводу данных в новом микросервисе (переключение feature toggle).

4.  Выгрузка актуальных данных из новой системы в старую БД для обеспечения временной обратной совместимости с существующими потребителями информации на период миграции.

Также по запросам биржи была доработана платформа xBPM:

  • добавлена поддержка бизнес-истории;

  • расширили механизм встраивания через iFrame;

  • доработан механизм аутентификации и авторизации для соответствия стандартам Биржи;

  • добавлена поддержка REST API и Swagger;

  • оптимизирована производительность UI.

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

РФ

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

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