Закон Мерфи в действии — 29 марта 2026 г. в 09:20:06.606
Закон Мерфи в действии Если что-то может пойти не так — оно обязательно пойдет не так. Последние две, а может уже и все три недели я плотно пилил новую версию Лидка. Перелопатил архитектуру, поменял структуру базы данных, добавил кучу фич. По факту — это первая полноценная мажорная версия после запуска. Всех новых клиентов уже будем заводить на неё. Но есть старые клиенты. И там уже накопилось достаточно данных. Я очень хотел сделать для них плавный, максимально бесшовный переход. Без остановки сервера, без «ой, извините, у нас тут обновление». Быстро понял — сделать это идеально без даунтайма будет тяжело. Поэтому решил пойти другим путем: поднять второй сервер, заодно использовать его как стейджинг. Развернуть новую версию там, всё настроить и уже потом аккуратно переключить. Сказано — сделано. Поднял локальный сервер, настроил CI/CD, сделал бэкапирование в S3. Всё как должно быть. Все даже работало. Затем начали активно блокировать Телеграм (я уже негодовал по этому поводу тут: https://t.me/repjov_ai/374) В итоге все починил. Не без мата, конечно, но все стабилизировал. Затем перенес почти всех клиентов. Остался один сложный кейс с нестандартной логикой — его решил отложить. Уже была пятница, а на следующий день у меня небольшой отпуск. Думаю: ладно, те, кого перенёс, пусть пока поработают на стейджинге, а после отпуска спокойно добью оставшегося клиента и уже финально обновлю прод. Уехал. И вроде всё нормально, но внутри сидит это мерзкое ощущение: «а вдруг сломается? Может надо было все-таки сразу настроить прод?». Стейджинг на локалке, нестабильная история… а вдруг отвалится? Как думаете, что произошло? Весь день мониторю, проверяю все работает, а вечером субботы у меня падает стейджинг. Причём так, что я даже подключиться к нему не могу. Скорее всего, опять какие-то приколы с VPN, но это не точно. Факт в другом — для клиентов, которых я туда перенёс, Лидок просто перестал работать. Отпуск, отпуском но гиперответственность никто не отменял. В 10 вечера я сажусь и начинаю срочно поднимать всё уже на продакшене. Переносить новую архитектуру, настраивать, чинить на ходу. Сейчас третий час ночи. Я только закончил. И, конечно, не без последствий. Бэкап базы у меня делается раз в сутки. Поэтому удалось восстановить только вчерашнее состояние. Все данные за 28 число остались на стейджинге, до которого я не могу достучаться. Когда вернусь из отпуска — буду вручную догонять этот день. Вот такая вот «бесшовная миграция». В такие моменты я опять вспоминаю все эти красивые истории из Инстаграма в духе «создадим бота с ИИ за вечер», «вы можете с нейронкой сделать себе бота за 10 минут и он заберет всю рутину», «всё будет работать само, увольте всех этих программистов» — это ровно до первого реального клиента. Пока у тебя нет данных, нет нагрузки, ты не погружаешься глубоко и нет нестандартных кейсов, всё действительно кажется простым. А потом приходит жизнь. Миграции, падения, блокировки, несовместимости, кривые кейсы, потерянные данные и ночные релизы. И внезапно оказывается, что продукт — это не про «собрать бота за вечер». Продукт — это про ответственность. Про то, что если у клиента что-то отвалилось(даже если он про это сам не сказал) — ты не спишь и идёшь чинить. Про то, что ты думаешь не «как сделать», а «как сделать так, чтобы не сломалось». И потом ещё раз думаешь, потому что всё равно сломается.

