Задание копии, которое завершилось зелёным, — это утверждение. Утверждение, что в какое-то будущее утро эти файлы станут работающим сайтом. Я не верю ему, пока сам не провёл это утро нарочно, на запасной машине, пока никто не ждёт. Непроверенная копия — история, которую вы себе рассказываете. Восстановление, которое вы запустили, и есть копия.
Восстанавливать на пустое, по расписанию
Пробная среда — не прод и не тот staging, которым пользуются редакторы. Она начинается пустой. Копия — единственный вход. Я поднимаю её, вхожу и прохожу один путь, который был бы важен при инциденте: страница заказа, отправка формы, всё ещё лежащая в базе, медиафайл, который должен быть в архиве, а не только на старом диске. Потом выбрасываю пробную копию.
Если это не сработает, я лучше узнаю во вторник, чем во время сбоя, ради которого была копия. Обычные сбои скучные. Дамп базы новее, чем uploads. Таблица плагина ссылается на файл, который исключили. Архив предполагает версию PHP, которой нет на пробной машине. Ничего из этого нет в зелёной галочке плагина копий.
Обновлениям нужен путь назад
Поставить обновление легко. Поставить его с путём назад — вот услуга. Снимок до, короткий дымовой тест после и записанный откат, если тест падает. Сказать, что копию можно восстановить, — не откат, пока у восстановления нет длительности, которую вы измерили. Эту длительность я хочу с пробного прогона, не из брошюры плагина.
Что я на самом деле открываю на пустой копии
Войдите как настоящий пользователь, не как администратор установки, если в копии есть пользователи. Откройте заказ со статусом, суммой и хотя бы одной заметкой. Откройте страницу с картинкой и убедитесь, что картинка — файл из архива, а не горячая ссылка обратно на прод. Ничего не отправляйте. Я проверяю, что прошлое вернулось, а не создаю новое настоящее на одноразовом хосте.
Я пишу длительность рядом с датой. «Последнее восстановление, 18 минут, упало на архиве uploads, поправил исключение, запустил снова.» Эта заметка полезнее значка мониторинга. Когда спрашивают, входят ли в план копии, я могу ответить датой. План, который не может ответить датой, — это cron со счётом.
Время ответа в плане сопровождения ничего не значит в первый день, если я ещё ничего не восстановил. Часы, которые я готов записать, начинают идти после базовой линии, доступа и успешного восстановления. До этого я ещё узнаю, как сайт собран. Обещать ответ в тот же день в этом тумане — так планы сопровождения становятся извинениями.
Спросите, когда последний раз запускали пробное восстановление. Пауза перед ответом и есть ответ.
Сопровождение — не открытая вкладка для новых функций
План, который обещает мониторинг, обновления, восстановления и ещё всё, что вам придёт в голову, оценён под фантазию, либо его пересмотрят в первый раз, когда фантазия придёт. Новые страницы, редизайн, миграция — это свой объём. План, за который я встану, уже. Сайт продолжает делать то, что уже делает. Копия доказана. Человек отвечает в те часы, которые записаны. Это менее захватывающе, чем абонемент без краёв. Это ещё и план, который можно проверить.
