02:13, февраль 2026. Я сижу в пустой кухне коворкинга на Звенигородской, фильтр остывает в чашке, монитор мерцает, а PagerDuty орёт как пожарная машина. У клиента — средний маркетплейс на 2,3 млн юзеров в месяц — корзина уходит в 500-ки только у новых посетителей. Старые держатся на куках. Запахло той самой ночной жижей, которой мы все питались в 2018-м. Разница лишь в том, что теперь вместо рывка «срочно всё чиним» я открываю плейбук на 8 страниц и спокойно следую пунктам. Через 12 минут фича-флаг отрубает проблемный релиз, CDN выдает тёплый кеш, а лог с корнем зла лежит у меня в телеге, аккуратно размеченный. И да, кофе остыл окончательно — такова цена MTTR в 7 минут.
Если отбросить романтику героизма, поддержка — это не набор суперменов у консоли. Это холодный спорт. Там побеждают не мышцы, а ритуалы. У меня их 19 — от «проверка TTL у всех ключевых JSON-эндпоинтов по понедельникам» до «среда без релизов после 16:00 по Москве». Звучит занудно. Зато за 2025-й мы словили на 27% меньше ночных инцидентов у клиентов. Кому нужны цифры повыше? Один крупный ритейлер после трёх месяцев этой рутины перестал будить нас вообще: два автопереката по выходным и внезапные пики трафика в рекламе — всё пережёвывалось кешем и флагами, без участия людей.
Что реально держит поддержку в 2026, а не презентации
Первое. Нормальная таксономия инцидентов. Не «упало», а «категория RUM LCP деградация 20%+ только у Safari/iOS 17.4». Когда мы перестали смешивать RUM и серверные ошибки, ложных тревог стало в три раза меньше. RUM — на продукт, сервер — к нам.
Второе. Счета и бюджеты ошибок. Я всерьёз считаю error budget не как мантру SRE, а как юридический инструмент. Если у нас SLA 99,95% в месяц, то у команды есть 21 минута простоя, которые можно «потратить» на рискованный релиз. Выбили бюджет — готовьтесь к фризу. Никаких истерик. И CFO аплодирует: предсказуемость дороже скорости.
Третье. Маленькие автоматизации, которые делают погоду. Скрипт в 42 строки, что сверяет конфиги Nginx в гите и на серверах раз в 10 минут. Одну и ту же опечатку «keepalive_timeout» этот дружок ловил у нас четыре раза в прошлом году. Экономия — 6 часов инженера и одна не случившаяся ночная истерика.
Кейс: «искусство не будить никого»
Летом 2025-го у знакомых из логистической компании начали плавать цены доставки по регионам — API внешнего провайдера хромал вечерами. Не наш косяк, но пользователю всё равно. Мы прикрутили двуступенчатый кеш: 600 секунд в CDN со stale-while-revalidate и локальный in-memory на 90 секунд в Node. Дополнительно — здравый таймаут в 800 мс и фоллбэк к «вчерашней цене» с пометкой в интерфейсе. Результат: 0 критических обращений в поддержку за 14 дней, хотя провайдер валился 7 раз по 3–9 минут. До этого таких писем было в среднем 19 за вечер. Магии нет, просто кашемир вместо плаща супергероя.
Я однажды поймал это на себе, без всякой архитектурной поэзии. Январь, -22, мне в Пулково к 06:40, а такси с ценником уровня «почувствуй себя шейхом». Я иду на ночной автобус от Московского. У городской айтишки всегда есть план Б — кеш и офлайн. Поэтому я держу на телефоне заметку с ключевыми остановками и скриншоты расписаний, а по дороге открываю автобусные маршруты и сверяю, не поменяли ли интервалы или конечные. Вот эта бытовая паранойя отлично перекладывается на поддержку: снабди пользователя «статикой, которая спасёт», а всё остальное пусть достраивается тихо, когда сеть и бэкенды в настроении.
Плейбуки вместо «надеемся на лучших»
Мой любимый плейбук — «пятница 18:00, у фронта сломалась авторизация». Первая реакция не «чинить». Первая — отдать заранее подготовленную заглушку с гостевым режимом и подсказкой «заказ сохранится, авторизуйтесь позже». Мы тестируем эти экраны раз в квартал. У одного B2C-сервиса конверсия в покупку при гостевом режиме упала на 6%, зато мы избежали шквала писем «не могу войти» в пиковые часы. Через 23 минуты фича-флаг вернул нормальную auth-флоу. Что важнее — пользователи вынесли это как “неудобство”, а не как “катастрофу”.
Ещё рутина, без которой всё остальное не взлетит: «немые» дашборды. У нас их пять. Они не шлют алерты, они просто висят на больших мониторах: аптайм бэкенда, ошибки 5xx по регионам, p95 на ключевых экранах, статус внешних интеграций и кошелёк с лимитами у облаков. Когда команда мимо проходит по сто раз на дню, аномалии ловятся глазами. Это снижает слепоту и позволяет резать сами алерты до костей.
Пять алертов, которые не стыдно держать включёнными
— Ошибка авторизации 401/403 выше базовой линии на 80%+ в течение 5 минут.
— Всплеск 5xx на любом эндпоинте x3 к медиане за 10 минут.
— Degradation p95 LCP на вебе 1,8 секунды+ для доминирующего браузера региона.
— Тормоза платёжного шага: p95 выше 2,5 сек 3 минуты подряд.
— Резкое истощение кеша: hit-ratio падает ниже 65% в прайм-тайм.
Всё остальное — в «немые» панели и ручной обзор на утренних стендапах. Мы убрали 31 лишний алерт у одного клиента и получили минус 41% «ложняков». А через месяц ребята сами признались, что наконец слышат настоящие тревоги, а не прилепили уху глухую мозоль.
Инциденты без кнута: как разбирать и не ломать людей
Постмортем у нас — это не поиск виноватых, а бухгалтерия причин. Я задаю четыре вопроса: где была проверка, что она должна была заметить, почему не заметила, что починит это навсегда. В декабре 2025 у одного SaaS вылезло «тихое» истечение TLS-сертификата на внутреннем домене. Раньше за такое сжигали на костре. Мы добавили автонапоминание в календарь, алерт в CI и включили «нечеловеческую» проверку в GitHub Actions. Плюс политику «без продакшен-акцессов без временного токена на 2 часа». В следующем квартале инциденты «из-за людей» упали с 14 до 6. Не до нуля — люди остаются людьми. Но теперь каждая ошибка — кирпичик в стене.
День хаоса по-питерски
Понедельник, 9:40. Мы ломаем что-нибудь специально. Обычно это отказ внешнего API, отрубание региона в облаке или «испорченный» релиз с неправильной переменной окружения. 20–30 минут паники по сценарию в тренировочном контуре, потом 15 минут анализа. За полгода таких штук мы поймали пару отвратительных мест: как только умирает прайсинг в CDN, фронт вообще не знает, чем его заменить. Добавили дешёвый локальный прайс-лист, который обновляется раз в 3 минуты, и пошли пить кофе. В бою это срезало нам три потенциальных ночных реальных пожара.
Экономика поддержки: где прячутся деньги
В поддержку верят, когда сходится Excel. У одного проекта стоимость «одной спокойной тысячи запросов» в 2024 была 0,42 $. К концу 2025 упала до 0,18 $. Не потому что скидка у облака, а потому что кеш догрызли до 78% hit-ratio, статичный контент выгнали на edge, а тяжелые отчёты пересобрали ночью и отдаём готовое. Плюс мы резали «ручные» тикеты: вместо переписки уровня «пришлите скриншот» пользователь получает кнопку «отправить техническую сводку». Эти отчёты весом 14–60 КБ экономят в среднем 6 минут поддержки на тикет. На дистанции года — 1,3 млн ₽ экономии при трафике в 47 млн запросов в месяц.
Ещё одно наблюдение: SLA ради SLA — ловушка. У одного городского портала мы сознательно сдвинули «гарантированный ответ» с 15 на 25 минут ночью. Зато перестали держать вторую линию 24/7. Ночью критов почти нет, а ради «хорошо выглядит на бумаге» мы выжигали людей. Итог — та же удовлетворённость, минус два увольнения за выгорание, и руководитель стал послушнее к словам «error budget».
Технологии, которые не нужно продавать душу, чтобы внедрить
— Feature flags на всём, что двигается. Не только для фич, но и для интеграций. Любую внешку, которая может опозорить вас ночью, надо уметь отключить одной кнопкой.
— Перекат через тень. Dark launch + 1–5% canary на реальные сессии с пассивным мониторингом. Тот самый случай, когда «тихо» — это громко.
— Contract-тесты на интеграции. Ломают меньше, чинят быстрее. Особенно когда провайдеры любят «эволюционное развитие» API без предупреждений.
— Запрет на релизы после 16:00 среды и перед длинными выходными. Да, звучит занудно. Зато жизнь без валерьянки.
— Нормальный кеш-инвальдейт. Не «почистим всё». Таблицы с TTL, ключи с понятными паттернами, предсказуемость. Иначе вы не управляете трафиком, а просто прячете мусор под ковёр.
Люди и голос поддержки
Самая недооценённая штука — тон и ритм ответов. Мы в 2025 начали писать клиентам не «ваше обращение важно», а на человеческом: «мы откатили релиз, корзина снова работает, вы потеряли 2 заказа с 21:14 до 21:21, компенсируем промокодом». Живой, честный, по делу. Жалоб стало меньше, хотя правды стало больше. И вдруг оказалось, что поддержка — это часть продукта, а не просто «проблемный ящик» где-то в подполье Jira. Как только команда это проживает, всё остальное — плейбуки, алерты, бюджеты — начинает играть как оркестр, а не как соло на ложках.
И да, я всё ещё не люблю ночные автобусы. Но тот опыт с минус двадцатью двумя и ранним рейсом до сих пор напоминает мне главное правило сопровождения: пользователь должен добраться до своей цели даже если «сервер грустит и музыканты запаздывают». Выдайте ему карту, фонарик и запасной выход. Всё остальное можно подкрутить утром, на тёплом кофе, без сирен и героизма.