К содержимому

Шаг 1 из 1

Что значит «доехать до продакшна»

8 мин

После этого шага: Понимание, из чего состоит путь до продакшна и почему «работает у меня» — это примерно четверть работы

Нужно до начала: умение запустить своё приложение локально

Код написан, локально работает, тесты зелёные. Кажется, осталось «просто залить на сервер». Это ощущение — источник большинства сорванных сроков в проектах, где разработчик впервые доводит своё до живых пользователей.

Разберём, что на самом деле лежит между «работает у меня» и «работает у людей».

Четыре слоя, а не один

Первый — код. Тот, что уже написан. Это единственная часть, которую обычно считают работой.

Второй — среда. Где код будет исполняться: какая операционная система, какие версии, откуда берутся зависимости, что происходит при перезагрузке машины. Здесь живут классические «у меня работало»: другая версия языка, другой часовой пояс, другой пользователь с другими правами.

Третий — доставка. Как правка с вашей машины оказывается на сервере. И, что важнее, как она оттуда убирается, если оказалась неудачной. Выкат без отката — это не выкат, а ставка.

Четвёртый — эксплуатация. Что происходит, когда вы спите: сервис упал, диск кончился, сертификат протух, кто-то зашёл по перебору паролей. Сюда же — как вы об этом узнаёте и по каким шагам чините.

Работа на четвёртом слое не заканчивается никогда. В этом и разница между «сделал проект» и «ведёшь сервис».

Что обычно забывают

Про откат. Первый вопрос перед выкатом — не «как выложить», а «как вернуть назад и сколько это займёт». Если ответа нет, выкат не готов, каким бы хорошим ни был код.

Про восстановление. Бэкап, из которого ни разу не восстанавливались, — это предположение, а не бэкап. Проверка занимает час и обычно вскрывает, что копия неполная либо разворачивается не туда.

Про секреты. Пароль, попавший в репозиторий, считается скомпрометированным навсегда — даже если файл удалён следующим коммитом. История остаётся, клоны разошлись. Лечится только сменой значения.

Про время. Сервер, провайдер и пользователь живут в разных часовых поясах. Отчёт «за вчера» разъезжается на границе суток, и обнаруживается это через месяц в претензии.

Почему ИИ не закрывает этот путь

Он отлично пишет код — то есть первый слой. На остальных трёх у него нет доступа к вашей реальности: он не знает, какой у вас сервер, что там уже крутится, кто ещё ходит на этот порт и что случится, если перезапустить службу в рабочее время.

Практический вывод не «не пользоваться», а «понимать границу». Код можно писать быстрее в разы. Решение о том, что и когда попадёт в прод, остаётся за человеком, который отвечает за последствия.

Что дальше

Следующие шаги пути разбирают слои по одному: где будет жить приложение, как туда попадает код, что делать с секретами и как узнавать о поломках раньше пользователей.

Если из этого материала останется одна мысль, пусть будет такая: «работает» и «работает в проде» — разные состояния, и расстояние между ними измеряется не строками кода.