Архитектурные миграции без остановки продукта: Playbook обратимых изменений
Автор: JsonTV
Загружено: 2026-03-02
Просмотров: 8
Описание:
Юсуп Изрипов, Senior frontend-разработчик, Т-Банк, рассказывает об архитектурных миграциях, сравнивая их с заменой двигателя самолета в полете. Он подчеркивает недостатки подхода "переписать с нуля" и предлагает поэтапный, обратимый метод, основанный на опыте работы.
Конференция TAdviser «ИТ-ПРИОРИТЕТЫ 2026»
Проблемы переписывания с нуля:
Бизнес не может ждать: Замораживание разработки приводит к потере позиций на рынке.
Скрытая сложность и недооценка масштаба: Сотни незадокументированных тонкостей в коде приводят к увеличению сроков и срыву планов.
Потеря знаний: Выбрасывание старого кода ведет к потере ценного опыта, что может негативно сказаться на работе системы.
Выгорание команды: Длительный процесс без видимых результатов подрывает мотивацию и может привести к уходу ключевых специалистов.
Предлагаемый подход: поэтапная, обратимая миграция:
Предлагается метод, который позволяет избежать вышеперечисленных проблем, постепенно заменяя элементы старой системы, сохраняя при этом ее работоспособность. Основной принцип — обратимость изменений.
Ключевые методики:
Feature flags (фича-флаги): Включение/выключение функциональности без деплоя, возможность тестирования на продакшене.
Параллельный запуск продуктов: Одновременная работа старой и новой версий, дублирование запросов для сравнения и анализа данных.
Защита и абстракции: Использование абстракций для изоляции нового кода от старого, защита от старых данных.
Anti-corruption layer: Новый слой для обработки старых данных, приведение их к новому формату.
Разбиение монолита: Дробление монолитного приложения на небольшие компоненты (микросервисы), например, по доменам.
Важность начинать с новых фич, чтобы демонстрировать ценность для бизнеса.
Кейс из практики (переезд с Framework Vue 2 на Vue 3):
Использовался пакет vue-compat для обеспечения совместимости двух версий.
Перенос осуществлялся постепенно, шаг за шагом.
Применялось авто- и регрессионное тестирование.
Проект был перенесен за 8 месяцев.
Фреймворк для миграции (6 шагов):
1. Определить цель: Четкое понимание, зачем нужна миграция (например, улучшение производительности, избавление от узкого места).
2. Разбить на части: Дробить большой "монолит" на небольшие части и переносить по частям.
3. Показывать ценность: Демонстрировать пользу для бизнеса (новые фичи, улучшение метрик).
4. Dual-life-система: Обеспечить одновременное существование старой и новой систем.
5. Удаление: После определенной отметки необходимо удалять старый код.
6. Донести ценность до команды: Вовлечь команду, объяснить и показать преимущества поэтапных улучшений и поддержания технического долга.
Спикер призывает к "тихой эволюции вместо революции", подчеркивая важность дисциплины и планирования для успешной миграции.
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: