Найти в Дзене
FutureBanking

Переход на микросервисы как стратегия трансформации ИТ-архитектуры

Все сказания о том, как пришёл заказчик к айтишникам, начинаются одинаково: нужно сделать «дешевле, надёжнее и качественнее». Перед айтишником встаёт дилемма: выполнить заказ побыстрее, нагнав людей и потратив уйму денег, но при этом не достигнув нужных показателей, либо всё-таки найти способ сделать это без потери качества. Какая же роль в столь непростой задаче отводится микросервисам? Обсуждаем это со старшим вице-президентом по банковским технологиям ПАО «БАНК УРАЛСИБ» Константином Меденцевым.

— С чего начался переход на микросервисы и что стало аргументом в пользу развития этого направления?

К. Меденцев: О микросервисах мы впервые задумались, когда для одной из наших монолитных систем не нашлось сервера достаточной мощности, чтобы обеспечить необходимую производительность за разумные деньги. Вертикальное масштабирование стало слишком дорогим, и было решено использовать несколько небольших серверов, разместив на каждом из них отдельный сервис. Тогда же одним из вариантов развития был выбран подход с использованием микросервисной архитектуры и инфраструктуры на базе контейнеризации.

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

Подводя итоги проекта, мы увидели следующие положительные эффекты:

— использование функциональных микросервисов позволило гибко предоставлять необходимое количество вычислительных ресурсов в соответствии с потоком запросов;

— появилась возможность параллельно разрабатывать несколько микросервисов и оказывать новые услуги клиентам намного быстрее, чем раньше.

Наши разработчики освоили новые технологии Spring Boot 2 и PostgreSQL, обучились работе с Kubernetes и Docker, менеджером сообщений Apaсhe Kafka и единым сервисом аутентификации Keycloak. Оркестратором бизнес-процессов стал Camunda BPM.

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

Также в концепции предусмотрено, что слабосвязанные компоненты взаимодействуют между собой посредством архитектурного стиля REST или асинхронного обмена сообщениями.  

— Как удалось реализовать запрос «хотим дешевле»?

К. Меденцев: Не секрет, что стоимость изменений можно существенно снизить в том числе за счёт быстрого вхождения специалиста в проект. Новому разработчику не нужно изучать код всей системы — достаточно изучить принятые правила разработки и код отдельного микросервиса, за который он будет отвечать.

Снижение затрат могут обеспечить инструменты Open Source, где нет компонентов, подлежащих лицензированию и соответственно оплате.

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

— Что позволило «делать быстрее»?

К. Меденцев: Автоматизация процессов развёртывания кода позволила значительно сократить время программистов на рутинные операции. Теперь разработчикам удаётся гораздо быстрее создавать работающий функционал, что заметно ускоряет вывод продуктов на рынок.

Более того, применение микросервисного подхода помогает серьёзно уменьшить объёмы регрессионного тестирования...

Продолжение читайте на https://futurebanking.ru/post/4033