Микросервисная архитектура с оркестратором бизнес-процессов
Оркестратор бизнес-процессов
Потенциальная успешность того или иного продукта всё чаще напрямую зависит от скорости проверки бизнес-гипотез и внесения изменений в бизнес-процессы. Выдерживать такую скорость — непростая задача в том числе и для ИТ-отдела, занимающегося автоматизацией. В таких условиях нет места глухому телефону или даже просто долгой коммуникации между «бизнесом», «операциями» и ИТ-командой. Простой автоматизации бизнес-процессов в таком случае уже мало — автоматизированные в программном коде процессы должны быть прозрачными, легко интерпретируемыми для всех (а не только для разработчиков) и гибкими для поддержки быстрых и нехрупких изменений.
В таких случаях на помощь приходит визуализация автоматизированных бизнес (и операционных) процессов (например, в виде BPMN-схем), а также оркестраторы (например, BPMN-движки), обеспечивающие исполнение программного кода в строгом соответствии с этими визуализированными схемами.
Выделение отдельного оркестратора бизнес-процессов преследует следующие основные цели:
-
Фиксация ответственности за весь бизнес-процесс в целом в едином компоненте. Визуализация схемы бизнес-процесса и движения объектов доменных сущностей по схеме в режиме реального времени. То есть, если, к примеру, описать бизнес-процессы BPMN-нотацией, мы получим визуальное представление работы наших бизнес-процессов. Такое представление будет всегда актуальным, так как код исполняется ровно по представленным схемам. Более того, на них мы в режиме реального времени всегда можем отследить каждый конкретный экземпляр объекта бизнес-процесса. К примеру, в каком статусе сейчас какая поставка, где она находится на схеме и чего ждёт по процессу, чтобы двинуться дальше.
Автоматическая генерация кода по схемам позволяет видеть и проектировать процессы визуально в едином месте, а не непрозрачно в коде в разных элементах системы. Тем самым не допускается:
- экспоненциального роста сложности системы при развесистых операционных процессах;
- повышения хрупкости автоматизации из-за расхождения планируемых процессов и фактической реализации в коде.
- Управление распределёнными транзакциями, возникающими на уровне функциональных микросервисов и систем с мастер-данными. Управление включает в себя в том числе стратегии обработки ошибок — количество повторных попыток при сбоях, компенсирующие транзакции для восстановления целостности данных и т. д.
Не стоит путать оркестратор бизнес-процессов (или микросервисов) и оркестратор контейнеров. Последние (такие, как, например, Kubernetes) решают те же задачи по гибкости, управлению и борьбе со сложностью на уровне ниже — на уровне инфраструктуры. Оркестрация там является обязательным требованием для построения микросервисной архитектуры и оркестратора бизнес-процессов.
Кейс «Бындюсофт» с оркестратором бизнес-процессов — WMS
Для проектирования и реализации глобальной WMS-системы для «Леруа Мерлен» команды из «Бындюсофт» применили микросервисную архитектуру с оркестратором бизнес-процессов, что позволило запустить на складе в Санкт-Петербурге первую версию уже через пять месяцев после старта проектирования. В дальнейшем WMS-система, спроектированная и написанная полностью с нуля, была запущена в шести странах присутствия «Леруа Мерлен» на объектах различных типов и масштабов: в складах при магазинах, в дарксторах, центрах исполнения заказов, сортировочных и распределительных центрах. Оркестратор позволил визуализировать и оптимизировать текущие операционные процессы на различных объектах, а также спроектировать новые процессы. Микросервисная архитектура обеспечила высокую скорость разработки, масштабирование под запуски на десятках объектов и гибкость под постоянно изменяющиеся требования и проверки всё новых продуктовых гипотез.
Кусочек BPMN-схем продукта:
При отсутствии оркестратора микросервисов бизнес-логика, визуализированная и реализованная в схемах, была бы скрыта в коде в различных компонентах системы. Если схемы представлены в статичном виде в формате документации и не связаны напрямую с кодом, велик риск их неактуальности и расхождения реального поведения автоматизации с представлением о бизнес-процессах аналитиков и бизнеса. Оркестратор убирает этот риск и экономит время на трансляцию схем в код, так как делает это автоматически.
Также оркестратор позволил в WMS в режиме реального времени наблюдать движение объектов бизнес-процесса (приёмок, палет с товарами, конкретных товаров при разгрузке, размещении и отгрузке) по операционным схемам. Это повысило скорость решения проблем и инцидентов, позволило оптимизировать процессы, так как сделало работу складов прозрачной и наблюдаемой. Для анализа на эффективность и быстродействие оркестратор позволяет в том числе строить и тепловую карту интенсивности процессов.
Пример тепловой карты:
В больших и сложных системах микросервисная архитектура способствует гибкой подстройке и поддержке бизнеса со стороны автоматизации. А применение оркестраторов бизнес-процессов усиливает основные плюсы микросервисного подхода и позволяет бороться со сложностью за счёт прозрачности и визуализации не только на технических уровнях, но и на уровне бизнес-процессов конкретных продуктов и всей компании в целом.