К: Алисия Л.И. и Лукас Бартоли
Первоначально опубликовано на Ошибка неизбежна Отказ
Даже если вы не заметите, вы выполняете Runbooks каждый день все время. Когда у вас есть инцидент в ваших повседневных операциях, вы следуете серии заказанных и подключенных шагов для ее решения. Например, если вы потеряете свое подключение к Интернету, вы будете следить за серией шагов по разрешению этой проблемы:
- Проверьте, если вы все еще подключены к сети WiFi.
- Проверьте на статус маршрутизатора.
- Попробуйте перезапустить маршрутизатор.
- Проверьте, вернутся ли соединение.
- В случае подключения не обратно, позвоните в интернет-провайдере.
Это может быть разным в зависимости от вашего метода, но у вас есть идея. Даже если вы не записываете его, потому что это не сложный процесс, вы все еще выполняете Runbook для достижения цели или разрешить инцидент. Однако в рамках более сложной социально-технической среды становится решающим документировать ваши Runbooks и кодифицировать свои знания.
SRE и Engineering Teams нуждается в инструменте для записи и хранения своих рубашек, потому что инциденты могут быть более сложными, чем один в приведенном выше примере. Инциденты могут включать сотрудничество между различными командами, выполнением кода, повторное использование метаданных на разные шаги (токены, имена, пароль и т. Д.), Условные действия на основе результата шагового исполнения и многое другое. Или командам могут просто записать личный опыт из краевого случая, с которыми они столкнулись во время разрешения инцидента, который может помочь другим, если это произойдет снова в будущем.
Большинство Runbooks сосредоточены на инциденте смягчения последствий. Однако иногда реакция зависит от того, чтобы сначала узнать причину инцидента. Легко упускать из виду роль Runbook может потенциально играть в определении вносящего фактора инцидента. Вместо единого крупного бегата, который пытается иметь дело с несколькими ситуациями, мы рекомендуем разбить его в несколько руин, ориентированных на выполнение одной вещи.
Например, представьте, что ваш интернет не работает. Там могут быть несколько причин, почему вы не можете подключиться. Ваш компьютер могло бы понести аппаратный сбой, модем может потерпеть неудачу, вы можете подключиться к неправильной сети или просто в месте, где сила сигнала недостаточно сильна. Некоторые из этих вопросов могут потребовать своих собственных рудников. Вы можете иметь всеобъемлющую Runbook, чтобы определить причину, которая ссылается на один или несколько рудных книг, которые могут помочь исправить индивидуальную проблему.
Хорошо написанные рутины должны быть четко разбиты на разные шаги. Для каждого шага, в дополнение к четко указывающим, что необходимо сделать, также полезно включать в себя некоторые контекст, чтобы объяснить, почему этот шаг принимается. Это помогает новым инженерам на борту быстро и ограничения Племенные знания Отказ
Руководительные книги только полезны, если каждый может их найти. Если ваши ругины разбросаны через слияние, документы Google или даже хранятся на месте на ноутбуке, им может быть трудно найти, когда вам понадобится большинство. Мы имели дело с аналогичной проблемой здесь в безупречном. Итак, наша команда начала документацию по Runboodbook Dogfooding для наших собственных русских книг. Вот что мы нашли самым полезным.
Миграция наших Runbooks на безупречный была очень легкая задача. У нас были все наши Runbook в слиянии, разбиты по шагам. Runbook Документы в настоящее время поддерживают 4 типа шагов (и планируем добавить еще больше). Это шаги, которые мы наиболее часто используем в наших собственных руганках, и они включают в себя:
- Текстовые блоки: Журнал и распечатайте любое сообщение на экран.
- Богатые текстовые блоки: Похоже на текстовый блок с богатыми текстовыми возможностями.
- Кодовые фрагменты: Отображение редактора кода, который позволяет вам выбрать между более чем 50 языками с выделением синтаксиса.
- Пользовательские формы: Создайте свою собственную форму с JSON SCHEMA. Вот пример безнастройки, мигрировал из слияния, чтобы безупречный:
Когда мы пытаемся найти определенную Runbook внутри Blumbess позже, у нас также есть функция сортировки, которая делает поиск точного Runnowness, который нам нужен быстрее. Мы предоставляем функциональность поиска и сортировки в странице списка Runbooks, которая позволяет нам фильтровать их очень быстро по имени, описанию, объему шагов и последних дат выполнения.
Документация RunBook позволяет пользователям документировать оптимальный способ ответить на события. Это помогает командам в соответствии с процессами реагирования на инциденты. Пользователи руководствуются через серию предопределенных шагов для достижения конкретного результата с помощью ручных задач. В Brebelness вы также можете создавать независимые шаги, которые позволяют создавать пользовательские потоки, и получить метаданные с каждого шага для использования на другом шаге. Кроме того, мы построили Runbook Documentation с использованием подписок GraphQL. Это означает, что вы можете взаимодействовать с Runbook в режиме реального времени. Например, если кто-то еще выполнил Runbook, вы можете увидеть новый экземпляр RunBook и предпринимать действия, если это необходимо. Еще одна крутая функция документации по Runbook заключается в том, что вы можете написать фрагменты кода, используя редактор Monaco (редактор кода, который включает VSCode). Это означает, что у вас нет ограничений при записи фрагмента кода, так как он поддерживает более 50 языков с выделением синтаксиса. Еще одна особенность, которую мы любим о документации по Runbook, — это возможность прикрепить индивидуальные рутины к инциденту. Эта интеграция позволяет всем заинтересованным сторонам точно видеть, какие шаги предпринимаются для смягчения этого инцидента. Кроме того, вы можете отслеживать использование Runbook. Это помогает командам понять, какие ручеты наиболее часто встречаются, которые наиболее полезны, и что может понадобиться немного уборки.
Кроме того, то, что было проведено во время инцидента сохраняется как есть, Даже если ручеты меняются в будущем Отказ Это намного лучше, чем рекламный комментарий, связанный с документом или слиянием, который, возможно, уже отредактировал, поскольку он дает более четкое представление о том, с чего работали респонденты. Кроме того, мы можем увидеть историю журнала аудита индивидуальных ронгодов, которые были вызваны на странице истории Runbook.
Руковены — это больше, чем руководство по разрешению инцидентов. Они способ сотрудничать с вашей командой и найти Лучший способ ответить. Эти документы хорошо любимы и хорошо носили. С помощью документации Runbooks мы можем держать их в курсе, мониторинг использования и создать подход на основе команд к созданию и пересмотру.
Если вы хотите узнать больше о Runbooks, вот несколько дополнительных ресурсов:
- 5 ОБЪЕДИНЕНИЕ ПРИМЕНЕНИЯ ПОМОЩЬ, чтобы помочь вам спать всю ночь
- Лучшие практики для автоматизации Runbook
- Представляем безупречную документацию по бендуке
Оригинал: «https://dev.to/blameless/how-we-built-and-use-runbook-documentation-at-blameless-47ea»