Когда серверы горят, а руки должны оставаться холодными
Есть особый тип людей — тех, кто способен сохранять хладнокровие, когда все вокруг теряют голову. Долгое время я считал эту способность врождённой. Инфраструктура одного из моих клиентов доказала обратное — в одну по-настоящему скверную ночь. Иллюзия контроля Проект клиента рос быстро. Я управлял серверами «по старинке»: SSH, ручная правка конфигов, перезапуск сервисов вручную. Мне нравилось держать всё в голове — каждая нода была отдельной историей, а я единственным, кто знал её состояние. Но чем больше становилось серверов, тем меньше это было управлением и больше — балансированием на грани. Ночь, когда терминал стал врагом Внешнее обновление библиотек вывело часть нод в нестабильное состояние. Я взялся «тушить пожар» привычным способом — и в спешке допустил опечатку в конфиге на ключевой машине. Сервис не просто не восстановился — рабочий сегмент, который до этого держался, лёг следом. Я перестал понимать, где изменения прошли успешно, а где — нет. Я тушил один пожар и одновременно поджигал новый. Момент, когда пришлось отпустить руль Именно здесь начался самый трудный участок этой истории — не технический, а внутренний. Признать, что ручное управление больше не работает, оказалось сложнее, чем кажется. Годами я гордился тем, что «просто захожу и чиняю» — без дашбордов, на одной интуиции. Мысль передать этот процесс автоматизации вызывала почти физическое сопротивление: как будто я не масштабирую работу, а признаю, что больше не справляюсь сам. Было и рациональное опасение: что если система сама станет источником ошибок — не на одной ноде, а сразу на всех? Ручное управление, при всей опасности, давало иллюзию, что ошибку можно остановить на полпути. Довериться автоматизации значило довериться тому, что я построю её правильно с первого раза — а на тот момент у меня даже не было единого набора плейбуков, только разрозненные скрипты. Переломила меня усталость от того самого чувства потери контроля в ночь сбоя. Цепляться за ручное управление оказалось не про надёжность — это была просто привычка. Отказ от контроля вручную стал первым шагом к тому, чтобы вернуть контроль в другой форме. Решение строить систему Я переписал разрозненные bash-скрипты в структурированные плейбуки — отрезвляющее упражнение: то, что казалось системой в голове, на бумаге оказалось набором частных случаев без единой логики. Настроил в Semaphore UI отдельные шаблоны для срочного восстановления и планового обслуживания. И установил правило без исключений: любое изменение в инфраструктуре проходит только через Semaphore. Тишина после шторма Опечатки ушли в прошлое — плейбуки проверяются на синтаксис до применения к боевым серверам. Сбой на любой ноде теперь подсвечивается сразу, без беготни по логам десятков машин. Но главное изменение — внутреннее. Я перестал нервничать перед массовыми обновлениями. У меня есть предсказуемый механизм отката, и я точно знаю состояние системы даже в момент сбоя. Клиент избежал простоев, а я перестал быть заложником терминала. В ту ночь я, по сути, поставил на карту всё, что построил своими руками — старый уклад, привычки, ощущение единоличного контроля — и был готов остаться ни с чем, не жалея об этом выборе. Когда внутри уже ничего не оставалось, кроме усталости и пустоты, именно воля — не расчёт и не инструкция — заставила сердце и руки продолжать работать и довести дело до конца. Это и есть настоящий переход от ручного контроля к системе: не отказ от ответственности, а её более зрелая форма.
Умей поставить, в радостной надежде, На карту всё, что накопил трудом, Всё проиграть и нищим стать, как прежде, И никогда не пожалеть о том, Умей принудить сердце, нервы, тело Тебе служить, когда в твоей груди Уже давно всё пусто, всё сгорело, И только Воля говорит: «Иди!»