Русский
Открыть в Telegram
AA young Max’s notebook

A young Max’s notebook

@youngmaxnotes · канал · Технологии · в индексе с 19.07.2026
205подписчиков+17 за неделю
218средний охват поста
106%ER — охват к подписчикам
5постов за 30 дней
A
A young Max’s notebook
Ссылка
нажмите — покажем
5 антипаттернов on-call дежурств, которые сжигают команду На новом месте я сразу полез смотреть как устроен on-call. И увидел знакомую картину: алертов много, реальных инцидентов мало (если сравнивать с ложными), дежурят одни и те же люди, runbook'ов нет - или они не актуальные, или пустые. Классика, я уже даже не удивляюсь. Базовая ситуация, когда SRE не было и практики не применялись. Но пришло время всё исправлять. Тема горячая: Catchpoint SRE Report 2026 показывает - 70% SRE называют on-call стресс прямой причиной выгорания, тойл вырос до 34% рабочего времени. PagerDuty фиксирует: из ~50 алертов в неделю на инженера только 2-5% требуют действия. 1. Все алерты - P1 Нет severity → каждый алерт будит ночью → через неделю мозг отключается. 44% организаций получили аутедж из-за проигнорированных алертов, 67% инженеров признаются, что dismissают без разбора. Решение: DISASTER → CRITICAL → HIGH → WARNING. Если всё P1 - значит ничего не P1. 2. Один герой на линии Один человек дежурит неделями, потому что «знает систему лучше всех». Google SRE рекомендует: макс. 2 инцидента за смену, минимум 50% времени - на проектную работу, не на тушение пожаров. Решение: primary + secondary, ротация раз в неделю. Wheel of Misfortune - чтобы дежурить мог каждый, а не только «тот самый Андрей». 3. Runbook? Какой runbook? Алерт в 3 ночи, on-call не понимает что делать. 40 минут на пинги в Mattermost и эскалацию. incident.io подтверждает: без runbook время разрешения x3-4. Решение: нет runbook = нет алерта. Внутри: что случилось, что проверить, как чинить, когда эскалировать. Цель - 10 минут без эскалации. 4. Дежурство без компенсации Инженер не спит ночами. Компенсация: спасибо в Mattermost ноль. Google прямо говорит: out-of-hours работа должна компенсироваться - отгулами или деньгами, с капом на кол-во смен. 5. Нет follow-up после инцидента Починили → забыли → через неделю тот же алерт в 3 ночи. Runframe: тойл вырос до 30%, при этом 16% говорят что AI только добавил работы. Маш… Читать полностью →
7 · 295 ·
A young Max’s notebook
Ссылка
нажмите — покажем
AI SRE Agent не заменит on-call PagerDuty 12 марта 2026 выкатили Spring 2026 release с важным сигналом: SRE Agent как virtual responder, которого можно будет добавлять в schedules и escalation policies. Он первым смотрит на инцидент, делает triage/diagnosis и только потом будит человека. Звучит как мечта: в 03:17 просыпается не инженер, а коробка с LLM внутри. Спасибо, я и так достаточно страдал. Но горячий тейк такой: AI в incident response не чинит плохой SRE-процесс. Он делает его быстрее, дороже и увереннее в своей неправоте. 1. Если нет SLO - агент не знает, что важно AI может сгруппировать алерты и предложить гипотезу. Но он не знает, что для бизнеса больнее: 500 ошибок в админке или +800 ms на checkout. Это всё ещё решают SLI/SLO и error budget. Без них agent будет сортировать шум по громкости, а не по impact. Получится быстрый дежурный без контекста. 2. Если телеметрия каша - AI будет гадать OpenTelemetry semantic conventions - это база для корреляции: единые имена для traces, metrics, logs, profiles и resources. А log correlation позволяет связывать логи с traces через trace/span id. Если в одном сервисе service, в другом app, в логах нет trace_id, владельцы живут в голове у Сережи, а деплои не связаны с инцидентами - агент будет играть в угадайку. Сначала сделайте так, чтобы человек мог за 10 минут собрать timeline. Потом зовите AI ускорять это до одной минуты. 3. Давать write-права сразу - плохая идея Вендоры уже говорят про approved remediations, rollback, scaling и автономные действия. Если сценарий типовой, зачем будить человека? Но начинать надо не с "пусть сам чинит прод", а с read-only режима: - собрать timeline; - показать связанные алерты; - найти похожие инциденты; - подсветить последний deploy; - предложить запросы к логам/трейсам; - показать, какой runbook устарел. Только потом - действия по allowlist: rollback canary, scale-up, рестарт consumer'а, отключение фиче-флага. И всё это должно попадать в аудит и постмортем. Автономност… Читать полностью →
8 · 234 ·
A
Ссылка
нажмите — покажем
Кто пейджит пейджер? На Reddit наткнулся на прекрасный по боли тред: "PagerDuty went down and my day went straight to hell". Ситуация знакомая: система, которая должна будить on-call, сама деградирует. Инциденты создаются с задержкой, уведомления не доходят, UI тупит, а ты думаешь: "всё хорошо или я просто ослеп?" И это не абстрактный страх. У PagerDuty есть разбор инцидента 28 августа 2025. Там проблема в Kafka привела к деградации обработки событий, задержкам уведомлений, webhooks, REST API и chat integrations. Часть событий могла получать 502, а при восстановлении пошёл backlog. Когда ломается paging-платформа, у вас не "просто не пришла SMS". У вас ломается нервная система production. Плохая новость: PagerDuty, Opsgenie, incident.io, Slack, SMS-шлюз и ваш любимый webhook - это тоже зависимости. Хорошая новость: их можно проектировать как зависимости, а не как магическую трубу. Alerting != paging Алертинг - это где рождается сигнал: Prometheus, Grafana, Datadog, CloudWatch, Zabbix. Paging - это как сигнал доезжает до человека: PagerDuty, Opsgenie, Grafana OnCall, самописный бот, SMS, email, Slack, Telegram - или что там у вас. Если единственный способ понять, что прод горит, - открыть ваш paging tool, то у вас не incident management. У вас single point of panic. Критичные алерты должны иметь обходной путь Не надо дублировать каждый warning в пять каналов, иначе on-call начнёт ненавидеть жизнь. Для P0/P1 должен быть fallback: - email напрямую из monitoring source; - резервный Slack/Telegram канал; - отдельный webhook; - внешний synthetic check; - status page watcher для критичных SaaS; - ручной режим "смотрим главные SLI dashboards". Звучит дедовски, но когда paging лежит, дедовские методы внезапно становятся enterprise-grade. Надо мониторить не только сервисы, но и путь алерта Типичный антипаттерн: сервис мониторится, Prometheus мониторится, Alertmanager мониторится, а дальше сигнал улетает в SaaS: "ну там серьёзные ребята, они сами себя мониторят". … Читать полностью →
3 · 226 ·
A
A young Max’s notebook
Ссылка
нажмите — покажем
Платформа для wheel of misfortune. Ранее я рассказывал, зачем SRE-командам Wheel of Misfortune и как не превратить его в “поиграли и забыли”. Когда то я обещал моему лиду (привет Виталя) что верну в Додо WoM, которую вел мой ментор Ренат. Мне безумно нравилось, как он это делал. А теперь я сделал платформу, чтобы это было проще проводить руками. Репозиторий тоже открыт. Идея простая: не хранить сценарии в разрозненных .md, табличках, Notion-страницах и “где-то у Васи”, а собрать нормальный тренажёр для incident response. Что сейчас умеет платформа: - создавать свои game packs; - держать приватные и публичные наборы сценариев; - запускать игру в режиме ведущего; - давать игроку отдельную ссылку на сессию; - выбирать сценарий руками или крутить колесо; - импортировать сценарии пачкой через JSON; - играть соло без ведущего, если хочется просто потренироваться. Внутри сценарий — это не просто “у нас DNS сломался”. Там есть контекст, тип инцидента, сложность, примерная длительность, timeline событий, подсказки для ведущего, действия игрока и GM script: pressure-вбросы, чекпоинты, подсказки по раундам. Мне хотелось, чтобы WoM был ближе к нормальной тренировке, а не к созвону “ну представь, что всё плохо”. Игра разбита на фазы: Detection → Investigation → Mitigation → Recovery. Каждый раунд игрок выбирает действие: дебажить, коммуницировать, принимать IC-решение или делать ops-фикс. Выбор влияет на panic level, service health и score. Да, это условная модель. Но она хорошо подсвечивает мысль: в инциденте важно не только “угадать root cause”, но и не забыть про коммуникацию, scope, верификацию восстановления и post-mortem. Отдельно я добавил agent skill: можно взять описание реального инцидента, runbook или заметки после разбора, сказать агенту “Сделай JSON для импорта в WOM” — и получить сценарий в формате платформы. Вот это для меня самая вкусная часть. Постмортемы часто умирают в Confluence/Notion/GitHub после пары action items. А тут их можно превращать в тре… Читать полностью →
25 · 1.2K ·
A
A young Max’s notebook
Фотография
1:1 - это не терапия, а место, где можно по-человечески поговорить не только о работе. Уйдем чуть-чуть от технички в более простые, но не менее важные вещи. Раньше я воспринимал 1:1 довольно утилитарно. Ну типа есть руководитель, есть я, есть задачи. Обсудили блокеры, планы, что горит, что не горит, где нужна помощь - разошлись. В целом полезно, но ощущалось как ещё один рабочий синк. Потом в Додо мне показали другой формат. Оказалось, что 1:1 - это не только про задачи, перформанс и “что у тебя по проекту”. Иногда это маленький safe space, где можно сказать: - “я устал” - “я не вывожу” - “меня бесит вот эта штука” - “я не понимаю, куда дальше расти” - “у меня сейчас сложный период вне работы” И нормальный руководитель в этот момент не становится психологом, спасателем или мамой. Но он начинает видеть контекст. А контекст решает. Если руководитель видит только карточки в трекере, он управляет карточками. Если он видит человека и контекст вокруг него, он может управлять нагрузкой, ожиданиями, ростом и рисками. Для меня это прям поменяло отношение к 1:1. Это перестало быть встречей ради встречи и стало нормальным инструментом управления. Что, на мой взгляд, делает 1:1 полезным: 1. Регулярность Лучше стабильные 30 минут раз в 1-2 недели, чем “созвонимся, когда будет тема”. Потому что “темы нет” - это тоже состояние. Иногда самое важное всплывает не в начале, а на 17-й минуте после стандартного “да вроде всё нормально”. 2. Это не статус-митинг 1:1 - это не место, куда надо переносить весь таск-трекер. Статусы должны жить в таск-трекере, стендапах, PR, документах - где угодно, но не съедать весь 1:1. Задачи можно обсуждать, но обычно за ними должна быть настоящая тема: блокер, конфликт, перегруз, непонятные ожидания, потеря мотивации. Если весь 1:1 - это “ну что там по тикету?”, то поздравляю, вы изобрели плохой дейлик на двоих. 3. Повестка должна быть с двух сторон Хорошо, когда и руководитель, и человек заранее накидывают темы. Если повестку всегда прино… Читать полностью →
35 · 1.6K ·
A
A young Max’s notebook
Фотография
Привет, %username%! Делюсь поделкой — написал утилиту srekit, которая закрывает скучную, но реальную боль: нужно срочно завести постмортем, runbook, инцидент-лог или RFC — лезешь искать шаблон из прошлого проекта, не находишь, копируешь руками, и так по кругу. srekit — CLI-генератор текстовых артефактов для SRE. Умеет создавать: - postmortem — шаблон в Google SRE-style с severity, временными метками, owner'ом; - incident — «живой» инцидент-документ для заполнения прямо во время инцидента; - runbook — runbook для on-call под конкретный алерт и сервис; - slo / ebp — SLO/SLI документ и Error Budget Policy; - rfc — RFC/ADR с жизненным циклом (proposed → accepted → rejected); - oncall-report — недельный отчёт дежурного; - capacity — план ёмкости с горизонтом, допущениями и рисками; - retro — шаблон ретроспективы команды; Шаблоны двуязычные (RU/EN), под свою команду переопределяются через templates init. Есть --json для пайплайнов, shell autocomplete и установка через Homebrew или go install. Отдельно нравится команда templates upgrade — делает 3-way merge кастомных шаблонов с апстримом, не затирая то, что ты правил руками — просто приятная мелочь. Полная документация — jtprogru.github.io/srekit. А как вы сейчас у себя ведёте SRE-документацию? Есть устоявшийся шаблонный тулинг в команде или каждый раз копируете из прошлых проектов? Любопытно, каких команд не хватает — пиши в комментариях. #SRE #DevOps #CLI #OpenSource #Go #Golang #Postmortem #Runbook #OnCall #SiteReliabilityEngineering #SLO #ErrorBudget
5 · 276 ·
A
A young Max’s notebook
Ссылка
нажмите — покажем
В прошлом посте писал, что 1:1 - это не терапия и не статус-митинг, а нормальный инструмент управления, где можно увидеть человека и контекст. Теперь хочу докрутить мысль с инженерной стороны. Хороший 1:1 - это не только разговор. Это ещё и система хранения сигнала. Потому что если после встречи ничего не осталось, кроме “вроде хорошо поговорили”, то у вас не процесс, а устный лог без retention policy. Очень душевно, но дебажить потом больно. Что же должно оставаться после нормального 1:1? 1. Сигнал Не просто “человек устал”, а понятнее: - нагрузка растёт; - ясности меньше; - доверие просело; - мотивация меняется; - тема повторяется уже третью встречу. В SRE мы не очень любим “ну вроде сервис медленный”. Мы хотим метрику, baseline и динамику. С людьми сложнее, но принцип похожий: один разговор - это точка. Несколько разговоров подряд - уже тренд. 2. Контекст Иногда человек говорит не “у меня проблема”, а “да нормально всё”. А потом на 20-й минуте оказывается, что нормально там примерно ничего. Поэтому контекст надо не только услышать, но и сохранить: что было важно, какие ограничения есть, где человек сейчас находится, что влияет на работу. Не чтобы превратить 1:1 в CRM по людям. А чтобы не начинать каждый разговор с холодного старта. 3. Договорённость “Да, надо будет обсудить с командой” - это не договорённость. Договорённость начинается там, где понятно: - кто делает; - что делает; - к какому сроку; - зачем; - когда вернёмся проверить. Нет follow-up’а - нет доверия. Это я уже писал, но повторю, потому что больно. 4. Гипотеза развития Если на 1:1 постоянно всплывает одна и та же тема - это может быть не “просто поговорить”, а материал для ЛПР. Например: - сложно приоритизировать; - тяжело отказывать; - не хватает системной диагностики; - человек хочет расти, но не понимает куда; - ожидания по роли мутные. Это уже не заметка. Это гипотеза развития, которую можно превратить в цель, план или конкретный следующий шаг. 5. Память процесса Самая частая проблема … Читать полностью →
7 · 281 ·
A
A young Max’s notebook
Фотография
Думаешь, что не выгорел? Возможно, ты уже прогорел. Просто система всё ещё отвечает 200 OK. Это первый пост небольшой серии о выгорании. Сначала разберём, как сотруднику отличить «я просто устал» от устойчивой проблемы и что с этим делать. Следующий пост будет для лидов: как не сжечь команду и что делать, если человек уже на грани. Выгорание редко начинается с красивого «я больше не могу». Чаще ты продолжаешь ходить на дейлики, закрывать задачи и выходить на дежурства. Снаружи всё работает. Внутри ты уже отключил половину алертов, потому что на остальные нет сил реагировать. ВОЗ описывает выгорание через три вещи: • истощение; • дистанцирование от работы и цинизм; • ощущение, что ты стал хуже справляться. Это не диагноз по посту в Telegram. Но есть паттерны, после которых опасно продолжать говорить себе: «Да я просто устал». 1. Отдых перестал тебя возвращать Не один плохой понедельник. Недели. Спишь, проводишь выходные без ноутбука, берёшь свободный день — а батарея всё равно заряжается процентов до двенадцати. 2. Сарказм заменил вовлечённость Раньше ты спорил и предлагал. Теперь любая новая задача вызывает только: «Ну конечно. Именно этого нам и не хватало». Юмор — нормальная система охлаждения. Но когда за ним остаются только злость и безразличие, система уже перегревается. 3. Результат больше ничего не даёт Задачи закрываются, а ощущения «я что-то сделал» нет. После работы остаётся не удовлетворение, а только облегчение, что от тебя временно отстанут. 4. Голова работает в degraded mode Теряешь контекст между вкладками. Перечитываешь сообщение три раза. Простая задача ощущается как ещё один инцидент. Систематический обзор обнаружил связь клинического выгорания с ухудшением внимания, рабочей памяти и скорости обработки информации. Не доказанную причину — именно связь. Так что «я просто стал тупее» может быть не самым точным диагнозом системы. 5. Работа закончилась, а ты из неё не вышел Чаты закрыты, но диалоги продолжаются в голове. Перед сном проверяешь … Читать полностью →
2 · 225 ·
A
A young Max’s notebook
Фотография
Выгоревший сотрудник — не сломанный ресурс, который нужно перезапустить. Иногда сломана сама система работы. Это второй пост серии о выгорании. В первом разобрали сигналы и действия сотрудника. Теперь неприятная часть для руководителя: что делать, если человек уже не вывозит, и как не сжечь остальных. Начнём с простого. Лид — не психотерапевт. Он не должен ставить диагнозы, копаться в личной жизни или героически спасать человека. Но лид отвечает за архитектуру работы. Нагрузку. Приоритеты. Дежурства. Количество параллельных задач. Ясность ожиданий. Возможность влиять на решения. Реакцию команды на ошибки и просьбы о помощи. Поэтому ответить на «я больше не вывожу» ссылкой на приложение для медитации и оставить тот же roadmap — довольно странный incident response. 1. Не диагностируй — наблюдай Смотри не на настроение одного утра, а на изменение поведения. Человек стал молчать на встречах? Чаще ошибается? Перестал предлагать решения? Раздражается на обычные запросы? После дежурств не восстанавливается? Это не повод объявлять «у тебя выгорание». Это повод спокойно поговорить один на один. 2. Спрашивай не «как тебе стать продуктивнее?», а «что мы должны снять?» Когда человек уже истощён, новый трекер, курс по тайм-менеджменту и совет лучше планировать день становятся ещё одной нагрузкой. Откройте список задач и решите: • что останавливаем; • что передаём; • какие сроки двигаем; • где сокращаем WIP; • нужна ли пауза в on-call; • какие встречи и процессы можно убрать. Если приоритетов семь, приоритетов нет. 3. Верни человеку контроль и ясность Исследователи выгорания выделяют шесть важных зон рабочей жизни: • нагрузка; • контроль; • вознаграждение и признание; • отношения; • справедливость; • совпадение работы с ценностями. Не всегда проблему решает только уменьшение количества задач. Иногда человек выгорает от бесконечной смены приоритетов, отсутствия влияния, несправедливых решений или работы, в которой больше не видит смысла. 4. Перестань награждать героиз… Читать полностью →
6 · 229 ·
A
A young Max’s notebook
Фотография
У вашего мониторинга могут быть права на RCE. И вы сами их выдали Залез читать изменения Kubernetes 1.36 и наткнулся на прекрасное. У ServiceAccount вашего Prometheus, log collector или monitoring agent может быть такое правило: resources: ["nodes/proxy"] verbs: ["get"] Выглядит безобидно. Ну get же. Read-only. Просто почитать метрики и разойтись. На деле этого права может хватить, чтобы выполнить команду в любом контейнере на доступной ноде. Да, get. Да, RCE. Ага, Kubernetes moment. Как мы вообще сюда пришли У kubelet есть HTTPS API, обычно на порту 10250. Через него можно получать метрики, статистику, логи, список Pod — и делать exec в контейнеры. Исторически почти все эти endpoint’ы авторизовывались через один широкий ресурс — nodes/proxy. То есть monitoring agent, которому нужно было только сходить в /metrics, получал то же право, через которое можно добраться до /exec. Но становится ещё веселее. Для установки WebSocket-соединения используется HTTP GET. Kubelet сопоставлял этот запрос с RBAC-глаголом get и не выполнял дополнительную проверку на create перед началом интерактивной операции. В результате ServiceAccount с get nodes/proxy и сетевым доступом к kubelet API мог открыть /exec и выполнять команды внутри контейнеров. Kubernetes SIG Auth и SIG Node прямо называют nodes/proxy возможностью уровня node superuser. Важная оговорка Это не означает, что любой установленный Prometheus автоматически уязвим. Должны совпасть два условия: — у ServiceAccount есть get на nodes/proxy; — из workload можно достучаться до kubelet API на ноде. Но для агентов, которые собирают данные напрямую с kubelet, второй пункт вполне может быть частью архитектуры. И если такой агент или его токен скомпрометируют, blast radius будет немного больше, чем «сломался один дашборд». Но ведь Kubernetes 1.36 это исправил? И да, и нет. :) В 1.36 KubeletFineGrainedAuthz стал GA и всегда включён. Вместо широкого nodes/proxy теперь можно выдавать точечные права: — nodes/metrics для /metri… Читать полностью →
2 · 314 ·
A
A young Max’s notebook
Фотография
Встречаемся на ПерфКонф #12? ДА! Вы, возможно, знаете, а может, и нет, но я очень люблю участвовать в программных комитетах разных конф. И вот уже второй год подряд я вхожу в ПК ПерфКонф.))) Вместе с классными ребятами из ПК мы отбираем доклады, обсуждаем их содержание и формируем программу так, чтобы в ней было больше реального опыта, работающих решений и честных выводов — без воды и прочей ерунды. В этом году поговорим о нагрузочном тестировании, оптимизации производительности, DevOps и CI/CD, SRE и Observability, применении ИИ, хаос-инжиниринге и других актуальных задачах. 📍 Москва, Loft Hall на Автозаводской 💻 Также можно участвовать онлайн 🗓 9 сентября 2026 года А для тех, кто покупает билет как физлицо, есть промокод pk20 — укажите его при оформлении. Буду рад встретиться, обсудить доклады и поговорить о том, что сейчас происходит в мире высоконагруженных систем. Присоединяйтесь! До встречи на ПерфКонф #12! 🚀 #ПерфКонф #Performance #SRE #DevOps #НагрузочноеТестирование
5 · 248 ·
A
A young Max’s notebook
Фотография
Фотография
Фотография
Фотография
Фотография
Инциденты, метрики и спасенный прод на DevOops 2026 Вы, возможно, знаете, а может, и нет, но я вхожу в программный комитет DevOops. Поэтому программу видел немного ближе, чем обычный посетитель :) Из всех докладов я выбрал восемь выступлений, на которые хочу попасть в первую очередь. Там всё, что я люблю: Kafka в Kubernetes, GitOps без лишнего риска для всей инфраструктуры, политики безопасности, надёжность, метрики DORA, наблюдаемость и даже архитектура корпоративного GPT. В общем, полный путь от «давайте просто развернём» до «так, а где у нас инструкция на случай аварии?». Не утверждаю, что остальные доклады можно пропустить. Просто эти ближе всего к темам, с которыми я работаю и о которых пишу здесь. Моя подборка — в карточках. Полная программа — в расписании. 📍 Санкт-Петербург 💻 Можно участвовать удалённо 🗓 12–13 октября 2026 года Для тех, кто покупает билет как физлицо, есть мой промокод youngmaxnotes — с ним персональный билет дешевле. Буду рад встретиться на DevOops и обсудить доклады. До встречи! 🚀 Купить билет #DevOops #Надёжность #Наблюдаемость #Kubernetes
3 · 193 ·
A
A young Max’s notebook
Фотография
Самый опасный деплой 2026 года - тот, который никто не считал деплоем Залез перечитывать большие постмортемы этого года. Пока мы спорим, пускать ли AI-агента в on-call, три самых громких аутэджа года говорят совсем о другом. Cloudflare, 20 февраля. Azure, 23 июля. Google Cloud, 20 августа. Три компании, три стека, одна причина: плановая, рутинная, «безопасная» операция, которую выполняла автоматика. Никто не катил релиз. Никто не лез в прод руками. Всё по регламенту. 1. Cloudflare: cleanup с пустым параметром Задача чистила BYOIP-префиксы, помеченные на удаление. Параметр pending_delete ушёл в API без значения - и сервер вернул вообще все префиксы. Система честно начала удалять их вместе с зависимыми объектами. Из BGP ушли ~1 100 из 4 306 префиксов, четверть. 6 часов 7 минут. Код отработал правильно. Просто вопрос был задан неправильно. Знакомо? 2. Azure West US: blast radius посчитали не так Рутинный break-fix на сети. Система анализа blast radius из-за дефекта расширила scope на все оптические устройства датацентра. Safety validation тоже отработала и сказала «безопасно»: она проверяла устройства по одному, а не эффект от изоляции всех сразу. Маршруты между ДЦ и WAN исчезли, около 5 часов. Алерты сработали через минуту, а вот связать аномалию с maintenance-триггером смогли только через 2,5 часа. Откат - руками. 3. Google Cloud us-west1: failover не сделал failover Плановые работы на оптике между ДЦ. Ёмкость просела сильнее ожидаемого, automated rerouting «failed to properly redistribute traffic». Деградация трёх десятков продуктов. 2 часа 22 минуты. В remediation Google обещает «stricter safety checks and circuit redundancy requirements prior to routine maintenance». У Google. Если казалось, что только у вас так - нет. Что общего Uptime Institute в Annual Outage Analysis 2026: 92% считают человеческий фактор хотя бы частичной причиной последнего серьёзного сбоя, самая частая форма - failure to follow procedures (59%). 87% говорят, что аутэдж можно было изб… Читать полностью →
4 · 245 ·
A
A young Max’s notebook
Ссылка
нажмите — покажем
Агенту разрешают расследовать, но не разрешают чинить. Почему граница именно здесь???? В ноябре я писал про SRE Agent от PagerDuty: начинайте с read-only. Прошло десять месяцев, и спор сместился: уже не «заменит ли AI дежурного», а «где проходит граница». 24 августа в r/sre инженер после полугода on-call заметил одно и то же во всех обзорах AI SRE-инструментов: расследовать агенту дают одному, чинить - никто. Это навсегда? Что говорят цифры ORCA-bench, 30 июля, Cornell Tech, Columbia и Traversal (последние продают AI SRE-агента, держите в уме). Стенд: 19 микросервисов на OpenTelemetry, шесть дней телеметрии в Prometheus, Jaeger и OpenSearch, доступ к коду, 1 079 задач на root cause, пять фронтирных моделей. Лучшая точность RCA на задачах средней сложности (реалистичный ввод) - 25,3%, на сложных - 10,0%, разрыв сохраняется даже с Claude Fable 5. Слабейшая модель выдумывает неправдоподобную причину в 40% отчётов. Типичная ошибка: хватается за заметный симптом ниже по потоку вместо причины выше. Авторы называют это нижней границей: прод больше и грязнее стенда. Комментатор в треде сформулировал точно: плохой анализ в худшем случае тратит ваше время, запись в прод без человека - катастрофа. Граница проходит по цене ошибки. NeatContext в июле выключили автономного агента с доступом к логам: таймаут платёжного шлюза он связал со всплеском коннектов к БД двенадцатью часами раньше, через RAG унаследовал устаревший runbook и не умел сказать «не знаю». «Получили уверенный генератор галлюцинаций». Они продают свой инструмент, но симптомы знакомые. Как границу строят руками 1. Read-only, который действительно read-only. HyperProbe (Launch HN, 5 августа) даёт агентам ставить виртуальные пробы в работающий процесс. Главный вопрос треда: чем «только чтение» гарантия, а не договорённость? В Python чтение атрибута может дёрнуть @property с ленивой загрузкой из БД, в Java геттер - взять лок. Ответ: условия без вызовов методов и доступа к свойствам (order.total > 5 нельзя, total… Читать полностью →
45 · 2.2K ·
A
A young Max’s notebook
Фотография
Wheel of Misfortune, но с настоящим прод‑инцидентом внутри Полгода назад я писал, зачем SRE нужна Wheel of Misfortune: ролевая игра про инцидент, где ведущий рассказывает, что видит дежурный, а дежурный говорит, что бы он сделал. Полезно, дёшево, но есть одна честная проблема: это разговор. Никто ничего не чинит. «Я бы посмотрел describe pod» звучит одинаково у того, кто делал это сто раз, и у того, кто ни разу. И тут я подгорел и сделал платформу, где инцидент настоящий, тк инцидентное мышление тренируется руками, а не словами. Вашему вниманию - тренажёр инцидентов с живыми окружениями. WoM Platform Заходишь, выбираешь сценарий (или крутишь колесо), и через пару секунд для Linux‑хоста или через минуту для Kubernetes у тебя в браузере терминал в изолированный стенд, который уже сломан. Nginx отдаёт 502, диск базы забит бинлогами, rollout завис на квоте, HPA пилит сам себя, cert-manager не может продлить сертификат. Чинишь как на настоящем дежурстве (как будто бл* на работе мне этого не хватает, ага): логи, ss, df, kubectl describe, kubectl edit. Жмёшь «Проверить» - грейдер смотрит на результат, а не на способ: любой честный путь засчитывается, «убрать пробу» или «поднять лимит памяти» - нет. После решения открывается разбор: что было сломано, как диагностируется, эталонное решение, ловушки, что почитать. Что уже готово 22 живых сценария от Junior до Senior. Для джунов - учебные копии. У каждого junior‑кейса две версии: обычная и учебная с панелью «Нужна помощь?», которая открывает этапы диагностики по одному и объясняет, зачем нужна каждая команда. Не «вот ответ», а «вот куда смотреть и почему». Плюс шпаргалка и что почитать заранее. Стенды настоящие. Каждый сценарий проходит регресс: свежий стенд не решён, эталонное решение решает, ловушки не проходят. Ограничения, чтобы не было сюрпризов Одновременно живут до 6 Kubernetes‑стендов и до 20 сессий всего, а поднимаются они по два за раз: если увидите «ждём свободный слот» или «занято», это не поломка, по… Читать полностью →
84 · 1.5K ·
A young Max’s notebook
Приносите свои кейсы, будем прожаривать :)
66 ·
A
Фотография
Что увидят в вашей архитектуре разработчик, безопасник, SRE, финансист, продакт и аналитик? Архитектуру обычно проверяют другие архитекторы. Потом решение попадает в жизнь, и к нему приходят разработка, ИБ, SRE, финансы, продукт и аналитика. Каждый со своими вопросами. 19 ноября на московской конференции Импульс Т1 мы проведём Прожарку архитектурных кейсов. Зовем смоллтех показать свою архитектуру! Как всё пройдёт: — автор за 5–7 минут показывает схему, описывает задачу, ограничения и выбранное решение; — эксперты разбирают кейс с позиций разработки, ИБ, финансов, продукта, надёжности и эксплуатации; — вместе смотрим на аналитику и данные; — аудитория тоже оценивает решение и задаёт вопросы. Автор получает многодоменный разбор: что в решении уже убедительно, какие риски стоит проверить и какие вопросы могли остаться за рамками обычного архитектурного ревью. Детали под NDA не нужны, компанию и цифры можно обезличить. Подать кейс нужно до 2 ноября
65 ·
A
A young Max’s notebook
Ссылка
нажмите — покажем
Game of Incidents теперь в open source Понимаю, сейчас половина айтишников в РФ обсуждает падения всем известного облака. А вторая половина поднимает свои сервисы после этих падений. Ребята из Додо, душой и сердцем я с вами. Крепитесь. Но, обещал - сделал. Тренажёр в опенсорсе. Что внутри: - 22 сценария: 3 на Linux-хосте и 19 на Kubernetes. От junior («Nginx отдаёт 502», «Сломанные пробы») до senior («Фантомная сеть», «Обновление пошло не так»). У пяти junior-кейсов есть учебные версии с пошаговыми подсказками. - Установка одной командой на чистый Debian 13 или Ubuntu 24.04: bash scripts/provision/provision.sh --host <ip> --domain <домен> Можно и без домена, просто по IP. - Всё для своих сценариев. Сценарий - это папка с scenario.yaml, брифом, разбором, Dockerfile или манифестами и скриптами поломки, проверки и эталона. Есть инструкция для LLM-агента: описываешь ему свой инцидент и инфраструктуру, он пишет сценарий, проверяет и загружает на платформу. - Лицензии: код - Apache-2.0, сценарии и документация — CC BY 4.0. Теперь важный момент. Платформа запускает недоверенный код игрока в песочницах. В Kubernetes-сценариях нода кластера - привилегированный контейнер. Поэтому ставьте на выделенный сервер или ВМ и читайте SECURITY.md, прежде чем открывать регистрацию незнакомым людям. Интерфейс и большая часть документации - на русском. README и инструкция по установке есть и на английском. Попробовать: game.sresh.ru - регистрация по логину и паролю, почта не нужна. Забрать исходники: github.com/fadeinflames/game-of-incidents Буду рад сценариям из ваших постмортемов, с соблюдением NDA, пожалуйста. Для идей в репозитории есть шаблон issue - «Идея сценария». Готовые сценарии можно прислать через pull request или загрузить прямо в кабинете автора на сайте. Об уязвимостях - только в личку, не в issues. Это мой первый проект в опенсорсе, так что тряпками сразу не кидайтесь. Идеи, критику и любую другую обратную связь принимаю в личке и комментариях. #SRE #DevOps #Linux… Читать полностью →
46 · 630 ·
A
A young Max’s notebook
Фотография
SRE в рекламе: когда 200 OK стоит дороже, чем 5xx Последние пару недель, пока был в отпуске, собирал внутреннюю лекцию про SRE в ad tech. Пока собирал, понял, что половина привычек из «обычного» SRE здесь не то чтобы вредна, а смотрит куда-то не туда. Ниже пара вещей на что бы я обратил внимание: только то, что в рекламе устроено иначе. 1. Три валюты вместо двух Обычная надёжность считается в двух валютах: доступность и задержка (латенси). В рекламе есть третья, и она главная: деньги. Сервис может отвечать 200 за 30 мс и при этом списывать с рекламодателя больше, чем он оплатил. Из кодов ответа и гистограмм это не выводится никак. SLI «деньги списаны верно» нужен отдельным слоем, рядом с serving (отдачей рекламы), а не вместо него. 2. Две ошибки, и обе без 5xx Недопоказ: баннер не отдан, кампания отстаёт, вы недозаработали. Перекрут: показали больше, чем оплачено, деньги придётся возвращать. Классический мониторинг видит только первую, и то если она даёт ошибки. Перекрут выглядит как здоровая система: трафик растёт, ошибок нет, все графики зелёные. Чем лучше работает serving, тем быстрее вы сжигаете чужой бюджет. 3. Проверка бюджета упала. Показывать дальше или остановиться? Проверка бюджета недоступна: кэш лимитов упал, таймаут к биллингу. У кода два пути: перестать показывать (недопоказ) или показывать без проверки (перекрут). Это продуктовое решение с ценой в рублях, а принимает его тот, кто когда-то писал обработку ошибки. Проверьте, что делает ваш код, когда источник лимитов молчит. Мне кажется что у большинства - молча пропускает. 4. Четыре скорости времени Serving живёт в миллисекундах. Обратная связь от бюджета к показам идёт минуты. Управление кампаниями считается часами. Отчётность, маркировка, акты для партнёров живут днями и неделями. Инцидент в последнем контуре виден через неделю, и алерт на p99 за пять минут его не поймает никогда. Нужны SLI на свежесть данных и регулярная сверка «показано против списано». И да, привычный после сбоя replay … Читать полностью →
8 · 211 ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем