Почему микросервисная архитектура - фундамент современного банковского ИТ-ландшафта
Гредников
заместитель генерального директора по технологическому развитию "Т1 Иннотех"
Многие годы финтех является одним из лидеров внедрения высокотехнологичных решений в России. Прежде всего это связано с востребованностью финансовых сервисов среди населения и высокой конкуренцией между игроками рынка. В этих условиях организации, в частности банки, стремятся постоянно развиваться, чтобы "оставаться на цифровой волне". Дмитрий Гредников, заместитель генерального директора по технологическому развитию "Т1 Иннотех", рассказывает, как сегодня трансформируется разработка банковских решений.
От монолитов к микросервисам
Традиционный подход к разработке программного обеспечения ориентирован на монолитную архитектуру, в которой все компоненты объединены и действуют как единое целое. Главная трудность здесь состоит в том, что при изменении одного элемента в процесс вовлекается вся система, поэтому при обновлении одной функциональности возможны сбои и изменения в других. Это замедляет вывод новых приложений на рынок, поскольку нужно дожидаться завершения работы команд по всем направлениям, даже если один сервис уже готов к запуску. Решить эту задачу можно, разделив монолитную систему на мелкие независимые компоненты - микросервисы. В последние годы такой подход набирает популярность среди разработчиков, поскольку соответствует требованиям бизнеса к современным ИТ-решениям: гибкость и быстрая адаптируемость к возросшему объему нагрузки.
Однако следует учитывать, что этот вариант предполагает вовлечение большого количества ресурсов - как человеческих, так и технических. Прежде всего необходима команда специалистов с разнообразными навыками и компетенциями, включая разработчиков, тестировщиков, системных архитекторов и специалистов по DevOps. Кроме того, поддержка крупного микросервисного кластера зачастую требует больше технических мощностей, чем аналогичное решение на монолитной архитектуре. Также есть необходимость в сетевой инфраструктуре: поскольку микросервисы часто взаимодействуют через сеть, важно обеспечить достаточную пропускную способность и низкую степень задержки при обмене данными.
Быстрее, гибче, устойчивее
Несмотря то, что микросервисы могут требовать значительных ресурсов, их применение несет ряд преимуществ, которые позволят повысить эффективность бизнеса и привлечь большее число клиентов за счет удобства и повышенной безопасности при использовании сервисов.
- Быстрое развертывание новых сервисов и функций. Микросервисная архитектура обеспечивает гибкость и масштабируемость системы. Код можно легко обновлять, развертывая новые функции и возможности автономно. За счет этого команды не зависят от темпа или качества работы остальных, что позволяет детально прорабатывать обновления и сокращать период от разработки до запуска (time to market). В результате компании могут быстро разрабатывать и внедрять новые функции, а также обновлять компоненты по мере необходимости. Благодаря этому пользователи регулярно получают обновления, что положительно сказывается на удовлетворенности клиентов.
- Масштабируемость. Микросервисы обычно не хранят данные, используя вместо этого внешние системы (например, базы данных и кеши), что упрощает их масштабирование и увеличивает надежность. Это позволяет добавлять или удалять сервисы в зависимости от текущей нагрузки без риска потери данных или уменьшения их функциональности. Компании могут масштабировать каждый компонент горизонтально и вертикально по мере необходимости. Например, если на конкретный микросервис наблюдается повышенный сезонный спрос, на него можно выделить больше ресурсов в течение этого периода. Если спрос падает по мере смены сезона, затраты на микросервис можно сократить, перераспределяя ресурсы на другие компоненты.
- Отказоустойчивость. Микросервисы повышают устойчивость систем за счет локализации сбоя и предотвращения его распространения на всю систему. Такая изоляция гарантирует, что даже в случае нарушения работы одного компонента другие продолжат работать, поддерживая функциональность и отказоустойчивость всей системы.
- Информационная безопасность. Если компоненты архитектуры компьютерных систем разбиваются на мелкие части, конфиденциальные данные становятся более защищенными от вторжений. Хотя микросервисы связаны между собой, разработчики могут использовать безопасные API для их соединения. Это защищает данные и гарантирует, что они доступны только авторизованным пользователям, приложениям и серверам.
Как банки применяют микросервисы
Микросервисная архитектура актуальна в отраслях, где есть крупные, сложные и нагруженные корпоративные системы - например, телеком, ретейл, здравоохранение, страхование и др. Особенно распространены микросервисы в финсекторе: в последние годы многие ведущие российские и зарубежные банки постепенно переходят на новую архитектуру. За счет более гибкой и быстро реагирующей технологической инфраструктуры, которая адаптируется к меняющимся потребностям бизнеса и рыночным условиям, банки могут ускорить процесс разработки и развертывания новых продуктов для клиентов.
Разделение на блоки позволяет банковским функциям работать независимо, взаимодействуя с другими через API. Каждый микросервис выполняет один процесс, имеет собственное хранилище данных, бизнес-логику и интерфейсы связи. Независимость компонентов информационных систем дает банкам возможность обновлять отдельные части приложения без значимых трудозатрат без воздействия на другие функции. Это формирует и поддерживает непрерывную экосистему взаимодействия с клиентами и контрагентами.
Одно из возможных направлений применения микросервисов в финсекторе - автоматизированная банковская система (АБС). Она скрыта от глаз клиента, однако напрямую влияет на бесперебойность всех процессов и качество услуг. Большинство сегодняшних АБС проектировались несколько десятилетий назад, и их архитектура не предназначена для колоссальной транзакционной нагрузки цифровой экономики и автоматизации бизнес-процессов. В итоге кредитные организации сталкиваются со сбоями в работе, а технологическое развитие всей финансовой индустрии страны замедляется. Разработка АБС на микросервисах дает ряд преимуществ. Банки смогут быстрее адаптироваться к изменениям рынка, добавляя или модифицируя функциональные возможности без риска для всей системы. Также независимость позволяет масштабировать только востребованные функции, оптимизируя ресурсы и избегая ненужных затрат. Кроме того, при микросервисном подходе сбои в одном компоненте не влекут за собой сбой всей системы, что критически важно для банков, работающих с круглосуточным доступом к финансовым операциям.
Решения на микросервисной архитектуре открывают перед банками широкие возможности. Высокая скорость внедрения актуальных опций и услуг, которую предоставляют микросервисы за счет независимости компонентов, способна сыграть решающую роль в привлечении и удержании клиентов, опирающихся при выборе на наличие удобных, надежных и доступных приложений и устойчивую функциональность.