теория

Волатильность: границы окупаются там, где меняется

Осталась третья ось — и она отвечает на вопрос, который экономит больше всего нервов: «а оно вообще меняется?»

— это ожидаемая частота изменений компонента. И вот ключевая мысль: выгода от чистой границы пропорциональна волатильности. Граница окупается свободой менять часть независимо. Но если часть не меняется — свободой некому пользоваться, а платить за границу (свой деплой, мониторинг, сетевые вызовы, версии) приходится каждый день. Строить сервис вокруг того, что не трогали два года, — это в чистом виде.

Как прикинуть волатильность, не гадая? Посмотри, что бизнес меняет чаще всего. Удобно разложить систему на три вида частей:

  • — то, чем ты выигрываешь у конкурентов: у «Ярмарки» это подбор товаров и ценообразование. Меняется постоянно.
  • — нужное, но без преимущества: генерация накладных, модерация. Меняется редко.
  • — то, что все делают одинаково: аутентификация, платёжный шлюз (готовый провайдер вроде Stripe — не наш сервис Платежей). Стабильно, и чаще берётся готовым, чем пишется.

Core волатилен — ему и нужны чистые границы. Supporting и generic стабильны — на них границы тратить жалко.

И ловушка напоследок: . Стабильный сам по себе модуль, если он сильно связан с волатильным ядром, меняется вместе с ним — и становится волатильным заодно. Поэтому волатильность считают не по модулю в вакууме, а с оглядкой на его связи. Режь вдоль волатильности: отделяй меняющееся ядро от спокойной периферии.

← назад