Микросервисная архитектура с оркестратором бизнес-процессов

Руслан Сафин
Руслан Сафин · 15 августа 2024
Технический директор · ИТ-архитектор

Оркестратор бизнес-процессов

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

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

Выделение отдельного оркестратора бизнес-процессов преследует следующие основные цели:

  1. Фиксация ответственности за весь бизнес-процесс в целом в едином компоненте. Визуализация схемы бизнес-процесса и движения объектов доменных сущностей по схеме в режиме реального времени. То есть, если, к примеру, описать бизнес-процессы BPMN-нотацией, мы получим визуальное представление работы наших бизнес-процессов. Такое представление будет всегда актуальным, так как код исполняется ровно по представленным схемам. Более того, на них мы в режиме реального времени всегда можем отследить каждый конкретный экземпляр объекта бизнес-процесса. К примеру, в каком статусе сейчас какая поставка, где она находится на схеме и чего ждёт по процессу, чтобы двинуться дальше.

    Автоматическая генерация кода по схемам позволяет видеть и проектировать процессы визуально в едином месте, а не непрозрачно в коде в разных элементах системы. Тем самым не допускается:

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

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

Кейс «Бындюсофт» с оркестратором бизнес-процессов — WMS

Для проектирования и реализации глобальной WMS-системы для «Леруа Мерлен» команды из «Бындюсофт» применили микросервисную архитектуру с оркестратором бизнес-процессов, что позволило запустить на складе в Санкт-Петербурге первую версию уже через пять месяцев после старта проектирования. В дальнейшем WMS-система, спроектированная и написанная полностью с нуля, была запущена в шести странах присутствия «Леруа Мерлен» на объектах различных типов и масштабов: в складах при магазинах, в дарксторах, центрах исполнения заказов, сортировочных и распределительных центрах. Оркестратор позволил визуализировать и оптимизировать текущие операционные процессы на различных объектах, а также спроектировать новые процессы. Микросервисная архитектура обеспечила высокую скорость разработки, масштабирование под запуски на десятках объектов и гибкость под постоянно изменяющиеся требования и проверки всё новых продуктовых гипотез.

Кусочек BPMN-схем продукта:

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

Также оркестратор позволил в WMS в режиме реального времени наблюдать движение объектов бизнес-процесса (приёмок, палет с товарами, конкретных товаров при разгрузке, размещении и отгрузке) по операционным схемам. Это повысило скорость решения проблем и инцидентов, позволило оптимизировать процессы, так как сделало работу складов прозрачной и наблюдаемой. Для анализа на эффективность и быстродействие оркестратор позволяет в том числе строить и тепловую карту интенсивности процессов.

Пример тепловой карты:

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

Ссылки по теме