Что такое PBC в микросервисной архитектуре: крупнее микросервиса, но меньше приложения

Packaged Business Capabilities (PBC) — это целостные функциональные приложения, реализованные в рамках микросервисной архитектуры, каждая из которых решает отдельную бизнес-задачу и представляет собой цифровое отражение конкретного бизнес-процесса.

PBC — промежуточное звено между сервисом и микросервисом; промежуточное звено при нарезке сервиса на микросервисы

Слишком мелкие микросервисы — это боль для Product Owner, за ними сложно следить. Есть шанс, что PBC решит эту проблему.

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

Особенности PBC

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

Преимущества подхода PBC

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

Использование концепции PBC позволяет организациям эффективно адаптироваться к изменениям рынка, снижая затраты и повышая скорость вывода продуктов на рынок.

Недостатки

  • Требует глубокого моделирования предметной области и управления.
  • Высокие инвестиции в стандартизацию API и метаданные.
  • Риск преждевременного переусложнения, если реализовать слишком рано.

Пример

В типичной CRM-системе несколько PBC и 10-15 микросервисов. Каждый бизнес-модуль CRM — заявки, база клиентов, статус проекта, маркетинг — это PBC. При этом каждый такой PBC состоит из 2-4 микросервисов, например: фронт, бэк, модуль интеграции.

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

  • CustomerPBC: Управление профилями клиентов, предпочтениями, уровнями лояльности, сегментированием.
  • ProductPBC: Многоязычная информация о продуктах, варианты товаров, таксономия.
  • PricingAndPromotionPBC: Динамические правила ценообразования, купоны, региональные акции.
  • OrderOrchestrationPBC: Управляет сложной логикой исполнения заказа, возврата товара, доставки.
  • LoyaltyPBC: Система начисления баллов, правила вознаграждений, кампании вовлечения.

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

Эволюция архитектуры: таблица сравнения

Категория Монолитная архитектура Микросервисы PBC
Единица структуры Приложение Сервис Бизнес-возможность
Масштаб ответственности Вся система Одна функция Полноценная бизнес-функция
Развертывание Один пакет Несколько сервисов Несколько единиц возможностей
Гибкость стека технологий Низкая Высокая Очень высокая
Сложность реализации Низкая (первоначально) Средняя-высокая Высокая (доменная область, интеграция, API)
Подходит для MVP, простых систем Расширения команды, развивающиеся системы Корпоративные платформы, цифровые ядра

Заключение

Итак, Packaged Business Capability (PBC) — это самодостаточный и повторяемый модуль, охватывающий всю необходимую функциональность конкретной бизнес-области, включая логику, данные, интерфейсы и правила.

Основное преимущество PBC состоит в ориентации на бизнес-требования, поддержке многоканальной интеграции и обеспечении состава элементов в единую систему.

Использование PBC упрощает разработку и внедрение корпоративных решений, позволяя повысить эффективность бизнеса и ускорить цифровую трансформацию.

CIO-NAVIGATOR