Привет! Я Сергей Шеко, работаю в белорусской Альфе. Раньше отвечал за цифровые каналы для бизнес-клиентов. Сейчас развиваю с коллегами Cloud Native. Он набирает обороты в мире, а вот для банковских проектов в Беларуси это новая тема.
Что такое производственная система банка и при чем здесь Cloud Native?
В широком смысле производственная система банка – это среда разработки, представленная инфраструктурой, инструментами и организацией процесса разработки программного обеспечения. В концепцию нашей производственной системы заложены 5 базовых элементов, которые ее определяют:
Cloud Native. Это подход к созданию и запуску приложений и сервисов, созданных специально для развертывания и эксплуатации в облачной инфраструктуре, что дает возможность командам разработчиков выйти на принципиально новый уровень эффективности.
Private Cloud. Так как практически любая банковская операция подразумевают работу с персональными данными, то тут требуется повышенный уровень защищенности. Поэтому когда мы говорим об облачным технологиях применительно к банку, то говорим не о публичном облаке, а о нашем собственном облаке или Private Cloud. При этом такое частное облако может быть размещено как на наших собственных серверах, так и в публичных Data-центрах. Просто в случае с публичным Data-центром оно будет выделено исключительно под нас, обособлено и, по сути, являться нашим частным облаком.
Микросервисы. В Cloud Native реализуется архитектурный подход к созданию систем и доведению их до «прома», при котором приложения разрабатываются как совокупности относительно небольших обособленным сервисов. Каждый сервис реализует свои функции. Например, микросервис «депозиты» реализует только функции работы с депозитами, микросервис «карты» - карточные. Особенность в том, что каждый микросервис может быть доработан, перезапущен и масштабирован независимо от других сервисов в работающем приложении. Что особенно важно – это позволяет проводить частые обновления наших систем без их остановки.
API. Микросервисы общаются между собой через стандартизированные программные интерфейсы - API. Один из принципов нового подхода - организация процесса разработки, при которой разработка любого сервиса стартует с API-контракта.
DevOps практики. Современную производственную систему невозможно представить без высокого уровня автоматизации технологических процессов сборки, тестирования, настройки и развёртывания программного обеспечения. Если не уделять этому особого внимания, то выходит что-то вроде ИТ-ремесленничества. Когда мы говорим о промышленном подходе, то нужна фабрика, автоматизированный конвейер для разработки приложений. Именно это дает скорость и эффективность.
Какие есть требования к производственным системам на сотни критичных бизнес-процессов?
Банки сами по себе клиентам не особенно нужны. А вот банковские операции – очень. И они должны быть удобными, быстрыми и работать безотказно. Целый ряд банковских функций уже реализован технологическими гигантами. А нацеленные на развитие банки по всему миру трансформируются в технологические компании. И тут уже играет роль масштаб. Среднестатистический банк имеет сотни бизнес-процессов и огромную паутину приложений и систем, их поддерживающих. Чтобы развивать все это в современной парадигме, такой как Agile, нужны десятки scrum-команд. И при этом они должны быть максимально независимыми, иметь возможность быстро вносить изменения, проверять гипотезы, тестировать свои разработки и доставлять ценность до конечных пользователей без остановки систем.
Это невозможно сделать без инженерной составляющей – современной производственной системы. Я видел огромное количество примеров, когда цифровые трансформации проваливались, потому что забыли про инженерку. То есть выделили бюджет, собрали много команд, которые потом безуспешно суетятся вокруг какого-нибудь монолита. Я и команда изначально инвестируем в производственную систему, чтобы цифровая трансформация принесла плоды.
Для себя очень четко определи, что банк должен быть: Быстрым, Гибким, Масштабируемым, Надёжным, Эффективным и Красивым. К этому и идем.
Как будет выглядеть архитектура после цифровой трансформации?
Команды должны быть максимально независимыми, поэтому на фронтах это модульные приложения на React, слой REST API, бизнес-логика - Cloud Native микросервисы на Java Spring, хотя тут может быть и Kotlin и .Net. Главное, это Сloud-native микросервисы с API, а конкретный язык реализации может быть разным. От монолитных систем на бэке в ближайшей время не отказываемся, а в будущем и над этим стоит подумать.
Вот как мы отразили эту архитектуру в своей стратегии:
Наша цель – трансформировать банк, собрать его вокруг клиентских историй. Именно при таком подходе кросс-функциональная команда может быстро доставить ценность до конечного клиента, а весь банк будет представлять собой однородную систему, состоящую из микросервисов.
Как устроена производственная система изнутри?
Для создания производственной системы мы использовали целый ряд инструментов. На рынке их, конечно, множество. Пришлось тщательно выбирать. Для этого сформулировали два важных принципа:
Open source/стандарт отрасли. Выбираем лучшие решения, ставшие де-факто стандартами индустрии, при этом отдаем предпочтение Open Source. Максимально избегаем зависимости от одного вендора. Накапливаем экспертизу внутри (in-house).
Automation friendly. Нам важна автоматизация процесса, поэтому все используемые инструменты, от разработки и сборки до тестирования и разворачивания инфраструктуры, должны легко включаться в автоматизированные пайплайны. Подход «инфраструктура как код» для нас, в этом смысле, тоже очень важен.
В итоге общая концепция выглядит так:
Безусловно, производственная система – живой организм. По мере «переезда» на нее разрабатываемых решений, запуска новых проектов, появляются и новые инструменты и, уже сейчас, это далеко не исчерпывающий перечень. Инструменты, при необходимости, могут заменяться на аналоги. Но при этом единый архитектурный подход в нашей работе имеет огромное значение.
Какие требования мы предъявляем к тем, кто проводит трансформацию
Экспертиза – это история про людей. Мы много внимания уделяем развитию команды блока ИТ. И мы, конечно, активно набираем профессионалов. Приходят очень талантливые ребята с разносторонним опытом, в том числе с опытом работы на масштабных зарубежных проектах. В синергии команды и есть магия.
Кстати, мы ежегодно проводим опросы по вовлеченности и в этом году впервые за всю историю банк анонимный опрос по шкале Атмосфера и Коллеги показал результат 100 из 100 баллов. Конечно, это не повод думать, что расти дальше некуда. Есть огромное количество не решенных пока вопросов. Но людям нравится атмосфера, возможности развития, сложные проекты и это очень важно для результатов и для качества жизни и работы тех, кто с нами в команде.
А в части дальнейшего развития, конечно, мы продолжим инвестировать. Без современной производственной системы и слаженной ритмичной работы банк просто не сможет конкурировать на рынке, быстро адаптироваться под изменяющие условия. Главные достижения еще впереди!
Так что если у вас экспертиза, опыт крутых проектов, желание развиваться – пишите нам на Sergey.Sheko@alfa-bank.by и присоединяйтесь к команде.
Комментарии (11)
makar_crypt
25.05.2022 22:49-1Меня больше интересует разделение Ордеров и баланса, тоесть если тут эвентная система, то или через резерв или через списание с откатом , при этом если это всё работает в реалтайме, то пользователь увидит что у него списали деньги , а в случаи не удачи вернули , в 2022 году для банка это приемлемо ?
ustas33
26.05.2022 11:31Мне вот без разницы банковская апа выглядит, и на чем крутится, хоть Foxbase и морда на TurboVision, хоть на смарт контрактах.
Сейчас заходишь в ТКС, и как на рынок с циганями попал. Там и билеты в кино, и купоны и скидки, и где то под капотом через 10 минут поиска банковские услуги.Sergey_Sheko Автор
26.05.2022 15:29Это так. Но все, что под капотом, помогает "цыганам" работать стабильно и быстро. Условно)
artemlight
26.05.2022 15:26А я вот клиент белорусской альфы, и мне есть что добавить :)
Все три клиентских сервиса - апп, вебапп и банкоматы - сильно фрагментированы. особенно это ощущается после российского ТКС, где все эти сущности крайне близки друг к другу и практически не различаются.
У аппы есть огромный потенциал - но она его не развивает. Всё через ерип, как и у всех - хотя можно же было "очеловечить" хотя бы самые частые платежи типа телефона или коммуналки.
Апп стартует с рабочего стола, с которого можно платить, но на который нельзя вытащить состояние счетов. Это меня сильно удивило - чтобы узнать, сколько у тебя денег, нужно куда-то переключиться и проскроллить.
Альфа в РБ не умеет в виртуальные карты! Даже Беларусбанк умеет, а Альфа нет.
Из странных вещей - курс обмена валют не зависит от обмениваемой суммы. Да, можно сделать заявку на спецкурс, и её скорее всего удовлетворят - но почему сразу не снижать комиссию при обмене ну скажем от 5k$? .
В этом контексте странно работает альфа-курс. Я грешным делом думал, что вот круто, я могу $2k в месяц по биржевому курсу менять бесплатно (в рамках тарифа). А оказалось, что нужно ещё какие-то баллы добивать итд. Непрозрачно всё это - ставить какие-то условия (путь даже вполне себе выполнимые, но сам факт!) для обмена валюты, да ещё и с фиксированной комиссией.
При этом в аппе есть минимум четыре квазивалюты - бонусные баллы, бесплатный лимит по обмену альфа-курса, общий лимит по обмену через альфа-курс, количество и сумма платежей за месяц. Недостаток любого из этих артефактов приводит к изменению стоимости обслуживания (или напрямую, или косвенно). Я понимаю, что всюду были благие намерения - но в итоге создаётся ощущение, что банк пытается тебя нарочно запутать.
Бонусный квест: запаркуйтесь где-нибудь в зоне действия платной парковки и попробуйте оплатить парковку из аппа. Сравните с тем, как это работает хотя бы в польском IKO\SkyCash\итд.
artemlight
26.05.2022 15:27а, забыл совсем сказать!
Двухфакторки в вебаппе нет, и это выглядит слегка диковато.
artemlight
26.05.2022 15:34Вообще в качестве домашнего задания могу порекомендовать следующее:
1) Потыкать приложения российских банков (Сбер, Тинькофф - у последнего ещё и в Инвестиции обязательно сходить советую). Ключевые слова - прозрачные условия обслуживания, скидочные системы.
2) Потыкать приложения российских ОПСОСов - как минимум Мегафон и Билайн. Там очень много удачных паттернов реализовано, от интерфейса до процедуры регистрации.
3) Посмотреть, как в той же Варшаве работает SkyCash. Ну и в качестве "большого неповоротливого госбанка - приложенька IKO). Обратите внимание на то, как городские сервисы интегрируются в платежные системы. Талончики на транспорт, парковка, билетики на поезда-электрички и вот это всё.
4) Хватит пользоваться белпочтой. Ну серьёзно, курьеры сейчас пиццу привозят за полчаса, а тут серьёзный финансовый продукт и неделю ждать доставки.
BiW
Не в обиду сказано, но все это выглядит не очень внушительно на фоне ситуации, когда приложение банка нужно качать где-то в каких-то телеграмм-каналах, а в самом приложении, внезапно, перестают работать самые базовые вещи, навроде вынесения ярлыков на рабочий стол...
И все это на фоне постоянных заверений руководства банка о том, что "санкции нас не касаются, они только против россйиского альфа-банка".
А так да, хороший банк был, мне нравилось...
Sergey_Sheko Автор
Ситуация сложная, практически все столкнулись в этими проблемами впервые и без какого-либо рабочего алгоритма.
При этом официально Альфа в РБ не в санкционных списках ЕС и США, хотя банк они затронули
Но сейчас мы начинаем работать в новых условиях, есть большие амбиции по развитию айти-блока, от которых не отказываемся.