Часть 3.
Самая опасная магия в IT — это магия целей. Потому что цель легко обещает, а потом требует процентами отчёта.
Есть особый вид страха, который появляется у инженера, когда два календаря совпадают.
Первый календарь — релизный.
Второй — организационный.
И когда в один и тот же день на вас назначают «большую миграцию» и «большую презентацию результатов», реальность начинает пахнуть дымом ещё до того, как загорелся прод.
Архимаг OKR стоял у проектора и рисовал стрелки.
— Мы удваиваем скорость, — говорил он. — Мы повышаем надёжность. Мы внедряем кубер. Мы переезжаем. Мы сокращаем время восстановления. Мы делаем это всё в одном квартале.
На экране сияло слово «инициатива» — настолько большое, что заслоняло здравый смысл.
Артур поднял руку:
— Можно вопрос? У нас уже есть инциденты. У нас есть легаси. У нас нет полного инвентаря зависимостей. Как мы будем мигрировать?
Архимаг улыбнулся улыбкой человека, который любит ответы в процентах.
— Мы будем мигрировать по плану. План — это опора.
Я хотел сказать: «План — это миф, который распадается при первом контакте с продом». Но промолчал. Потому что в Облачном княжестве даже мысли иногда надо согласовывать.
Миграция началась в обед. Пиковая нагрузка — вечером. Всё было красиво, пока было тихо.
А потом пришёл алерт.
Сначала один.
Потом два.
Потом — целая стая.
Мониторинг загорелся так, будто кто‑то поджёг ёлку заново, но на этот раз добавил сервиса «Платёжки» и «Логина».
Марфа прибежала в зал инцидентов с выражением человека, который только что понял, что «инициатива» — это не жанр, а диагноз.
— У нас падение конверсии! — сказала она. — Стейкхолдеры в бешенстве!
— У нас падение всего, — ответил Артур. — Конверсия просто громче всех кричит.
Инквизиторша Безопасности уже стояла рядом, будто она всегда была здесь, и только ждала, когда кто‑то скажет слово «быстро».
Гаврила молчал. Когда гном‑ДБА молчит, это значит, что он разговаривает с базой на языке, который переводится как «пожалуйста, не сейчас».
Архимаг OKR вошёл последним.
— Отлично, — сказал он. — Кризис — это возможность.
Артур посмотрел на него так, как смотрят на человека, который принёс мотивационный плакат на пожар.
— Нам нужно стабилизировать, — сказал Артур. — Потом будем обсуждать возможности.
Я открыл трассировки. И увидел то, что раньше видел только в легендах: один маленький вызов, который повторялся тысячи раз.
Он шёл в сервис «Новый‑и‑Куберный», потом в очередь, потом в базу, потом обратно — и каждый раз добавлял по капле задержки, как яд.
— Это оно, — сказал я. — Это «игла».
— Почему «игла»? — спросила Марфа, уже на грани того, чтобы превратиться в ведьму стресса.
— Потому что всё рушится из‑за одной маленькой вещи, которую никто не хотел замечать, — сказал я. — Мы сделали новый сервис. Он делает одну маленькую проверку. Но делает её на каждый запрос. И делает её так, что база начинает плакать.
Гаврила поднял глаза.
— Я говорил, — тихо сказал он. — Я говорил, что люди спрашивают у базы глупости.
Артур кивнул:
— План стабилизации?
Я глубоко вдохнул.
— Ограничиваем функционал через фича‑флаг. Кэшируем проверку. Временно отключаем «умную аналитику» (она всё равно сейчас не умная). Ставим лимит на очередь. И… — я посмотрел на Некроманта Легаси, который стоял в углу, — возвращаем часть логики обратно в дракона, пока не разберёмся.
Некромант Легаси улыбнулся впервые за всё время.
— Дракон терпелив, — сказал он. — Дракон многое видел.
Инквизиторша Безопасности подняла табличку:
— Кто дал вам право кэшировать?
— Я, — сказал Артур. — Под мою ответственность. Потом оформим. Сейчас — спасаем.
Инквизиторша вздохнула и кивнула. Это был редкий момент магии: момент, когда безопасность и инженерия встречаются не как враги, а как люди.
Мы сделали откат. Мы поставили кэш. Мы обрезали лишнее. Мы стабилизировали.
Красное стало розовым. Розовое стало серым. Серое стало… почти зелёным.
Марфа написала стейкхолдерам:
— «Стабилизировали. Причина найдена. План действий — в постмортеме».
Архимаг OKR уже хотел сказать что‑то про «рост», но Артур поднял руку:
— Сейчас будет постмортем. Без поиска виноватых.
— Но кто виноват? — спросил Архимаг, как ребёнок, увидевший разбитую вазу.
Артур устало посмотрел на него.
— Виновата система, — сказал он. — И мы, как часть системы. Но если вы хотите имя — назовите «Процесс». Он у нас самый древний.
Мы сели в круг. Не стендап — другой круг. Тот, в котором люди перестают играть роли и начинают говорить правду.
Я написал на доске три пункта:
-
Техническое: «маленькая проверка на каждый запрос» — плохая идея без кэша и без лимитов.
-
Процессное: «всё в одном квартале» — магия, но чёрная.
-
Культурное: «обещания вдвое» без инвентаря зависимостей — это заклинание самообмана.
Архимаг OKR молчал.
Марфа сказала тихо:
— Я… я правда думала, что «большой проект» решит тревогу.
Гаврила буркнул:
— Большой проект решит только то, что у вас будет большой инцидент.
Некромант Легаси добавил:
— Дракона не обязательно убивать. Дракона надо кормить правильно и не будить без плана.
Инквизиторша Безопасности впервые сказала:
— А я… я могу сделать так, чтобы «временные печати» стали нормальной процедурой. Чтобы в инциденте вы могли действовать и не ломать правила. Но вы тоже должны писать runbook.
Артур посмотрел на меня.
— Ты хотел вести магию стабильности?
— Да, — сказал я.
— Тогда делаем Орден SLO, — сказал он. — Не как бюрократию. Как договор. Сами с собой и с реальностью.
Я улыбнулся. Потому что впервые за всё время это звучало не как «инициатива», а как взросление.
Позже, когда прод снова стал зелёным, я вышел на балкон Башни релизов. Облака плыли спокойно. Дракон где‑то внизу дремал, переваривая транзакции.
Я достал ноутбук и открыл пустой документ.
Почему я пишу вам эту историю?
Потому что иногда самая полезная магия — это назвать вещи своими именами.
Потому что в каждом из нас живёт маленький Архимаг OKR и маленький Некромант Легаси — и оба хотят победить.
Потому что «не деплой в пятницу» — это не суеверие. Это память вида.
И потому что, если вы дочитали до этого места, значит, ваш мониторинг души ещё работает.
Конец трилогии.
ссылка на оригинал статьи https://habr.com/ru/articles/1024126/