Модернизация работающей системы без выключения

Модернизирую живые системы, которые нельзя выключить ради рерайта. Типичный случай — контентная или коммерческая платформа на стареющей CMS (Sitecore, Umbraco, Magento), которую нужно перевести на headless-фронт на Next.js и актуальный слой контента, пока редакторы продолжают публиковать, а публичный URL отвечает 200. Делал это старшим инженером на корпоративных миграциях: Sitecore 9.2 → Sitecore XM Cloud с headless Next.js; Umbraco и Magento → Contentful и Vercel. Работа — данные, URL, процесс редактора и постепенный перенос, а не greenfield-демо, которое никогда не получит продакшен-трафик.

Кому это подходит

  • Компаниям, чей публичный сайт или контентная платформа застряли на CMS вне поддержки.
  • Командам, которые уже купили headless CMS, а старый сайт всё ещё отвечает в продакшене.
  • Руководителям инженерии, которым продали рерайт и которые хотят поэтапную альтернативу.

Для каких проблем поэтапная модернизация

  • CMS нельзя обновить на месте, а SEO, привычки редакторов и интеграции нельзя обнулить.
  • Предыдущая миграция зависла на «перережем в следующем квартале».
  • Маппинг данных недооценили: новая CMS пустая или неверная.
  • Фронт переписали, а модель контента скопировали вслепую.

Что беру на себя

  • Модель контента для целевой CMS, а не 1:1 клон старого дерева.
  • Пайплайны миграции с проверкой целостности, а не одноразовый скрипт.
  • Headless Next.js-фронты, о которых редакторы всё ещё могут рассуждать.
  • Стратегия URL, редиректов и превью, чтобы поиск и кампании выжили.
  • Путь «удавки»: новые маршруты в продакшене рядом со старыми, пока старые не погаснут.

Как идёт живая миграция

Инвентаризация того, что должно быть верно в день один: URL, метаданные, точки входа редактора, интеграции. Новая модель — вокруг того, как контент реально переиспользуется, а не вокруг старой папочной иерархии. Автоматизируем перенос, измеряем потери, ставим новый фронт на подмножество трафика или путей. Не назначаем пятничный cut-over непроверенного маппинга. Откат — смена DNS или маршрутизации, а не молитва про бэкап.

Рерайт, удавка или остаться

Модернизация — решение о риске. Возраст репозитория — не критерий.

Остаться и сдержать, если ограничение не стек

Если поставка медленная из-за процесса или отсутствия тестов, новая CMS не поможет. Чините ограничение.

Удавка, если система зарабатывает, пока вы мигрируете

Новая работа идёт в новый путь. Старые пути замораживаются, кроме юридически обязательного и инцидентов. Это медленнее объявлять и быстрее выживать.

Рерайт только если старая модель и есть баг

Коммерческая информационная архитектура, которая не выражает бизнес, — кандидат. Бамп версии React — нет.

Не мигрируйте контент без хозяина каждого типа

Бесхозные поля становятся «скинуть в rich text». Так платите дважды.

Как такие программы проваливаются

  • Большой взрыв без теневого прогона.
  • Пиксель-в-пиксель воссоздание двенадцатилетнего набора шаблонов в новом стеке.
  • Миграция только силами разработчиков: редакторы видят CMS утром запуска.
  • Редиректы игнорируют, пока не падают позиции.

Результат

  • Поэтапный план: что едет первым, что остаётся, что удаляется.
  • Автоматическая миграция с отчётами о потерянных полях.
  • Продакшен-фронт на новом стеке на реальном подмножестве площадки.
  • Карта редиректов и регламент для редакторов.

Избранные проекты

  • IMFHeadless-перенос унаследованного сайта МВФ на Sitecore 9.2 на Sitecore XM Cloud с фронтендом Next.js по GraphQL.
  • DiageoПовторяемая миграция структурированного контента Diageo из Umbraco и Magento в Contentful, с публичным фронтендом на Vercel.
  • Vita StudentПлатформа студенческого жилья: сервисные студии, квартиры и общие комнаты.

Связанные услуги

  • Технический аудитНезависимое чтение системы, которая у вас есть — ради решения, а не цветной таблицы severity.
  • Архитектура ПОСистемный дизайн живых продуктов: чему существовать, где границы и как система отказывает.
  • Заказная разработкаПродуктовая инженерия для команд, которым нужен старший разработчик, а не цепочка подрядчиков.

Связанные заметки

Вопросы, которые задают

Можно модернизировать систему под NDA?

Да. Часть прошлых назначений нельзя описать публично дальше стека и формы работы. Метод не требует называть бренд на этом сайте.