Runbooks, также известные как Playbooks, являются документами, которые проводят вас через определенную задачу с конкретными шагами. Например, runbook для раскрытия нового сервера может задать несколько вопросов о цели сервера и его предполагаемой нагрузки, а затем привести к соответствующим инструкциям и настройкам. Ранки облегчают когнитивную нагрузку этих общих задач, четко изложив процесс для каждого.
Автоматизация runbook устраняет труд дальше, проведя эти шаги через программное обеспечение, запускаемое определенными ситуациями (например, превышение порога в вашей политике бюджета ошибок), минимизируя объем ввода, который вам необходимо предоставить. Это требует инструментов для выполнения каждого шага, а также инструмента для организации общей runbook и определения, какие шаги необходимы.
Автоматизированные книги могут быть мощным инструментом для экономии времени и последовательности. Мы рассмотрим пять лучших практик для получения максимальной отдачи от автоматизации Runbook, некоторых инструментов на рынке, которые могут помочь вам внедрить их, и обсудить, как интегрировать автоматизацию Runbook в полное решение SRE.
- Понять и сопоставить архитектуру вашей системы : Чтобы создать runbooks, которые автоматически используют различные услуги, вам нужно понять, как функционирует каждая служба и как они подключаются. Сопоставьте эти подключения и включите информацию о том, как инструменты автоматизации могут управлять каждой услугой, чтобы заложить прочную основу для будущих Runbooks.
- Определите правильные владельцы услуг : После того, как вы нанесли на карту свою архитектуру, вам понадобится хранилище владельцев каждой услуги. Это поможет будущим авторам RunBook связаться с правильными людьми для сотрудничества, советов и подписей. Сложные автоматизированные книги будут работать во многих областях обслуживания, поэтому необходимо, чтобы владельцы и эксперты каждого пространства было обязательно.
- Установите ключевые процедуры и задачи контрольного списка : Обычные задачи часто имеют общие шаги — процедуры подзадачи, такие как аудит, контроль версий и развертывание, вероятно, будут перекрываться. Определите эти ключевые шаги и четко определите их процессы, затем составьте их в список. Будущие авторы Runbook должны использовать шаги из этого списка, когда это возможно для последовательности.
- Определите методы выпечки в автоматизации : Теперь, когда у вас есть список ключевых процедур, которые повторяются во многих задачах, у вас также есть отличная отправная точка для поиска возможностей автоматизации. Ищите вещи, которые можно считать, и способы, чтобы сценарии запустили последующие сценарии. Сделайте свои автоматизированные шаги модульными, чтобы их можно было запекать в различные книги.
- Продолжить рафинирование, обучение и улучшение : Ресурсы, такие как карта архитектуры, хранилище владельца сервиса и список общих задач, не должны быть созданы один раз и оставлены нетронутыми. Включите обновление этих ресурсов в качестве задачи контрольного списка на процедуры, которые будут их изменять, а также регулярно проверяют, чтобы убедиться, что они актуальны. Когда вы возвращаетесь к ним, воспользуйтесь возможностью, чтобы снова поучиться у них, ища новые возможности для автоматизации и оптимизации.
Одной из самых мощных функций автоматизированных книг или пьес является их способность ориентироваться в длинных условных путях для выполнения сложных задач. Рассмотрим runbook, созданный для обновления настройки для различных сред. Это может потребовать, чтобы инструмент автоматизации проверял многие переменные и развертывало различные изменения для каждой комбинации, быстро создавая дерево со многими ветвями. Определение вручную, какую ветвь встряхнут, может быть утомительным вызовом, но автоматизированный runbook с легкостью находит правильную ветвь.
Вам неизбежно нужно изменить свой runbook, поэтому вам понадобится какой -нибудь способ прорезать эту сложность. Чтобы другие разработчики могли обновлять и уточнить ваш автоматический runbook, вам понадобится некоторое представление о том, как это на самом деле работает. Это может принять форму визуальной помощи, как блок -схема, которая показывает вам шаги и пути с первого взгляда со встроенными ссылками на код, выполненный на каждом шаге.
Другой вариант — иметь простой автоматический язык, который диктует общую структуру Runbook. Ansible Предоставляет инструменты автоматизации, которые контролируются инструкциями на простом языке, который понятен без каких -либо специальных знаний по программированию. Это помогает вашим runbooks оставаться легко проанализировать и обновлять, даже если они содержат много шагов и соединений.
Чтобы получить максимальную отдачу от автоматизации runbook, разработчиков следует поощрять к реализации их, где это возможно, чтобы помочь создать ограждения вокруг конкретных процессов. Вы никогда не должны предполагать, что любая область разработки и операций не может быть автоматизирована — даже в самых нюансированных проектах вы найдете более простые подзадачи, которые могут быть автоматизированы. Точно так же подумайте о автоматизации даже кажущихся новых задач. Ваши инвестиции в автоматизацию могут принести большие дивиденды, если эти задачи в конечном итоге повторяются.
Чтобы поощрять этот менталитет автоматизации, удалите как можно больше барьеров для создания и внедрения новых автоматизированных книг. В идеале, создание новой автоматической runbook для задачи не должно занять гораздо больше времени или нуждаться в гораздо большем количестве ресурсов, чем просто выполнение задачи вручную. Rundeck Например, позволяет пользователям быстро создавать рабочие процессы, интегрируя существующие сценарии и инструменты. Он гордится тем, что является «автоматизацией для автоматизации», позволяя вам автоматизировать как можно быстрее.
Конечно, как и любой другой аспект разработки, автоматизированные блюд следует наблюдать и пересматриваться на регулярной основе. Чем больше беговых книг у вас бегают, тем более важно оставаться на вершине того, что они делают. Вы можете помочь себе, заставив свои автоматические зановые книги сами, предоставив информацию о том, когда они запускаются, о том, какие варианты они делают, и какие ресурсы они используют. Эта небольшая накладная головка — еще одна полезная инвестиция.
Есть возможности для автоматизации и сэкономить время даже в самых нюансированных аспектах развития и операций. Чтобы расширить возможности этого, ваши автоматизированные блюда должны зацепить каждый инструмент в вашем стеке. Одним из маршрутов к этому соединению является наличие инструментов, которые можно легко управлять с помощью таких вещей, как внешние сценарии, что позволяет инструменту автоматизации оркестровки для развертывания пользовательских инструкций.
Другой маршрут — выбрать оркестрирующий инструмент, который имеет особую интеграцию с остальной частью вашей среды. Microsoft Azure Automation Работает со всеми аспектами среды разработки Azure, позволяя клиентам Azure интуитивно создавать мощные инструкции для каждой части своего решения DevOps.
Одним из наиболее полезных способов использования автоматизированных Runbooks является ответ инцидента, что увеличивает скорость и согласованность разрешения. Создайте автоматические runbooks для ваших общих процессов устранения неполадок, и пусть они запускают в ответ на отключения, экстремальную нагрузку или другие SLOS Анкет
Но помните, что автоматизированные runbooks могут сделать только так много. Принципы SRE учат нас, что всегда будут инциденты, которые выходят за рамки наших ожиданий, поэтому невозможно иметь книгу для всего, что может пойти не так. Runbooks все еще будет полезны в этих случаях, однако: следов аудита, которые они генерируют из того, что не работало, обеспечивают отличную отправную точку, чтобы определить, как сортировки.
Ранее мы упоминали о важности запланированных сессий обзора для уточнения ваших книг и пьес инцидентов, и хорошее решение SRE также поддержат вас здесь. Мониторинг ресурсов SRE позволит вам измерить влияние ваших книг, выделяя области для уточнения и оптимизации. Аналогичным образом, мониторинг ресурсов развития может предложить области, которые могут выиграть от дальнейшей автоматизации.
Безупречная платформа SRE предоставляет много инструментов, которые помогут вам получить максимальную отдачу от автоматизации Runbook:
Бесполезные контрольные списки и напоминания создают ограждения, чтобы помочь вашей команде выполнить шаги в вашей книге или игре. Они также поощряют создание новых автоматизированных книг, выделяя процедурную логику, лежащие в основе сложных задач. Ключевые мероприятия Runbook автоматически отражаются в ретроспективах безумных инцидентов, также известных как посмерти, что позволяет командам сосредоточиться на создании более проницательных повествований об инцидентах безупречных надежности.
Правильное использование Automated Runbooks ускорит ваши процессы DevOps, и использование их в системе SRE поможет вам стать быстрее, безопаснее.
Оригинал: «https://dev.to/blameless/top-practices-for-runbook-automation-2ckn»