Рішення про переїзд ухвалено, новий сервер обрано. Далі починається технічна частина, у якій ціна помилки вимірюється годинами недоступності, а для інтернет-магазину ще й замовленнями.
Одразу про те, що означає «без простою». Для сайту без замовлень переїзд справді проходить непомітно для відвідувача. Для магазину відповідь інша: кілька хвилин режиму обслуговування в найтихішу годину, і це свідомий обмін кількох хвилин на збережені замовлення. Простій вимірюється хвилинами, а не годинами, і саме в цьому сенс порядку нижче.
Питання, чи взагалі потрібен переїзд, тут не розглядається, воно розібране окремо в матеріалі про вибір між власним сервером і звичайним хостингом. Тут ідеться про те, як зробити перехід так, щоб відвідувач нічого не помітив.
Що саме переїжджає разом із сайтом
Перше, з чого починається планування, це повний перелік того, що живе на старому хостингу. Забуте зазвичай виявляється не в день переїзду, а через два тижні.
- Файли сайту. Ядро, тема, модулі, завантажені зображення і документи.
- База даних. Уміст сторінок, товари, замовлення, налаштування, користувачі.
- Пошта на домені. Скриньки співробітників і адреси, з яких сайт надсилає листи.
- Записи домену. Куди вказує домен, як налаштована пошта, які підтвердження прописані.
- Сертифікат. Термін дії і спосіб продовження на новому місці.
- Планові завдання. Імпорт прайсів, розсилки, вивантаження на майданчики.
- Зовнішні підключення. Сервіси, які ходять до сайту за розкладом і знають його стару адресу.
Останній пункт пропускають найчастіше. Облікова система, маркетплейс або платіжний сервіс можуть звертатися до сайту за адресою, і після переїзду ці звернення тихо перестають працювати.
Ще одна дрібниця, яка часто спливає пізніше, це жорстко прописані адреси всередині самого сайту. Посилання на зображення, налаштування модулів, збережені шляхи до тек. Поки адреса не змінюється, вони не заважають. Щойно змінюється щось у структурі, частина сторінок починає посилатися в нікуди.
Коли перелік готовий, стає видно обсяг робіт. Сайт компанії переїжджає швидше, ніж інтернет-магазин з інтеграціями й плановими завданнями. Перенесення виконуємо погодинно, $25/год, а обсяг рахуємо в годинах під ваш сервер. Далі його ж можна поставити на щомісячне адміністрування серверів, щоб оновлення і моніторинг ішли за регламентом. Базовий тариф коштує $400/міс.
Що зробити до перемикання
Повна копія і перевірка відновлення
Перед будь-якими діями знімається повна копія старого хостингу. Вона потрібна на випадок, якщо переїзд доведеться скасувати.
Копію перевіряють одразу. Про архів, який не відкривається, і дамп бази, який не імпортується, дізнаються в найгірший момент, коли вони вже потрібні. П’ятнадцять хвилин на перевірку рятують від дуже неприємної години.
Разом із копією фіксують поточний стан налаштувань. Версія PHP, версія бази даних, увімкнені розширення PHP, обмеження на розмір завантаження і час виконання. Це не займає багато часу, а на новому сервері заощаджує пів дня пошуку причини, чому те саме працює інакше. Що має бути налаштовано на ньому до перемикання, зібрано в переліку налаштувань сервера перед запуском сайту.
Зниження TTL у записах домену
Записи домену мають час життя: скільки часу проміжні сервери зберігають попередню відповідь. Якщо він великий, після перемикання частина відвідувачів іще годинами ходитиме на старий сервер.
Тому за добу до переїзду це значення знижують до кількох хвилин. Після успішного перемикання його повертають назад. Крок нічого не коштує, але перехід від цього не стає миттєвим. Крім проміжних серверів, стару відповідь тримають і самі пристрої відвідувачів, поки не мине їхній власний час кешування, і старий сервер ще певний час прийматиме частину трафіку. Тому після перемикання старий сервер лишається в режимі обслуговування або передає всі запити на новий, і замовлення туди не потрапляють.
Що перевірити на боці нового провайдера
Ще до перенесення варто переконатися, що новий сервер справді підходить.
- Версії сумісні з сайтом. PHP, база даних і розширення не нижчі, ніж на старому місці, а новіші перевірені на тестовій копії.
- Вхід за ключем працює. І в адміністратора, і в тих, хто вестиме сайт далі.
- Є де зберігати копії. Окремо від самого сервера, а не в сусідній теці.
- Провайдер відповідає. Тестове звернення в підтримку до переїзду показує реальний строк реакції краще за будь-які обіцянки.
Розгортання копії на новому сервері
Сайт піднімають на новому сервері заздалегідь і перевіряють до того, як на нього піде трафік. Перевіряють не за адресою сайту, вона ще вказує на старий сервер, а через локальне зіставлення адреси на комп’ютері того, хто перевіряє.
Що має працювати на цьому етапі.
- Відкриваються всі типи сторінок. Головна, каталог, картка товару, сторінка послуги, стаття блогу, службові сторінки.
- Працює адмінка. Вхід, збереження змін, завантаження зображення.
- Проходить оформлення замовлення. Для інтернет-магазину це головна перевірка, аж до тестової оплати в режимі перевірки.
- Виконуються планові завдання. Хоча б один запуск імпорту або розсилки.
- Немає помилок у журналі. Порожній журнал помилок після повного проходу сайтом.
Знайдені на цьому етапі проблеми виправляються спокійно, бо сайт іще не працює для відвідувачів.
Пошта, яку забувають найчастіше
Пошта живе окремо від сайту, і про неї згадують уже після перемикання, коли листи перестають доходити.
| що перевірити | коли |
|---|---|
| Куди вказує запис поштового сервера | до перемикання |
| Чи перенесені скриньки співробітників | до перемикання |
| Як сайт надсилає листи про замовлення | до перемикання |
| Чи прописані підтвердження відправника | одразу після |
| Чи доходять листи в основні поштові сервіси | у перші години |
Не плутайте дві різні речі. Скриньки співробітників це одна історія: вони можуть залишитися там, де були, і переїзд сайту їх не стосується. Листи, які надсилає сам сайт, це друга: вони йдуть з нового сервера, і саме їх приймальні сервіси бачать уперше. Тому підтвердження відправника перевіряють окремо від того, чи працює корпоративна пошта.
Найтихіша проблема тут не в тому, що листи не доходять узагалі, а в тому, що вони потрапляють у небажану пошту. Інтернет-магазин продовжує приймати замовлення, покупці не отримують підтверджень, і з’ясовується це за скаргами через кілька днів. У перші години після переїзду оформіть тестове замовлення на адресу в кількох різних поштових сервісах і подивіться, куди прийшов лист. Про регулярну перевірку такої дрібниці зазвичай ідеться в межах обслуговування, і що саме до нього входить, описано в матеріалі про те, що входить у підтримку сайту.
Сертифікати й переадресації
Сертифікат на новому сервері випускають до перемикання, якщо провайдер це дозволяє, або одразу після. Розрив між перемиканням і випуском означає, що відвідувач бачить попередження браузера, і це помітно гірше за коротку недоступність.
Окремо перевіряють перенаправлення. Якщо сайт відкривався за адресою з www і без нього, обидва варіанти мають працювати й на новому місці. Те саме з перенаправленням із незахищеної версії на захищену.
Коли разом із переїздом змінюються адреси сторінок, кожна стара має вести на нову. Без цього накопичені позиції в пошуку губляться, і повертати їх доводиться місяцями.
Момент перемикання і що робити з базою
Найтонше місце переїзду це база даних. Між зняттям копії і перемиканням проходить час, і за цей час на старому сайті можуть з’явитися нові замовлення або коментарі.
Цю проблему знімає такий порядок дій.
- Спершу переносять файли. Вони великі й змінюються рідко, тому їх копіюють заздалегідь.
- Старий сайт переводять у режим обслуговування. На кілька хвилин, коли трафік найменший.
- Знімають свіжий дамп бази. Уже без нових записів, бо сайт у режимі обслуговування їх не приймає.
- Імпортують базу на новий сервер. І швидко перевіряють останні замовлення.
- Перемикають записи домену. З уже зниженим часом життя.
- Знімають режим обслуговування на новому сервері. Сайт працює на новому місці.
- Старий сайт замовлень не приймає. Він лишається в режимі обслуговування або передає всі запити на новий сервер.
Для сайту без замовлень цей танець не потрібен, достатньо перенести все й перемкнути. Для інтернет-магазину він обов’язковий, інакше замовлення, зроблені між копією і перемиканням, просто зникнуть.
Вікно вибирають за аналітикою, а не за загальним правилом. Для більшості магазинів це нічні години в будні, але у вашого проєкту може бути свій графік.
Перевірка одразу після переїзду
Перші дві години після перемикання найважливіші. Перевіряють у тому самому порядку, що й на тестовому етапі, але вже на живому сайті.
- Сайт відкривається з різних мереж. З мобільного інтернету теж, а не тільки з офісу.
- Форми надсилають листи. І лист приходить не в небажану пошту.
- Оплата проходить. Хоча б одна тестова транзакція.
- Аналітика збирає дані. Лічильники на місці, події надходять.
- Немає нових помилок. Журнал перевіряють кілька разів протягом дня.
- Пошуковик бачить сайт. Перевірка окремої сторінки через інструменти для вебмайстрів.
Що ще варто відстежувати в перші тижні, описано в матеріалі про те, що робити з сайтом після запуску.
Що робити, якщо після перемикання щось зламалося
План відкату складається заздалегідь і виглядає просто. Записи домену повертають на старий сервер, і знижений час життя це пришвидшує, хоча й не для всіх одразу. Далі проблему розбирають спокійно, без тиску простою.
Для відкату старий сервер має залишатися працездатним і не бути вимкненим одразу після переїзду. Саме тому його тримають увімкненим ще якийсь час, навіть якщо все пройшло гладко.
Якщо ж проблему помітили через кілька годин і за цей час на новому місці вже з’явилися замовлення, відкат ускладнюється: доведеться переносити нові записи назад. Тому перші дві години після перемикання хтось має дивитися на сайт уважно, а не займатися іншими справами.
Скільки тримати старий хостинг увімкненим
Старий хостинг не вимикають одразу. Тиждень або два він коштує небагато й дає можливість повернутися, якщо щось спливе.
Після цього знімається фінальна копія, перевіряється, що вона відкривається, і старий хостинг можна закривати. Копію зберігають окремо ще кілька місяців: іноді потрібен файл або запис, про який згадали пізніше.
Окремо варто дочекатися, поки закінчиться поточний період оплати старого хостингу. Гроші однаково витрачені, а запасний варіант нічого не коштує.
Типові помилки, через які виникає простій
- Переїзд у п’ятницю ввечері. Якщо щось піде не так, розбиратися доведеться у вихідні, коли підтримка провайдерів працює повільніше.
- Не знизили час життя записів. Частина відвідувачів годинами бачить старий сервер, і замовлення приходять у два місця одночасно.
- Забули про планові завдання. Імпорт прайсів запускається на старому сервері, і ціни в інтернет-магазині перестають оновлюватися.
- Не перевірили версії. На новому сервері інша версія PHP або бази даних, і частина функцій тихо перестає працювати.
- Сертифікат випустили із запізненням. Відвідувачі бачать попередження браузера в найгірший момент.
- Немає плану відкату. Коли щось ламається, доводиться імпровізувати замість того, щоб одразу повернути записи назад.
Швидкість роботи після переїзду теж варто виміряти окремо: нове залізо не гарантує кращих цифр, якщо причина повільності була в самому сайті, і це розібрано в матеріалі про те, чому сайт повільно завантажується.
Висновки
Переїзд без простою тримається на порядку дій. Спершу повний перелік того, що переїжджає, потім копія з перевіркою, знижений час життя записів, розгортання і перевірка на новому місці до трафіку, і тільки після цього коротке вікно з перемиканням.
Найдорожчі помилки тут організаційні: невдалий час, відсутність плану відкату й забуті зовнішні підключення. Усі три закриваються на етапі підготовки, і саме на неї варто витратити більше часу, ніж на саме перенесення.
Якщо переїзд попереду й ви не хочете ризикувати робочим сайтом, надішліть нам адресу проєкту й скажіть, куди плануєте переїжджати. Ми складемо перелік того, що саме переїжджає у вашому випадку, включно з поштою, плановими завданнями й зовнішніми підключеннями, і назвемо вікно з найменшими втратами. Якщо частину проблем можна закрити налаштуванням на чинному хостингу, покажемо, що саме змінити. Якщо переїзд потрібен, візьмемо перенесення на себе й далі вестимемо сервер у межах обслуговування сервера.