home.social

#постмортем — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #постмортем, aggregated by home.social.

fetched live
  1. Фатал на проде. Разбор без поиска виноватого

    Я руковожу отделом разработки в видеосервисе. Расскажу про инцидент, который мы пытались разобрать как ошибку конкретного человека, а в итоге нашли дыру в процессе. История банальная ровно настолько, чтобы случиться у многих. Что произошло Задача: изменить стоимость тарифа подписки. Тестировщик проверил основные сценарии: активация подписки, автопродление, отключение, обработка платежей. Все прошло, задача уехала в прод. Через несколько недель начали приходить жалобы. Выяснилось: у пользователей, у которых есть история платежей, но подписка на текущий момент не активна, при обращении к разделу подписки падает фатальная ошибка. Сценарий звучит экзотично ровно до момента, когда понимаешь, сколько у сервиса таких пользователей. Любой, кто когда-то оформлял подписку и потом отписался, попадает в эту категорию.

    habr.com/ru/articles/1096826/

    #баги #тестирование #qa #постмортем #управление_командой #процессы_разработки #инциденты #ручное_тестирование #тесткейсы #должностная_инструкция

  2. Постмортем моего выгорания: почти половина моей работы ушла в корзину, а я полтора года искала баг в себе

    В октябре прошлого года я расплакалась из-за упавшего линтера. В ямлике был лишний пробел, пайплайн покраснел, я посмотрела на красный крестик и минут пять не могла остановиться, хотя прекрасно понимала, что пробел удаляется за три секунды. Это был мой удаленный день, дома никого не было, так что никто ничего не увидел, и это, наверное, самое показательное во всей истории: к тому моменту я уже почти год очень старательно делала так, чтобы никто ничего не видел. В прошлой статье про тимлидов я мимоходом написала, что ушла из продуктовой компании на фриланс, и в личке меня несколько раз спросили, почему на самом деле. Про предложение стать лидом там все правда, только к январю оно упало на почву, которая полтора года готовилась сама, и у этого процесса есть очень заезженное название, выгорание. Писать про него мне долго не хотелось как раз из-за заезженности: обычно про выгорание пишут психологи или люди, которые продают курсы по восстановлению ресурса. Я бэкенд-разработчица и привыкла разбирать инциденты, поэтому и это разберу как инцидент, и обязательно с рассказом про то, как я раза четыре подряд чинила не то.

    habr.com/ru/articles/1086404/

    #выгорание #burnout #постмортем #МКБ11 #модель_Маслач #перепланирование #фичафлаги #мотивация_разработчика #карьера_разработчика #фриланс

  3. Как быть честным без радикализма

    Что, если проблема не в том, что люди слишком редко говорят правду, а в том, что они используют её как оружие... Где проходит граница между честностью и токсичностью? И что нужно сделать, чтобы неприятная правда действительно работала на результат?

    habr.com/ru/companies/smartval

    #коммуникации #обсуждение #blamelessпрактики #постмортем #честность #правдаматка #психологическая_безопасность

  4. [Перевод] Когда избыточность не спасает: как один сервер сделал объектное хранилище недоступным

    Сервер хранения может работать месяцами без единого предупреждения, а затем одно неожиданное отключение превращается в многочасовую недоступность сервисов. В этом постмортеме разбираем, почему отказ одного узла повлиял на объектное хранилище, как особенности размещения данных и служебных метаданных изменили сценарий сбоя и какие выводы были сделаны после инцидента. Рассмотрим, какие инженерные решения помогли бы быстрее обнаружить проблему, ограничить последствия и повысить устойчивость инфраструктуры. Разобрать инцидент

    habr.com/ru/companies/otus/art

    #отказоустойчивость #постмортем #мониторинг #инфраструктура #инциденты #DevOps #sre #Kubernetes #высокая_доступность

  5. Я 22 месяца двигал ставки в Telegram Ads руками, потом написал автомат. Он воевал сам с собой

    За 22 месяца в Telegram Ads у меня накопилось 1 043 канала, 3 000 креативов и стопка скриптов вокруг кабинета: харвест справочника, скоринг каналов языковой моделью, степпер ставок и гейт по прогнозной цене подписчика. В какой-то момент объём подписок просел на треть без видимой причины. Две недели я искал её снаружи, а нашёл внутри: степпер поднимал ставку объявлению без показов, гвард через сорок пять минут ронял её обратно, и оба скрипта писали в лог успех. Разбор с кодом, конечным автоматом и граблями, включая тихо непринятый PATCH и мёртвую зону на 250 показах.

    habr.com/ru/articles/1079252/

    #telegramads #api #автоматизация #nodejs #постмортем

  6. Четыре зелёных релиза поверх неверной сущности

    Постмортем Electron-редактора меню: SceneTree, PDFKit и тесты, которые доказали не то Я вернул «Объём» в поле, для которого он был задуман. Текст наполз на цену. Четыре релиза подряд проходили автоматические тесты. Зелёный статус только подтверждал обходной путь, который модель сама придумала, реализовала и затем закрепила проверками. Когда визуально все выглядело хорошо, пошла проверка деталей, на этапе которой результаты тестов разошлись с реальностью. Проверил руками и увидел, что объём лежит не там, где должен. Не в Position.volume, а внутри PriceNote. Четыре релиза. Четыре зелёных гейта. Четыре раза процесс сказал «всё правильно» тому, что правильным не было. После этого пришлось разбираться не только с багом, но и с контрактом, который его пропустил.

    habr.com/ru/articles/1078948/

    #постмортем #ИИагенты #тестирование #архитектура_ПО #релизный_процесс #Electron #SceneTree #PDFKit

  7. Все компоненты зелёные, а продакшн лежит: разбор аварии, которую нашли в git

    Инфраструктура была покрыта кодом почти на сто процентов. Мониторинг покрыты все компоненты. В момент аварии все метрики базы данных были идеальными, соседние сервисы на том же сервере СУБД работали без единой ошибки, провайдер облака показывал зелёный статус. При этом продакшн лежал двадцать минут, и первые пятнадцать никто не понимал, что происходит. Причина лежала в истории изменений инфраструктуры, и за первые пятнадцать минут туда не посмотрел никто.

    habr.com/ru/articles/1078876/

    #инцидент #мониторинг #постмортем

  8. Сторож бюджета сработал ровно так, как я его написал. Поэтому за сутки ушло 225 евро при жёстком пороге 150

    Я сам написал скрипт, который следит за расходом Telegram Ads и глушит кампании при превышении дневного лимита. Двадцать пятого июня он отработал ровно так, как был написан, — и именно поэтому за сутки открутилось 224,98 € при пороге 150. Разбираю по шагам, где именно я ошибся: почему проверка «раз в час» на самом деле проверяла не то, почему остановка кампании не остановила расход, и как алерт о проблеме ушёл туда, где его никто не читал. С кодом до и после.

    habr.com/ru/articles/1074138/

    #постмортем #инцидент #cron #алерты #nodejs #telegramads #автоматизация

  9. Четыре узла из семи не работали, и все проверки говорили OK

    Если вы держите свой обход блокировок, у вас почти наверняка есть белый список. Не как отдельная сущность, а как последнее правило в конфиге: разрешить то, разрешить это, а дальше reject . Появляется он в первый же день, когда доходит, что открытый прокси в интернете живёт до первой жалобы хостеру, и с этого дня к нему не возвращаются, потому что он не просит: узлы добавляются, конфиг раздаётся, туннель поднимается, мониторинг показывает зелёное. У нас в этом списке было пять адресов при семи живых узлах, и сколько недель это продолжалось, я до сих пор сказать не могу.

    habr.com/ru/articles/1069036/

    #обход_блокировок #singbox #Reality #белый_список #onion #многопрыжковый_маршрут #наблюдаемость #дрейф_конфигурации #постмортем #VLESS

  10. Тимлид и subnet-полукровка: как одна строчка в YAML стоила $50 000 и двенадцати часов прода

    Однажды, морозным ноябрьским утром 2024 года, я, как новоиспечённый тимлид не такой уж и маленькой команды, поверил в себя и в то, что спустя полгода изучения проекта и передачи дел от предшественника я полностью понимаю, как там всё устроено. Судьба обычно наказывает за самоуверенность. Не стал исключением и мой случай. Для понимания контекста добавлю, что я НЕ девопс - мне пришлось этим заниматься, и всё пишу через призму своего понимания проблемы. Возможно, сейчас придёт корифей AWS/CDK и скажет, что всё можно было сделать проще. Другими словами, не является индивидуальной инвестиционной рекомендацией. Смотреть страху в лицо

    habr.com/ru/articles/1068794/

    #aws #cloudformation #aws_cdk #постмортем #aurora #rds #iac #инциденты #vpc #devops

  11. Как измерить собственный обход блокировок: восемь механизмов, которые не выполнялись ни разу

    Мы делаем RCQ , мессенджер со сквозным шифрованием и открытым кодом ( Android , iOS , протокол ). В нашем основном регионе приложение блокируют, поэтому обход встроен внутрь клиента: sing-box в самом приложении, пул релеев, подписанный конфиг с их списком, запасной путь через CDN. Всё это писалось месяцами и ни разу не измерялось. Мы знали, что механизмы есть, а срабатывают ли они хоть когда-нибудь и в каком проценте случаев, никто из нас сказать не мог, потому что спрашивать было не у чего. В начале августа ушло двое суток на приборы. Ни одной новой функции, только измерение уже написанного. Нашлось восемь мест одной и той же формы: механизм построен, задеплоен, в него верят, а в продакшене он либо не выполнялся ни разу, либо выполнялся не так, как все были уверены. Дальше про приборы. Обход блокировок тут просто предметная область, приёмы работают на любом коде, который включается редко и по чужому расписанию: ретраи, фолбэки, аварийные переключения, резервные каналы доставки.

    habr.com/ru/articles/1067252/

    #обход_блокировок #телеметрия #наблюдаемость #Caddy #singbox #Reality #Cloudflare #отказоустойчивость #постмортем #ntfy

  12. Заменили ноду в кластере RabbitMQ — и через месяц потеряли регион OpenStack

    Короткая история про то, как штатная замена ноды оставила quorum-очереди с двумя членами вместо трёх, и почему cluster_status этого не показывает. Стенд: OpenStack Caracal (2024.1), развёрнут kolla-ansible. RabbitMQ — кластер из трёх нод, quorum-очереди.

    habr.com/ru/articles/1064916/

    #rabbitmq #openstack #quorum_queues #kollaansible #отказоустойчивость #кластеризация #cinder #постмортем #sre #инцидент

  13. История о том, как я потратил полгода жизни на борьбу с технологиями

    Думаю начну с начала. Я занимаюсь разработкой одного артхаузного проекта с названием " Attempt to Survive " и работая над ним , имел одну важную цель. Сделать высокую оптимизацию для работы со многими старыми системами, с устаревшим железом на текущие реалии. При этом имея достойную картинку. Для этого даже сделал небольшую сборку тестового пк с i7 6700k процом, картой gtx950 8 гигами оперы и материнкой с соответстующим сокетом. Многое уже имел от старого железа в коробках, так что собрать сложности не было.

    habr.com/ru/articles/1054260/

    #ue5 #ue4 #unrealengine #unreal_engine_5 #солоразработка #индиразработка #постмортем #gamedev #gamedevelopment #lumen

  14. Ваши постмортемы — это поминки. И добрая половина процессов в компании тоже

    Однажды я зашёл в компанию через неделю после крупного падения и попросил показать постмортем. Мне показали — с гордостью. Таймлайн поминутно, five whys, аккуратный список action items, owner напротив каждого, разослано по всем спискам. Красиво. «Видите, мы серьёзно подошли». Я задал один вопрос: а постмортем по прошлому такому же падению — где? Нашли. Открыли. Те же action items. Слово в слово. С прошлого раза не закрыт ни один. То есть полгода назад уже собирались, уже всё проанализировали, уже назначили ответственных — и ничего не сделали. А потом упало снова, по той же причине, и они снова собрались, снова проанализировали, снова назначили. С тем же результатом, который будет и в следующий раз. И вот тут важно не поспешить с выводом «разгильдяи, не довели». Потому что если присмотреться, этот постмортем не провалился. Он отлично сработал. Просто работа у него была не та, что написана на упаковке. Я вхожу в чужие инженерные команды со стороны — посмотреть, что там происходит на самом деле, и навести порядок. И почти в каждой натыкаюсь на одно и то же: изрядная часть процессов в компании существует не чтобы что-то делать, а чтобы что-то изображать. Это не патология конкретной конторы. Это закономерность, у неё есть механика, и её полезно научиться видеть — особенно если ты за эти процессы отвечаешь.

    habr.com/ru/articles/1051542/

    #постмортем #надежность #reliability #инциденты #управление_разработкой #инженерная_культура #ретроспектива #технический_долг #управление_командой

  15. Как я сделал игру «Найди 250 отличий» на чистом JS и выложил в Яндекс Игры: цифры, грабли и доход

    Можно ли запустить казуальную HTML5-игру на чистом JS в Яндекс Играх, не зная геймдева и верстки? Спойлер: можно, но придется пройти через 2-3 месяца модерации. Под катом — честный постмортем инди-проекта, созданного по вечерам на коленке. Рассказываю про костыли SPA-архитектуры на тегах <div>, продвижение и реальные графики трафика и доходов за первые недели.

    habr.com/ru/articles/1042262/

    #HTML5 #JavaScript #Яндекс_Игры #разработка_игр #индиразработка #постмортем #казуальные_игры #поиск_отличий #геймдев #монетизация_игр

  16. История одного // todo, который ждал своего часа пол года

    // todo: тут N+1 на invoice — надо переделать через entity graph. Этот комментарий висел в коде полтора года. Все, кто заходил в файл, его видели. Никто не завёл тикет. В пятницу вечером он сработал — и забрал с собой три пода, 30% запросов на критичной ручке и моё спокойствие на выходные.

    habr.com/ru/articles/1037972/

    #java #spring_boot #hibernate #n+1 #outofmemoryerror #постмортем #heap_dump #технический_долг #jpa

  17. [Перевод] Как наша инди игра продержалась на главной странице itch.io больше месяца: разбор эксперимента

    Перевод статьи из GameDiscoverCo: Разбор (с цифрами и графиками) эксперимента по запуску инди-игры SuperWEIRD на itch.io . Пошаговое описание того, что конкретно делали разработчики с поисковыми алгоритмами, анализом влияния тегов на охваты и итоговые цифры по скачиваниям, браузерным сессиям и конверсиям в Steam вишлисты.

    habr.com/ru/articles/1030540/

    #инди #игры #игровая_индустрия #маркетинг_игр #продвижение_игр #стим #индиигры #индиразработка #постмортем #defold

  18. Хроники Облачного княжества: как я приручал монолит‑дракона: Орден SLO и игла Кощея

    Часть 3. Самая опасная магия в IT — это магия целей. Потому что цель легко обещает, а потом требует процентами отчёта. Есть особый вид страха, который появляется у инженера, когда два календаря совпадают.

    habr.com/ru/articles/1024126/

    #инциденты #продакшн #DevOps #SRE #мониторинг #микросервисы #база_данных #отказоустойчивость #постмортем

  19. Хроники Облачного княжества: как я приручал монолит‑дракона: Ночной алерт и инквизиция безопасности

    Часть 2. Если вам кажется, что инцидент — это про баги, вы просто ещё не видели, как баги превращаются в совещания. Первый ночной алерт приходит в момент, когда организм ещё верит, что сон — это базовая потребность, а не роскошь уровня «enterprise». Пейджер‑амулет (теперь уже и на моём поясе) запел так, будто ему лично не понравилось моё решение спать. Текст был коротким:

    habr.com/ru/articles/1022760/

    #инциденты #продакшн #DevOps #SRE #мониторинг #микросервисы #база_данных #отказоустойчивость #постмортем

  20. Постмортем без наказаний: культура разбора ошибок, которая реально улучшает качество проектов

    В инфраструктурных проектах цена ошибки может измеряться миллионами и репутацией компании. Но практика показывает: поиск виноватых редко помогает избежать повторения проблем, гораздо эффективнее работает культура постмортем-разборов — честный анализ инцидентов без наказаний, который превращает ошибки в системные улучшения. В инфраструктурных проектах цена ошибки редко бывает символической. Это может быть простой систем, финансовые потери, штрафы, иногда репутационные риски для клиента и подрядчика. В такой среде логично ожидать жесткой культуры поиска виноватых. Но практика показывает обратное: чем сложнее технологическая среда, тем бесполезнее модель «найти виновного и наказать». Она не снижает количество ошибок. Иногда она даже увеличивает их. За годы работы в инфраструктурных проектах я убедился, что единственный способ реально повышать качество, это культура разбора ошибок без наказаний. В инженерной среде это часто называют постмортем. Почему поиск виноватых не работает В ИТ есть старая поговорка: «Быстро поднятое не считается упавшим». Почти каждый инженер слышал её ещё в начале карьеры. В этой фразе есть важный инженерный принцип: в момент инцидента главная задача — не выяснять, кто виноват, а максимально быстро восстановить систему. Когда что-то падает, инфраструктура, сервис или интеграция, время становится главным фактором. Клиенту не важно, кто допустил ошибку, ему важно, чтобы система снова работала. Поэтому в инженерных командах почти инстинктивно действует правило: сначала поднимаем систему, потом разбираемся.

    habr.com/ru/articles/1019708/

    #постмортем #работа_в_ит #разбор_ошибок

  21. «Я напишу вам CLAUDE.md, и всё полетит»: как я провалил первую неделю внедрения ИИ и что пришлось менять

    Честная история о том, как я взялся за проект по внедрению ИИ в разработку во время переезда на новый стек.

    habr.com/ru/articles/1002432/

    #вайбкодинг #claude_code #внедрение_ии #консалтинг #ревью_кода #факап #постмортем #личный_опыт

  22. Инцидент-менеджмент с нуля: практический гайд для растущих команд

    3 часа ночи. Звонок от незнакомого номера. ”Пользователи не могут залогиниться, п****ц”. Вы лихорадочно листаете Slack. Непонятно, где проблема и кого будить. Подняли тестеров — они тоже гадают. Бэкенд? Инфра? Идёте во флудилку в телеге, ищете похожий ник тимлида. Не отвечает. Кто замещает - никто не знает. Начинается массовый обзвон. Через 40 минут находится человек. Смотрит код. “Не моё. Это к Сане — он, кажется, редирект криво поменял в гугл клауд консоли”. Ещё 20 минут — поиск Сани, доступы только у него. Утром все разбитые. CTO вопрошает. И становится ясно: баг простой. Проблема не в коде. Проблема в бардаке. Знакомо? Я тоже через это прошел. И после такой ночи решил: хватит. Нужна система.

    habr.com/ru/articles/982172/

    #инцидентменеджмент #инцидент #sre #постмортем #devops #проектное_управление #duty #oncall

  23. Как я перестал гнаться за 100% аптаймом

    Когда я только начинал работать, 100% аптайма казались мне священным граалем. Казалось: если сервис никогда не падает — пользователи счастливы, бизнес доволен, инженеры спят спокойно. Но реальность быстро показала: каждая дополнительная «девятка» стоит всё дороже, а выгоды становятся всё менее заметными. В статье делюсь опытом: почему гонка за идеальной надёжностью — тупик, как помогает концепция Error Budget и почему лучше найти баланс между стабильностью и развитием.

    habr.com/ru/articles/941734/

    #sre #slo #sli #error_budget #devops #observability #monitoring #alerting #постмортем #oncall

  24. Как я перестал бояться алертов и полюбил дежурства

    Когда я только начинал дежурить, телефон ночью был моим главным врагом: PagerDuty вырывал из сна десятки раз, а инциденты превращались в хаос. Со временем я понял, что on-call можно превратить в предсказуемый процесс — с правильными алертами, runbook-ами и командной культурой. В этой статье расскажу, как я перестал бояться алертов и научился относиться к дежурствам спокойно. Будет личный опыт, фейлы и практические советы

    habr.com/ru/articles/941030/

    #sre #slo #sli #error_budget #devops #observability #monitoring #alerting #постмортем #oncall

  25. Как я перестал тушить пожары и начал говорить с бизнесом на языке SLO

    Когда я только начинал работать с инфраструктурой, всё выглядело как бесконечный пожар: сотни алертов, ночные звонки, хаотичные релизы и нервы на пределе. Мы гасили инциденты вручную, но проблема возвращалась снова и снова. Ситуация изменилась, когда я познакомился с практиками SRE: SLO, SLI и error budget. Они помогли превратить хаос в систему и объяснить бизнесу надёжность на понятном языке. Теперь вместо бессмысленного «сервис упал!» мы обсуждаем конкретные цифры: сколько бюджета ошибок потрачено и когда можно катить релиз. В этой статье расскажу, как мы внедрили наблюдаемость на основе golden signals, научились писать постмортемы без поиска виноватых и встроили задачи по надёжности прямо в бэклог. Всё — из реальной практики инженера, который за год прошёл путь от «тушения пожаров» к спокойной работе с прогнозируемой стабильностью. Узнать, как выйти из этого хаоса

    habr.com/ru/articles/940796/

    #sre #slo #sli #error_budget #devops #observability #monitoring #alerting #ci_cd #постмортем

  26. #dc09ru #postmortem

    Yesterday I did some changes in dc09.ru infrastructure that caused a long downtime, resolved at 18:51 UTC+3.

    Before, there were two VPS each with an IPv4 address (it's expensive) and each with nginx reverse proxy sharing the same TLS certificates from Let's Encrypt by copying certs from 1st server to the 2nd by SSH (it's potentially unsafe and was not tested at all).

    Now, nginx with TLS is only on the 1st VPS. As for web services on the 2nd, their TCP ports are forwarded to 1st by OpenSSH thanks to its amazing feature (client is started with `-L` flag from 1st VPS, connects to sshd on 2nd).

    IPv4 for the second server can be removed, this will save me 150 RUB per month (it's 3 loafs of bread; or $1.57, but doesn't make sense with the current currency rate), because SSH connection is done over IPv6.

    And what caused a downtime? It was Timeweb's buggy control panel and my incompetence in networking, more precisely in properly setting up IPv6 on Alpine. Everything was working only after I had installed dhcpcd instead of trying to configure network manually.

    #постмортем

    Вчера делал некоторые изменения в инфре dc09.ru, из-за чего долгое время сервер был недоступен, до 18:51 по МСК.

    Раньше было 2 впски, каждая с IPv4-адресом (что дорого) и каждая с реверс-прокси nginx, с одинаковыми TLS-сертификатами от Let's Encrypt, которые передавались с первого сервера на второй по ссш (что потенциально небезопасно и вообще не тестировалось).

    Теперь nginx с TLS-сертами стоит только на первом VPS. TCP-порты сервисов со второго VPS пробрасываются на первый через OpenSSH благодаря его крутой фиче (на первом запускается клиент с флагом `-L`, подключается к sshd на втором).

    IPv4 у второй впски теперь можно убрать, сэкономлю 150 рублей в месяц, ибо SSH-подключение у меня по IPv6.

    Причина даунтайма: баганая панель управления у Timeweb и моя некомпетентность в сетях, точнее в правильной настройке IPv6 на Alpine. Заработало только когда я наконец поставил dhcpcd вместо попыток настроить сеть вручную.

  27. Подборка видео с последнего SREcon24

    Всем привет меня зовут Максим, я SRE инженер в группе компаний Тинькофф. И я продолжаю делать подборки видео с SRECon, которые показались мне интересными Так вот, я просмотрел все доклады с SREcon24, составил для вас подборку из докладов, вырезав все доклады, в которых было больше болтовни или рекламы, чем пользы. Так же в этом году я добавил субъективный рейтинг для каждого видео.

    habr.com/ru/articles/818967/

    #sre #конференции #opentelemetry #менеджмент_в_it #k8s_operator #постмортем #стабильность #культура #сбои #обучение

Share on Mastodon

Enter the server where you have an account.