Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Как не лишиться здоровья и клиентов в процессе миграции

Как не лишиться здоровья и клиентов в процессе миграции

Готовитесь к запуску "версии 2" продукта? Не хотите в дурку? ... а хотите повышения зарплаты? Вам - сюда.

Denis Yagofarov

May 30, 2013
Tweet

More Decks by Denis Yagofarov

Other Decks in Technology

Transcript

  1. Старая версия Lines LOC Classes Methods Controllers 3967 3150 63

    329 Models 6569 4545 59 482 ... ... ... ... ... Total 28221 21884 131 1027 Основное приложение Lines LOC Classes Methods Controllers 1135 964 28 127 Models 1334 1024 19 129 ... ... ... ... ... Total 9329 7280 59 380 Ещё одно важное приложение
  2. Нам предстояло • Перейти от монолитного приложения к набору взаимосвязанных

    сервисов • Сохранить ID всех объектов • Скопировать media (видео/изображения/ документы) • Сделать миграцию незаметно для пользователей
  3. Что планировать-то? • Какие данные превращаются в какие • Как

    будем поступать: «назад дороги нет» или «новое и старое приложения рядом»? • Учесть, что потратим гораздо больше времени • Написать подробный сценарий • Иметь «План Б»
  4. Требования всегда меняются • Помните про спецификации? • Схема БД

    в старом приложении хоть и «заморожена», ... • ... но схема БД в новом может меняться • Слишком дорого прогонять миграцию в тестовом режиме (с реальными данными) (Как ни странно)
  5. А мелочей в нашем деле не бывает • Заранее предупредить

    пользователей (почтовая рассылка, страница-заглушка) • Автоматизировать все операции (в идеале - 1 скрипт)... и писать лог • Убедиться, что хватает места для файлов • ... ещё раз прогнать тестово миграцию
  6. Когда мигрировать? • Ночью • В «их» праздники • ...

    и хорошо отдохнуть перед предстоящим
  7. А потом на сайт прийдут клиенты... • Не забыть убрать

    страницу-заглушку • Разослать письма • Кто-то должен дежурить по багам и всяким «shit happens!»
  8. У которого, я взял эти картинки: http://www.hiero.ru/Akuaku • Дружной команды

    Aejis • Терпеливого заказчика • Творчества Андрея Кузнецова Эта презентация не появилась бы без