Как стать автором
Обновить

Как СберБанк Онлайн на микросервисную архитектуру мигрировал и от legacy старался избавиться

Время на прочтение9 мин
Количество просмотров9.7K
Всего голосов 25: ↑22 и ↓3+19
Комментарии26

Комментарии 26

Видимо через пару лет и до использования контейнеров дело дойдёт.
К сожалению, не очень понятно, для чего была проведена миграция, и были ли достигнуты её цели.

Вы как-то можете разгрузить весь тот треш, что творится на фронте в браузере? Писал несколько раз, в разные места, что загрузка онлайн клиента достигает пары минут на низкоскоростном интернете "в деревне" или при раздаче интернета "с телефона".. 56кбод .. вешалка! 300+ запросов к серверу.. финиш. Что там есть такого, что требует стольких запросов для главной страницы "Сбер-онлайн"?!? А размерчик.. жирный минус вашей разработке с моей стороны. :(

Так зато теперь один старый монолитный шаблонизатор и интерфейсы легаси мы заменили на 300 микросервисов, работающих с легаси каждый сам!

Достаточно взглянуть на их csp заголовок


default-src 'self' data: .sberbank.ru .sberbank.ru: vito.sbrf.ru vito.sbrf.ru: suggest-maps.yandex.ru google-analytics.com cdn.rutarget.ru; media-src 'self' blob: .sberbank.ru .sberbank.ru:; font-src 'self' data: .sberbank.ru .sberdevices.ru fonts.gstatic.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' .sberbank.ru .sberbank.ru: .sbrf.ru vito.sbrf.ru vito.sbrf.ru: mc.yandex.ru .mc.yandex.ru .mc.yandex.com yastatic.net api-maps.yandex.ru suggest-maps.yandex.ru core-renderer-tiles.maps.yandex.net .google-analytics.com stats.g.doubleclick.net .rutarget.ru; script-src-elem 'self' 'unsafe-inline' data: .sberbank.ru .sberbank.ru: vito.sbrf.ru vito.sbrf.ru: .yandex.ru yastatic.net .maps.yandex.net google-analytics.com .google-analytics.com .rutarget.ru; worker-src 'self' blob: .sberbank.ru .sberbank.ru:; style-src 'self' 'unsafe-inline' data: blob: .sberbank.ru .sberbank.ru:; child-src 'self' .sberbank.ru .sberbank.ru: cdn.rutarget.ru; connect-src 'self' blob: 127.0.0.1: .sberbank.ru .sberbank.ru: wss://.sberbank.ru wss://.sberbank.ru: vito.sbrf.ru vito.sbrf.ru:* bonus-spasibo.ru calc.sberbank-insurance.ru mc.yandex.md .yandex.ru .yandex.com google.ru google.com .google-analytics.com .doubleclick.net tag.rutarget.ru sync.rambler.ru .ca.sbrf.ru; img-src 'self' blob: data: .sberbank.ru .sberbank.ru: *.sberdevices.ru upload.wikimedia.org mc.yandex.ru mc.yandex.com favicon.yandex.net api-maps.yandex.ru core-renderer-tiles.maps.yandex.net google-analytics.com .google-analytics.com google.ru .google.ru google.com .google.com .rutarget.ru sync.rambler.ru static-maps.yandex.ru; frame-src blob: data: *.sberdevices.ru *.rutarget.ru; report-uri https://web6-new.online.sberbank.ru/api/log/report

таких уже не спасти.

Да там проблем и без этого хватает. Например, открываем 2 вкладки, в одной работаем, в другой протухает сессия, в результате, при переходе куда-либо на первой вкладке сессия тоже считается протухшей, и идёт перенаправление на повторный логин.

Это прям вообще огонь, заполняешь реквизиты для какой-либо оплаты, нажимаешь оплатить, а тебе говорят, перелогинься и заполни платёжку заново. Ю - юзабилити.

  • Развитием продукта занимается больше 200 команд.

Это только СБОЛ? Команда SWIFT не грустит?

Почему "СБОЛ", а не "СБО"? "Online", что в английском, что в русском ("Онлайн") - является самостоятельным словом, а не двумя отдельными.

В аббревиатурах может быть что угодно для благозвучия, можно даже пропускать буквы. Например ГОЭРЛО - государственная комиссия по электрификации России.

  1. Это нужно сохранить для истории

Всё бы хорошо, но на входе — огромное количество команд, которые работают сами по себе, и непонятно, как заставить их двигаться в едином ритме.

Может автор хотел дать определение бардака или намекал, что страна платит громадные зазря Герману Оскаровичу?

  1. Что же касаемо архитектуры, то отложилось в памяти с одного выступления CIO кажется Сити банка

- если поступает запрос на сумму меньше $100, то банк его удовлетворяет без проверки счетов, только ищет карту в заблокированных(а это очень быстро) и только после, через несколько секунд, когда понимает что фрод, блокирует карту или оформляет кредит и т.д.

Кажется отличается от сберовской архитектуры совсем.

Там закон позволяет. На уровне маршрутизации Visa Interchange Center даже есть сервис обработки лимитов операций. То есть банк может в визу загрузить свой стоп-лист, прописать общие лимиты для групп карт своих клиентов и Visa Net будет сама вести учет расходования лимитов. В банк будут только поступать финансовые сообщения пакетами раз в банковский день и сводные отчеты клиринга. Облачные банковские технологии, доступные с прошлого века.

Можешь в банк вообще онлайн не покупать, все за тебя сделают Visa Net и EPSS.

Попробуй у нас такое предложить.

Помню еще время, когда у нас по закону нельзя было выпускать карты с льготным периодом

Слайды с подчеркиванием неизвестных офису слов - что-то новенькое)

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

Server-side Сбербанк Онлайн — именно тот монолит, который мы планируем распилить с вашим участием на микросервисы.

Это внутренние материалы, которые никто и не вычитывал? Чьё "наше" участие планируется? =)

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

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

Но не стал. Потому что ни на один из 14 комментариев Сбер не отреагировал.

Значит, статья — чистый PR, или чей-то KPI. Мнение клиентов СберБанку не важно, даже несмотря на последнее предложение статьи:
Кроме того, если есть вопросы, то задавайте, постараемся ответить!

После перелогина обычно обновляются. В мобильном приложении достаточно его убить и запустить с нуля..

Уе^WЮ - юзабилити

Когда я ещё этим пользовался (пока не стало нужно ставить "правильные сертификаты"), левая панель со счетами у меня вообще часто не отображалась (только тётенька с "Что-то пошло не так, обновите" -- но бесполезно).

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

Зря на безопасников нагоняете)

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

А банки все таки КИИ, тут это важно, как и у провайдеров/операторов.

Пока единственное, на что не в силах повлиять безопасники - сами пользователи, как внутренние, так и внешние. Человек пока остаётся слабым звеном.

Там уже перестали грузить скрипты с чужих (а то и зарубежных) серверов?

Удивляюсь, как это до сих пор живо еще.

Бесконечно длинная миграция стала причиной того, что я перестал быть клиентом Сбербанка (юридически остаюсь, но фактически всю активность перенёс в другой банк). Когда в интерфейсе соседствовали одновременно куски старого и нового, всё лагало со страшной силой, блоки типа истории операций не прогружались и это продолжалось неделями другого выбора, увы, не оставалось. Если монолит всё время продолжал работать, то почему нельзя было сохраняя старую версию параллельно делать новую?

Слова, слова... Даже зная, как оно внутри устроено, не могу сопоставить эти слова с реальными системами.

"Server-side Сбербанк Онлайн" - это что вообще? Старый монолитный Единый Розничный Интернет-Банк, в свое время отжатый у R-Style? Так вроде его уже по большей части попилили на много маленьких медвежат, и теперь там правильнее нарисовать облако систем.

"Здесь стоит сказать, что микросервисы обращаются к legacy, что, в целом, нормально" - что-то даже не могу придумать, как микросервис (т.е. приложение на мидл-слое) может обратиться к легаси (который тоже мидл, но большой). В обоих мидлах есть сервисы только для вызова с фронта, как же они друг с другом общаются?

"команда СберБанка Онлайн" - это о ком? Особенно в сочетании "Развитием продукта занимается больше 200 команд"

"Хорошим решением будет сфокусировать команды на решении этой задачи, добавив KPI и на их уровень" - вот за это команды вам скажут большое благода. Кто-то, похоже, пропустил уроки по мотивации разработчиков.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий