Содержание:
Популярность платформенного подхода и микросервисной архитектуры в ИТ-системах крупных компаний во многом связана с успехом глобальных гиперскейлеров — Google, Amazon, Azure, которые положили в основу своих облачных решений платформенный подход и набор сервисов с четкими API и строгими SLA. Оказалось, что платформенно-сервисная архитектура отлично подходит для создания эффективной и хорошо управляемой ИТ-инфраструктуры в крупных организациях с развитыми процессами внутренней разработки. Расскажем, как на основе этих подходов в Газпромбанке построили сервисно-цифровую платформу и изменили культуру информатизации бизнеса.
А вот у платформенного решения ключевые показатели KPI — скорость разработки, доступность и стабильность. В идею платформы заложены показатели эффективности, связанные с повышением качества и скорости разработки ИТ-продуктов, от чего выигрывают и команды разработки, и происходит улучшение бизнес-показателей стримов.
Зачем мы создавали платформу
Иными словами, главная цель создания сервисной цифровой платформы (СЦП) в «Газпромбанке» — улучшить технические показатели процессов «delivery» компании за счет превращения лучших ИТ-практик в корпоративные стандарты.
Однако влияние, которое оказывает переход на СЦП, выходит далеко за границы чисто технических инноваций. Не менее важен второй аспект изменений - он связан с трансформацией процесса разработки в компании в целом.
Как сервисная платформа изменила организационную модель разработки
В результате общая структура разработки значительно изменилась, превратившись, по сути, в группу стримов. Их внутренняя структура также стала гораздо проще. Например, я как ИТ-лидер платформенного стрима СЦП, ставлю крупные задачи (эпики) своим командам, а технические лиды этих команд управляют распределением задач между конкретными специалистами и сами решают, как они будут реализованы. Без этой трансформации нам вряд ли удалось бы создать эффективно работающую платформу, ведь команда должна уметь выполнить любую задачу самостоятельно: от анализа входящих требований до исполнения требований до эксплуатации сервисов в продакшене.
Как трансформировалась ИТ-инфраструктура и почему это важно
Главная задача платформенного стрима — предоставлять командам качественный платформенный сервис, который помогает быстро, самостоятельно и параллельно друг с другом разрабатывать любые продукты.
Еще один важный результат такого подхода — неограниченные возможности масштабирования разработки: в любой момент в штате банка может появиться новая команда, которая должна быстро выполнять задачи по выпуску новых продуктов, не сталкиваясь с узкими местами — ни в ИТ-архитектуре ни в организационном управлении.
Эта задача уже решена. Ядро платформы работает на направлении интернет-банкинга для физических лиц, где обслуживается несколько миллионов клиентов.
Структура сервисно-цифровой платформы Газпромбанка
Кеширующий слой
Сервисы цифровой платформы реализованы как промежуточный слой между каналами взаимодействия с клиентами и слоем backend-систем. К каналам взаимодействия с клиентами относятся мобильный банк, интернет-банк, фронт-офис и кол-центр. В числе backend-систем — АБС, транзакционные и процессинговые системы.В такой конфигурации платформа играет роль защитного слоя, который за счет кеширования данных защищает работоспособность бизнес-сервисов от высокой нагрузки: микросервисы обращаются за информацией не в backend ПО, а в кеширующий слой. Там накапливаются и хранятся относительно большие массивы данных, уже близкие по объему к терабайту.
Инфосервисы
Так мы называем единый слой интерфейсов API, которые позволяют получить данные в любой клиентский канал. Скажем, если клиент запрашивает баланс карт из мобильного приложения, этот запрос обращается к API платформы.Причем этот слой — достаточно умный: он сам понимает, откуда надо взять информацию. Например, данные кеша в определенный момент могут оказаться неактуальными. Тогда платформа принимает решение обратиться в систему, где хранятся данные, получает их с соблюдением требований к согласованности, завершает обработку клиентского запроса и добавляет сведения в кеш.
С точки зрения практической реализации слой инфосервисов представляет собой микросервисную платформу, работающую внутри СЦП.
Платформа волеизъявления
Волеизъявлением мы называем операцию, которая требует активного действия клиента, например, сделать перевод, закрыть счет, оформить кредит. Наша обезличенная платформа может обработать любое волеизъявление пользователя. Для этого ее работа стандартизирована: новый сценарий подключается по определенному протоколу. Например, если бизнес-команда решит предложить клиентам сервис оплаты штрафов ГИБДД через личный кабинет онлайн-банка, решение будет реализовано как сценарий волеизъявления. После завершения разработки сценарий интегрируют с платформой волеизъявления по специальному протоколу — и клиент получит возможность отправлять запросы этого типа.Приведу пример. Команда безопасного банка занимается разработкой электронной подписи. По завершении разработки они выставляют на платформе протокол, и далее система волеизъявления пользуется им, чтобы накладывать на документы электронную подпись.
Важный элемент платформы волеизъявления — поддержка продвинутого интерфейса пользователя (User Interface, UI). Он реализуется в стиле backend driven UI, то есть backend-ПО генерирует специальную мета-информацию, которую UI умеет интерпретировать и отрисовывать пользовательский интерфейс в соответствии с ней. Функция позволяет не выпускать новые релизы сервиса при каждом изменении отображаемых данных, скажем, после обновления дизайна картинки на экране, появления новой «иконки» или поля данных. Такие изменения происходят часто, но при наличии умного UI не приходится каждый раз заново пересобирать мобильное- или веб-приложение. Достаточно добавить метаинформацию на backend-уровне, и она будет отражена в клиентском ПО.