← К публикациям

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

ЧАСТОТА ИЗМЕНЕНИЙ →КРИТИЧНОСТЬ ДЛЯ БИЗНЕСА →Обернуть / стабилизироватькритична · меняется редкоМодернизировать поэтапнокритична · меняется частоОставить как естьнекритична · стабильнаЗаменитьнекритична · требует изменений

Почему «просто заменить» раз за разом проваливается

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

Крупные программы переписывания часто проваливаются на повторяющемся наборе рисков. Объём определяется как «всё, что делает старая система» — спецификация, которой на самом деле никто не располагает, потому что десятилетия поведения живут в коде, обходных решениях и головах операторов. Старая система продолжает меняться, пока строится новая, — цель движется. А бизнес-кейс предполагал дату переключения, поэтому каждая задержка видима и политизирована.

Это не значит, что замена всегда неправильна. Это значит, что замена — задача архитектуры миграции, а не решение о закупке, и что провал начинается в момент, когда вопрос звучит как «старое или новое?» вместо «что должно измениться, с каким риском, в каком порядке?».

Пять факторов, оценённых по доказательствам

Пять свойств системы определяют, какие варианты вообще доступны:

  • Критичность для бизнеса — что происходит в тот час, когда система сбоит? Чем выше цена, тем больше ответ обязан сохранять непрерывность эксплуатации.
  • Частота изменений — как часто бизнесу нужно менять эту систему? Стабильная система под низким давлением изменений заслуживает иного обращения, чем система, блокирующая план развития.
  • Связанность — сколько других систем в неё проникают и насколько глубоко? Связанность определяет, можно ли провести границу без археологического проекта.
  • Операционный риск — насколько хорошо она понята? Мониторинг, тесты, документация — и остались ли в компании люди, которые её знают.
  • Стоимость миграции — честная сумма: инженерия, перенос данных, параллельная работа, переобучение и альтернативная стоимость команды, которую она поглощает.

Оценивайте их по доказательствам — карте зависимостей, журналам изменений, истории инцидентов, — а не по впечатлениям. Само упражнение регулярно поправляет представления собравшихся: система, которую «все» постоянно меняют, меняется дважды в год; «хорошо понятая» — без тестов и с одним оставшимся экспертом.

Модернизировать: эволюция на месте

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

Достоинство подхода в том, что каждый шаг безопасен для эксплуатации и ценен сам по себе. Ограничение — он не может изменить то, чем система является по сути; если модель данных или базовые допущения неверны для бизнеса, работа на месте полирует не то.

Обернуть: стабилизировать границу, выиграть время

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

Обёртывание уместно, когда новые возможности срочны, а ядро пока нельзя безопасно трогать. Это и естественный первый ход поэтапной замены: когда потребители говорят с границей, а не с внутренностями, то, что за границей, может меняться незаметно для них. Опасность — в постоянстве: обёртка, установленная как «первый этап», имеет свойство становиться архитектурой. Решение об обёртывании должно нести дату пересмотра.

Заменить: обоснованно и последовательно

Замена обоснована, когда пять факторов сходятся: функциональность в основе своей неверна для бизнеса, давление изменений высоко, а стоимость миграции — посчитанная полностью — выигрывает у лет борьбы со старой системой. Даже тогда правдоподобная версия поэтапна: выделять по одной функции за раз за границей обёртки, направлять трафик на новую реализацию, доказывать её в эксплуатации, выводить старый путь, повторять. Strangler-паттерн — не осторожность ради осторожности: он превращает один непереживаемый риск в серию переживаемых, каждый с откатом.

Версия, от которой нужно отказываться, — «большой взрыв»: годы параллельной постройки, один героический уикенд переключения и объём, определённый как паритет функций с системой, которую никто полностью не знает.

Комбинация подходов в одном ландшафте

Реальные ландшафты редко получают один вердикт. Типичная картина: обернуть ключевую систему сейчас, чтобы разблокировать план развития; модернизировать компоненты, которые остаются (тесты, наблюдаемость, снижение связанности); заменить два модуля, где модель данных действительно неверна, — через границу, по одному. Решение принимается на уровне функции, а не системы, и последовательность выбирается по риску и влиянию на бизнес.

Матрица на практике

Для каждой функции системы оцените пять факторов и задайте три вопроса по порядку. Функциональность в основе своей правильна? Если да — модернизируйте на месте. Можно ли провести границу за приемлемую цену? Если да — оберните и переоцените за ней. Выигрывает ли честная стоимость миграции у стоимости сохранения? Только если да — заменяйте, поэтапно, за обёрткой.

Записанная, эта матрица делает нечто ценное помимо самого решения: она превращает «надо наконец разобраться с легаси» в последовательный инженерный план, который выдерживает бюджетное ревью, — потому что каждый шаг обосновывает себя сам.

Тест из трёх вопросов

  • Функциональность в основе своей правильна для бизнеса?
  • Можно ли провести границу за приемлемую цену?
  • Выигрывает ли честная стоимость миграции у стоимости сохранения?

Смежная экспертиза