Я до сих пор вспоминаю первый раз, когда я был втащил в живой инцидент. Это было много лет назад Но я все еще помню это, как было вчера. Это ужасное чувство вытягивания в живую конференцию, полную незнакомцев, которые, вероятно, ожидают от вас, чтобы у вас был эксперт сверхчеловеки, который вы должны быть, и не испуганным человеком, более задушенным, чем когда-либо преданным синдромом самозвана. Я имею в виду, даже ли они даже дружелюбны? Они тянут вас в этот призыв, чтобы обвинить вас и остальной вашей команды? У вас даже будет работа после сегодняшнего дня?
Я буду честен. Оглядываясь назад и размышляя на то время, я сделал все, что мог бы совершенно неправильно. Взял у меня возрасты, чтобы понять, какова была проблема. Провел ужасное количество времени, пытаясь отладить его. Провел еще больше времени, написание патча и развертываю его. И да, это работало, и это исправило проблему. Но он также оставил очень ясно, что у меня было много вещей, чтобы понять и улучшить по поводу управления инцидентами.
Давайте быть понятным. Никто. Абсолютно никто не любит называть. Кто хочет пробудить на 2 часа ухода за устранение неисправностей в прямом эфире. Никто. Однако правда в том, что современные инженерные практики просят инженеры должны быть на звонке . И поверь мне, это хорошо. В целой всей карьере не было места, где я узнал больше о наших продуктах, о наших операциях, о других командах и даже о исходном коде, я пишу как на звонках на инциденты.
Итак, когда ваш Manager объявляет о новой политике по вызове, которая собирается включить инженерную команду. Это совсем не плохо. Но, с другой стороны, очень важно установить некоторые правила. Есть окончательно вещи, которые ваш менеджер и компания должны гарантировать, что это будет хорошо, а не станет токсической мерой.
Давайте посмотрим на то, что команда должна потребовать от инженерного лидера, чтобы быть встреченным до того, как подать назовов:
Этот простой, и на самом деле не много, чтобы добавить. Время звонка — это работа, и это должно быть платный Отказ Давайте повторим это. Это должно быть оплачено. Это должно по-прежнему, если вам не нужно иметь дело с инцидентами.
Быть доступным для целей на вызове требует вас и ваших возлюбленных, чтобы быть готовыми к прерыванию в любое время. Вам понадобится подключение к Интернету и некоторое устройство, вероятно, компьютер, поблизости и, конечно, будьте готовы пожертвовать своим досугом для поддержки вашей компании. Минимальный минимум спрашивает время обработки инцидентов, но имейте в виду, что, хотя и с разными ставками, большинство компаний будут платить сотрудникам только ради того, чтобы быть готовым принять инциденты. Наконец, обычно требуется время обработки инцидентов на дополнительную плату при сравнении с регулярной рабочей работой.
Руковезой по существу является набором четких инструкций, которые помогают управлять услугой. Часть RunBook обычно является процессом, который определяет шаги, которые следует предпринять в том случае, если что-то пойдет не так с этим обслуживанием. С должным образом задокументированным Runbook лицо, не знакомое с самой услугой, все еще может иметь хорошие изменения для решения проблем, проходящие через шаги по устранению неполадок.
Такие вещи, такие как « Что делать, когда обслуживание FOO занимает 100% процессор? «,» Каковы шаги по переоспределению сервисной панели «, … Это такая информация, которую вы хотите, чтобы другие люди были находить в этих рубанках, поэтому вам не нужно на самом деле прыгать в звонок и приходиться к тем сам.
Зная, что делать, и что не делать, пока вы пытаетесь устранить неполадки, очень важен живой актуальный вопрос. И оповещение о спойлере, обычно растворы будут либо откатываться от спины или перераспределения.
В большинстве случаев сервисы спускаются из-за неожиданных изменений. Может быть, что новая версия сервиса была развернута, и она имеет ошибку. Или, возможно, развертывание произошло 10 часов назад, и утечка ресурсов замедляет разлагающиеся характеристики. Но после того, как определено изменение, наиболее очевидным решением состоит в том, чтобы отказаться от этого изменения. Иногда вы не сможете откатить Но, возможно, есть несколько переключателей или переменных конфигурации, которые вы можете отключить, прежде чем запускать повторное развертывание услуг, чтобы исправить проблему. В некоторых случаях вам нужно будет масштабировать ваш сервис, вертикально или горизонтально, либо для покупки времени или потому, что это действительно необходимо из-за здорового роста натурального использования.
Вышеуказанные решения имеют что-то общее. Они основаны на понимании изменений, а не на понимании исходного кода. Вам не нужно быть экспертом в интерналах некоторых конкретного изготовления программного обеспечения для его работы. Такая вещь, которая будет звучать совершенно естественным для парня OPS, является фундаментальной смещением парадигмы для инженера программного обеспечения, который используется для мысленной карты все, что происходит в обслуживании к строкам кода.
Обучение и обучение о том, как успешно управлять услугой простым способом — это фундаментальное задание, чтобы любой менеджер или лидер должен обратиться и помочь своей команде.
Если мы говорим, что изменение является основной причиной для неудачи, а затем прозрачный список всех изменений, которые проходит любая система, похоже на очень базовую и фундаментальную вещь.
Изменение может быть реализовано во многих отношениях. Он просто будет страницей Wiki, или это можно сделать через билеты с Джирой, или, возможно, через проблемы GitHub, или только что построен из списка уведомлений, которые сбрасываются в расслоенный канал, которые люди могут перейти к проверке того, что изменилось. Вы можете пойти как причудливые, как хотите. Что действительно самое важное, состоит в том, чтобы иметь централизованное место, где каждый может найти то, что изменилось с четкими временами, а если возможно, также авторы.
Излишне говорить, что эти записи изменений не должны быть просто бессмысленными заголовками. Какая бы ни была соответствующая информация, которую она может быть добавлена к изменению изменений, может быть решающим для других, чтобы понять изменение, и для того, чтобы быть в состоянии справиться с провалом более эффективно. Я знаю, это глупо и очевидно. Добавление как можно больше информации. Но это, вероятно, будет разница от вас проснулась ночью, чтобы помочь устранить неисправностей что-то, что никто не понимает против вашего самочувствия, имея замечательную солюбильную ночь
Наличие большой команды для обработки инцидентов великолепна. Большая команда означает, что для любого индивидуального инженера дольше займет больше времени. Например, команда восьми человек, выполняя сдвиги на вызов одной недели, подразумевает, что каждый инженер будет называть только одну неделю каждые два месяца. Это не так уж плохо. Но это также означает, что очень легко потерять контекст, когда вы произойдуте, чтобы начать сдвиг по вызову. Что произошло последние два месяца? Я имею в виду … что-то случилось на прошлой неделе?
Выполняя еженедельную встречу передачи обслуживания, где человек, выходящий из переезда, объясняет другим, как прошла неделя, и какие основные проблемы наблюдаются, дадут контекст каждому в команде об общем уровне обслуживания и главное, что он даст человек -Ком на следующую неделю некоторые ожидания.
Иногда вещи пойдут на юг. Это неизбежно. И в те моменты, где все сложно, и проблемы становятся очень трудно решить, и призывы должны быть большими, ну, которые обычно были эскалациями, а лидеры нужны.
Как правило, поворотные вращения на достаточно крупных системах. У вас будет первый уровень инженеров программного обеспечения, знакомы для ежедневных услуг и операций и операций, то у вас будет второй уровень, возможно, с техническими лидерами и менеджерами инженерных менеджеров, затем третий уровень с директорами и так далее.
Я, честно говоря, могу подчеркнуть с человеком, чувствуя, что лидеры должны быть в этих инцидентах. Я имею в виду, кто бы не разозлился, если вы позываете в 2 утра, пока ваш босс спит, верно? Особенно, если причины для инцидентов могут быть связаны с вариантами лидерства, такими как откладывание технического долга и таких вещей.
Но в то же время я также считаю, что имея единственный уровень или имеющий лидеры, как часть нормального вращения, не очень хорошая вещь. Это может быть что-то нужно, когда команда маленькая. Например, когда команда двух людей значительно выиграет от того, чтобы иметь дополнительный человек по вызову. Но когда команда больше, то она становится менее актуальной, чтобы регулярно позвонить инженерному лидеру.
На самом деле, это способ, способнее, чтобы инженерные лидеры всегда Позвоните, но только когда нужно.
Когда происходит инциденты, важно сделать некоторое ретроспективное мышление по тому, почему эта проблема произошла. Некоторые команды выбирают, чтобы написать RCA (Анализ корневой причины) документы, а затем наличие внутренней сессии для анализа инцидента.
Еще одна техника, которая стала очень популярной со временем, — это управлять 5 Whys Session Там, где несколько заинтересованных сторон, внутренние или внешние, могут встретиться, чтобы войти в процесс, когда откровенные вопросы просят пытаться найти причины для того, что произошло.
Независимо от формата, очень важно иметь в виду, что в этих сессиях виновата никогда не бывает конечной целью. Зрелые организации знают, что неудача происходит каждый день. Самая важная цель для любой ретроспективы, независимо от формы, формата или заинтересованных сторон, состоит в том, чтобы понять, почему и научиться предотвращать случаи подобных инцидентов. Вот почему важно получить Очистить элементы действий В качестве результата от любой ретроспективы и убедитесь, что эти предметы приоритетны в отношении любого из текущих регулярных задач.
Бюджет ошибок Процесс является ключом, чтобы убедиться, что инциденты снова не повторится. Чаще, чем нет, изменение происхождения инцидентов вызвано инженерным долгом. Долг может быть техническим, как, например, какой-то код, который вызывает проблемы с производительностью или некоторый алгоритм, который стал слишком неэффективным из-за увеличения использования.
Долг также может произойти из-за неадекватных процессов. Примеры процессов задолженности являются команды, позволяющие коду в том, что не соответствует стандартам качества, возможно, поскольку правила покрытия кода не соблюдаются, или статический анализ не выполняется и т. Д. Процесс долга также может понять обычные практики, используемые для безопасного освобождения программного обеспечения, но по любым причинам команда еще не приняла. Практики как запуск Канарские релизы во-первых, или использовать Функция переключается Чтобы постепенно включать функции включения или включить функции, когда что-то идет не так, или имея возможность динамически изменять конфигурацию без передислокации. Все эти практики могут помочь избежать инцидентов или намного быстрее, когда происходит инциденты.
В процессе бюджета по ошибке, когда определенная служба или команда не соответствует ожидаемым порогам качества, которые были установлены, то эта команда должна преодолеть разработку любой функциональности, которая не связана с инцидентом. Неважно, насколько важно, чтобы функциональность была или насколько большой клиент просит его. Команда должна остановить все, что делает и начать работать над решением технических вопросов. Это может занять всего пару дней, но также может занять много недель. Имея процесс, который позволяет команде сосредоточиться на техническом долге, является здоровой. Хотя осторожность, оно не должно двигаться только по инцидентам.
Добраться до конца здесь Но это, наверное, роскошь спросила и, безусловно, что-то, что не каждая команда может себе позволить. Но когда вы можете, это отлично работает. Когда вы превысили все пункты, указанные выше очков, становится легче иметь инженерные команды в других часовых поясах для покрытия нескольких услуг. Когда вы сделали домашнюю работу, устанавливающие четкие правила и процессы для обработки сбоя и для борьбы с инцидентами, и когда все обучаются и знают, что делать, то поддерживать службы, которые вы не знаете, это не страшная вещь больше.
А когда это произойдет, вам не нужна основная команда обслуживания, чтобы быть единственными, поддерживающими определенную часть программного обеспечения. Теперь возможно, при условии, что у вас есть размер и бюджет, иметь другие команды в других разных часовых поясах, которые занимаются по-прежнему таким образом, что инженеры могут иметь их ночную смену, и им нужно только сделать на работу в работе часы.
Опять же, это распространено в крупных корпорациях, но действительно роскошь спросит.
Находясь на звонок может быть страшной вещью Но это не должно быть, если у вас есть поддержка вашей компании и хорошего лидера. Отражая обратно, я могу видеть только время моего вызова в качестве опыта на уровне. Для инженера программного обеспечения невероятно количество опыта знаний и его можно получить, избегая наших пузырей кода личного исходного кода и прыгать в попытку решить боли наших клиентов.
По крайней мере, это был мой опыт. Надеюсь, вы нашли это эссе полезно. Удачи с вашим позором!
Фото Obi onyeador на Бессмысленно
Оригинал: «https://dev.to/mpermar/so-your-manager-has-asked-you-to-be-on-call-now-what-528f»