Рубрики
Uncategorized

Уменьшить инженерные проблемы с устойчивой мышлением

Устойчивость — это не то, что происходит; Это результат самоотверженности и тяжелой работы. Связаться с Вами… Tagged с SRE, DevOps.

Устойчивость — это не то, что происходит; Это результат самоотверженности и тяжелой работы. Чтобы достичь вашего оптимального состояния устойчивости, существуют некоторые важные лучшие практики SRE, которые вы должны принять для укрепления ваших процессов.

Как вы знаете, неудача не является вариантом … потому что на самом деле это неизбежно. Все пойдет не так, особенно с растущей сложностью систем и зависимостью от сторонних поставщиков услуг. Вам нужно быть готовым, чтобы быстро принимать правильные решения. Нет ничего хуже, чем быть вызванным в первые часы воскресного утра, чтобы справиться с ситуацией, когда тысячи долларов с каждую секунду уходят в канал. Ваш мозг туман, и вам, вероятно, понадобится время, чтобы приспособиться к крайнему давлению критического инцидента. В этих случаях (и на самом деле все случаи, когда связан с инцидентом), инциденты могут помочь вам пройти через процесс и максимизировать использование времени.

Согласно Крис Тейлор В Taksati Consulting, хорошие инструкции по инцидентам помогают вам покрыть все ваши базы. Как правило, они включают блок -схемы и контрольные списки для изображения как общей картины, так и мельчайших деталей, таблицы RACI (ответственная, подотчетная, консультационная, информированная) диаграмма для каждого шага и список экологических влияний, которые являются уникальными для вашей системы. Чтобы создать свою книгу об инцидентах, Крис рекомендует агрегировать следующую информацию:

*Инвентаризация соответствующих инструментов *Правильный персонал/эксперты по теме, чтобы участвовать в ответе *Зная проблему для решения, или рабочий процесс, который вы пытаетесь документировать *текущее состояние (будь то новый процесс или обновление и старый )

Разрабатывая инциденты и практикуя бег через них, вы будете более подготовлены к неизбежным.

Управление изменениями часто осуществляется случайно, если вообще. Это означает, что организации не могут управлять риском продвижения нового кода, возможно, приводят к большему количеству инцидентов. Вместо того, чтобы использовать трудный метод ITIL, SRE стремится дать командам толкать код в соответствии с их собственным графиком, в то же время управляя риском. Для этого SRE использует бюджеты SLO и ошибок.

SLOS, или Цели уровня обслуживания , являются внутренними целями для доступности и скорости обслуживания, которые устанавливаются в соответствии с потребностями клиента. Эти SLO служат ориентиром для безопасности. Каждый месяц у вас есть определенное допустимое количество простоя, определяемое вашим SLO. Вы можете использовать это время простоя, чтобы выдвигать новые функции. Если функция подвергается риску для превышения вашего бюджета ошибок, ее нельзя протолкнуть до следующего окна. Если функция не имеет риска для вашего SLO, то вы можете подтолкнуть его. Каждый месяц команды должны стремиться использовать все, но не превышать бюджеты по ошибкам. Таким образом, ваша организация может оптимизировать для инноваций, но делать это безопасно, не рискуя недопустимым уровнем воздействия на клиента.

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

Важные аспекты планирования пропускной способности включают в себя регулярное нагрузочное тестирование и точное обеспечение. Регулярное нагрузочное тестирование позволяет вам увидеть, как ваша система работает под средним напряжением ежедневных пользователей. Как Google Sre Stephen Thorne пишет: «Важно знать, что когда вы достигаете граничных условий (таких как голодание процессора или ограничения памяти), вещи могут стать катастрофическими, поэтому иногда важно знать, где находятся эти ограничения. «Если ваш сервис изо всех сил пытается загрузить баланс, или использование ЦП проходит через крышу, вы знаете, что вам необходимо добавить емкость в случае увеличения спроса. Вот где приходит подготовка.

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

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

Иоганн Страссер Акции четырех шагов, которые вы можете предпринять для разработки плана потенциала, который устранит нестабильность персонала:

  1. Установить все необходимые процессы с соответствующим персоналом — от высшего руководства до руководителей команд. Решите, как часто вам нужно будет пересматривать/пересмотреть этот процесс и убедиться, что все согласны с этим.
  2. Предоставьте полные и актуальные данные проекта и расставить приоритеты для ваших проектов. Какие проекты являются наиболее важными, а какие на данный момент можно поставить на заднюю горелку? Кроме того, сколько времени займет каждый проект? Вам понадобятся эти данные, чтобы иметь возможность двигаться вперед с точными планами.
  3. Определите возможности в вашей существующей команде, а также вашу инфраструктуру и услуги. Обнаружена ли команда и системная архивирована таким образом, чтобы минимизировать регрессии производительности, чтобы защитить эффективность и мощность?
  4. Консолидируйте требования (шаг 2) и мощности (шаг 3). Определите недостаток, а также перегрузку и попытайтесь сбалансировать их.

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

Когда что -то пойдет не так, важно учиться на нем, чтобы предотвратить ту же ошибку снова. Для этого важно создавать и анализировать ретроспективы (или отзывы после инцидента, отчеты RCA или как вам нравится их называть). Чтобы иметь ретроспективы, достойные анализа, применение лучших практик SRE будет ключевым. На самом деле, ретроспективы — отличное место, чтобы начать ваше путешествие по усыновлению.

Как Стив МакГи , Лидер SRE в Google, акции »,« Проведение безупречных ретроспективы позволит вам увидеть пробелы в вашем текущем мониторинге, а также в эксплуатационных процессах. Вооружившись лучшим мониторингом, вам будет проще и быстрее обнаружить, сортировку и разрешать инциденты. Затем более эффективное разрешение инцидентов освободит время и умственную пропускную способность для более глубокого обучения во время ретроспектив, что приведет к еще лучшему мониторинге.

Другими словами, создание ретроспективной практики в конечном итоге позволит вам определить и решать классы проблем, включая исправление глубоко укоренившегося технического долга. Со временем вы сможете практиковать SRE, непрерывно улучшая системы ».

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

Чтобы создать большие ретроспективы, есть еще четыре Лучшие практики Это гарантирует, что ваши инциденты будут использоваться в полном преимуществе:

*Используйте визуальные эффекты в ваших ретроспективах: как Стив МакГи Говорит: «Повествование о том, что случилось» с графиками, является лучшим учебником-датой для обучения другим инженерам тому, как поправляться в ходе будущих инцидентов. » Графики предоставляют инженеру быстро читаемое, но углубленное объяснение того, что происходило во время инцидентов, недель или даже лет спустя.

*Будьте историком: сроки могут быть неоценимы для анализа с помощью особенно плотного инцидента. Журналы чата могут быть загромождены, и трудно быстро найти то, что вы ищете. Таким образом, важно иметь централизованный график, который дает чистую, четкую резюме событий. Это также обеспечивает контекст, который помогает соответствующим членам команды проанализировать, что произошло.

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

*Публикуйте своевременно: оперативность имеет два основных преимущества: во -первых, это позволяет авторам ретроспективы сообщать об инциденте с ясным умом, а во -вторых, это успокаивает затронутых клиентов. Лучшие в своем классе компании, такие как Google, Uber и другие, обладают внутренними SLOS вокруг публикации своих ретроспектив в течение 48 часов.

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

Устранение труда и технического долга

Счастливые инженеры подразумевают счастливых клиентов, поскольку инженеры не будут создавать лучшие продукты Есть два основных способа, которые могут помочь осветлить День инженерии.

  1. Труд: Одним из основных направлений SRE является автоматизация. Труд — это пустая трата драгоценного времени, и благодаря SRES создает рамки, процессы, внутренние инструменты для инструментов/строительство для его устранения, инженеры могут вернуться к инновациям.
  2. Устранение технического долга: SRES создает ответственность вокруг ретроспективных элементов последующих действий, чтобы убедиться, что старые проблемы не похоронены в соответствии с новым кодом. SRES также собрал Frameworks, чтобы помочь разработчикам доставить более производительный код, что приводит к приоритетам, что наиболее важно для обслуживания клиентов. Уточнение по созданию технического долга, которое повреждает качество обслуживания клиентов, важно для руководства инициативами по рефакторингу и другими практиками для сокращения технического долга. Это устанавливает базовую линию для здоровых инженерных практик, чтобы помочь минимизировать будущее начисление технических долгов.

Кроме того, SRES инвестирует в культурные изменения, которые предотвращают начисление большего количества технических долгов в будущем, при этом все еще уступая инновациям. Джин Хсу писала о ее опыте рефакторирования кодовой базы среда и поняла, что самая важная вещь, которую она могла сделать для своей команды, — это не просто исправить код спагетти; Это было для создания культуры, которая устанавливает технические долги по мере его прохождения, удаляя старый код по мере необходимости. Джин писал: «Я понял, что если бы я всегда выполнял эту работу самостоятельно, я бы постоянно рефакторировал, а остальная часть команды забрала бы урок, который я очистил после них. Хотя мне это понравилось, я действительно хотел развивать долгосрочную культуру, где инженеры чувствовали гордость и владение этим типом работы ».

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

Как видите, SRE может положительно повлиять на повседневную производительность каждого инженера. На самом деле, SRE не о инструментах или названиях работы, и это скорее более ориентированный на человека подход к системам в целом. Имея в виду этот контекст, принятие мышления устойчивости приносит положительные преимущества для всех в организации.

Оригинал: «https://dev.to/blameless/reduce-engineering-problems-with-a-resiliency-mindset-57hj»