Что такое деплой и хостинг: от ноутбука до живого адреса
Что такое деплой простыми словами: сборка, сервер, serverless и откат — как приложение переезжает с твоего ноутбука на адрес, который открывают люди.
Деплой — это доставка новой версии приложения туда, где её открывают пользователи. Хостинг — это само это место: компьютер (или чужая платформа), который круглосуточно держит приложение запущенным и отвечает на запросы из интернета.
Пока ты делаешь проект в Lovable, Bolt или Cursor, приложение живёт либо внутри конструктора, либо на localhost — адресе, который существует только на твоём компьютере. Закрыл ноутбук — сайта нет. Деплой решает ровно эту проблему, и разобраться в нём стоит до того, как ссылку увидят первые пользователи.
Что такое деплой по шагам
За словом «задеплоить» обычно стоят три действия.
- Сборка. Исходный код превращают в то, что можно запустить: склеивают и сжимают JavaScript, собирают стили, компилируют сервер. Результат называют билдом или артефактом. Если сборка падает, дальше ничего не едет — и это хорошо.
- Доставка. Билд копируют на хостинг. Иногда это загрузка файлов, иногда — контейнер, который платформа скачивает сама.
- Переключение. Новая версия начинает принимать запросы, старая останавливается. Хорошие платформы делают это без паузы: сначала поднимают новое, проверяют, что оно отвечает, и только потом гасят старое.
Обычно всё это запускается автоматически при пуше в основную ветку Git. Ты отправляешь код — через пару минут он в интернете.
Где живёт приложение
Вариантов хостинга несколько, и они различаются тем, сколько работы берут на себя.
Статический хостинг. Подходит для сайтов, у которых нет своего сервера: лендинг, документация, фронтенд, который ходит в чужие API. Файлы просто раздаются с ближайшего к человеку узла сети. Быстро, дёшево, ломаться почти нечему.
Serverless. Ты пишешь функции, платформа запускает их по запросу и сама решает, сколько копий нужно. Сервера как бы нет — на самом деле он есть, просто не твой. Удобно для старта; неудобно, когда нужны долгие задачи, постоянные соединения или предсказуемый счёт.
Свой сервер (VPS). Арендуешь виртуальную машину и сам ставишь туда всё нужное. Полный контроль и понятная цена, но обновления системы, сертификаты и перезапуски теперь твои.
Управляемая платформа. Компромисс: даёшь ей репозиторий или контейнер, она собирает, запускает, перезапускает и показывает логи. Для большинства молодых проектов это разумная точка старта.
Отдельно от приложения живёт база данных. Её тоже где-то хостят, и деплой кода её не трогает — кроме миграций, о которых ниже.
Что обычно ломается при первом деплое
«У меня работает» и «работает в интернете» отличаются в нескольких предсказуемых местах.
- Настройки. Локально ключи и адреса лежат в
.env, на хостинге их надо завести отдельно. Забыл — приложение падает при старте или молча ходит не туда. - Адреса. Код зашит на
localhost:3000, и в продакшне фронтенд стучится в твой ноутбук. - Версии. Локально стоит одна версия Node или Python, на сервере другая. Версию стоит зафиксировать явно.
- Файлы. Загруженные пользователями картинки сохраняются на диск, а на serverless и многих платформах диск стирается при каждом деплое.
- База. Схему поменяли локально, а миграцию на боевой базе не прогнали.
Откат: самая недооценённая кнопка
Рано или поздно ты задеплоишь версию, которая сломает вход или оплату. Вопрос не в том, случится ли это, а в том, сколько минут продлится.
Откат — это возврат к предыдущей рабочей версии без исправления кода. Чинить в спешке на живом продакшне — плохая идея; правильнее вернуть то, что работало вчера, и спокойно разобраться.
Чтобы откат был возможен:
- каждая версия должна быть отдельным билдом, а не правкой файлов на сервере;
- платформа должна хранить хотя бы несколько прошлых версий;
- миграции базы должны быть совместимы назад — старый код должен уметь работать с новой схемой.
Проверь откат один раз заранее, в спокойный день. Если ты не знаешь, какую кнопку нажать, в день аварии ты тоже не узнаешь.
Как понять, что деплой у тебя в порядке
Хороший признак — ты можешь ответить на эти вопросы за минуту:
- какая версия сейчас в продакшне и из какого коммита она собрана;
- как выкатить новую версию одной командой или одним пушем;
- как вернуть предыдущую;
- где смотреть логи, если после выкатки что-то пошло не так.
Если хоть на один ответ — «надо спросить у ИИ», это повод потратить вечер на порядок до того, как пользователей станет больше.
Коротко
- Деплой — доставка новой версии к пользователям, хостинг — место, где она работает.
- Деплой состоит из сборки, доставки и переключения, и лучше, когда он запускается автоматически из Git.
- Статика, serverless, свой сервер и управляемая платформа отличаются тем, сколько работы остаётся на тебе.
- Первый деплой обычно ломают настройки, зашитые адреса, версии, файлы на диске и забытые миграции.
- Откат нужно уметь сделать до того, как он понадобится.
Если проект пока живёт только в конструкторе, SUBXCAT может настроить ему нормальный деплой с откатом и логами.