Как заменить двигатель самолёта прямо в полёте? ™️
Примерно так выглядит смена базы данных для платёжной системы федерального масштаба. Для небольших сервисов это довольно рутинная операция. Но когда нужно непрерывно обрабатывать большое количество операций, пауза в работе критична для всех: для бэк-офиса, для клиентов и для корпоративного сегмента.
Наша команда вместе с АО «ПрограмБанк» завершила один из этапов импортозамещения ИТ-инфраструктуры.
Мы полностью перевели автоматизированную банковскую систему «ПрограмБанк.АБС» на Linux и СУБД PostgreSQL.
Условия были жёсткими: финальное переключение между базами данных должно было занять не более нескольких часов, а пауза в работе бэк-офиса — оставаться минимальной.
Как мы с этим справились:🟣 Разработали многоступенчатый подход. Команда АО «ПрограмБанк» качественно выполнила работы по разработке ядра АБС.
🟣 Уделили особое внимание производительности. Большое количество транзакций требует тщательной оптимизации как процедуры конвертации данных, так и штатных операций на новой СУБД.
🟣 Выстроили миграцию по принципу дублирования бизнес-логики. Для этого развернули специальный контур вычислительных мощностей: две системы работали параллельно на одном потоке входных данных, и новая обрабатывала те же транзакции, что и действующая.
🟣 Работали итерациями. На каждом этапе фиксировали расхождения в бизнес-показателях и времени обработки, устраняли выявленные недостатки и повторяли цикл.
«Чтобы убедиться, что все данные обрабатываются корректно, взаимодействие с внешними системами работает штатно, а технические показатели находятся в допустимых пределах, мы провели несколько этапов моделирования. Добившись полного соответствия по финансовым показателям и приемлемого уровня временных характеристик, выполнили итоговое переключение», — рассказывает директор департамента внутренних систем ЮMoney.
Итог: переключение заняло считаные часы, а замену платформы не заметили ни клиенты, ни сотрудники бэк-офиса 🔥
Хотите решать задачи такого масштаба? Присоединяйтесь к ЮTeam на нашем сайте 👈