Close

Поддержание активности непрерывно работающих сервисов

Как организации могут развить культуру DevOps, поддерживающую непрерывно работающие сервисы

Фотография: Кришна Сай
Кришна Сай

Технический руководитель, ИТ-решения


По своей природе непрерывно работающие сервисы постоянно требуют реагирования со стороны Agile- и DevOps-команд. Этим командам нужно не только реагировать на отдельные инциденты, но и согласовать структуру, ценности и инструменты, чтобы их основной компетенцией стало высокое качество работы.

Проблемы непрерывно работающих сервисов


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

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

Рекомендации для команд по работе с непрерывно работающими сервисами


логотип организации
Связанные материалы

Начните работу бесплатно

Значок: награда
см. решение

Оптимизация управления инцидентами и реагирования на них

Готовность к эксплуатации

Одним из критически важных изменений для команд YBIYRI является включение готовности к эксплуатации в циклы планирования и выполнения спринтов. Готовность к эксплуатации может включать следующие меры.

  • Включение в код во время разработки соответствующих высококачественных предупреждений, которые минимизируют среднее время до обнаружения (MTTD) и среднее время до изолирования (MTTI).
  • Мониторы для сборок (в том числе синтетические мониторы, когда они необходимы) для обеспечения надлежащей работы зависимых сервисов.
  • Выделение времени на создание необходимых дашбоардов и обучение всех участников команды работе с ними.
  • Отсутствие у дежурных участников команды других обязательств по разработке во время спринта.
  • Планирование «боевых игр» для сервиса, чтобы откаты работали должным образом.
  • Планирование пропускной способности в спринтах для обработки действий из предыдущих разборов инцидентов.
  • Устранение проблем безопасности (обновления, исправления, откаты учетных данных) и эксплуатационных проблем в рамках циклов спринта.

Все эти меры требуют, чтобы владельцы продуктов понимали цели по уровню обслуживания (SLO) и правильно определяли их приоритет, а также осознавали бизнес-обязательства, связанные с разработкой функций и функциональных возможностей.

Поддержка ценностей, связанных с инцидентами

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

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

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

В компании Atlassian на уровне команды внедрены следующие ценности, связанные с инцидентами:

Ценность Atlassian

Этап и ценность, связанная с инцидентами

Обоснование

Изображение сердец, балансирующих на весах

Создавать с душой и гармонией

Обнаружение
Atlassian узнает о проблеме раньше клиентов

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

Изображение майки с логотипом Atlassian

Работайте в команде

Реагирование
Эскалация, эскалация, эскалация

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

Изображение ценности Atlassian

Не #@!% клиента

Восстановление
Проблемы случаются, надо их быстро устранять

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

Логотип перечеркнутого быка

Открытая компания, никакой ерунды

Обучение
Никакого поиска виновных

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

Изображение улучшения системы оповещений

Воплощайте в себе то, к чему стремитесь

Улучшение
Не допускайте повторения инцидентов

Определите первопричину, чтобы предотвратить повторение инцидента. Планируйте внесение конкретных изменений в определенные сроки.

Инструменты для непрерывно работающих предприятий


Помимо эффективных методов и культуры, компаниям, предоставляющим постоянно работающие сервисы, нужны правильные инструменты. Команды со зрелыми методами DevOps используют инструменты для облегчения гибкого планирования проектов и спринтов, а также внедрения CI/CD, автоматизации и расширенных средств мониторинга и оповещения.

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

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

Заключение


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

Если вы планируете перенять культуру YBIYRI DevOps в своей команде, выполните следующие действия.

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

Загрузите наш бесплатный справочник по управлению инцидентами и начните работу с Opsgenie бесплатно.

Krishna Sai
Krishna Sai

Кришна Сай — технический руководитель отдела ИТ-решений в компании Atlassian. За его плечами более 20 лет опыта в качестве технического руководителя в нескольких стартапах и компаниях, включая Atlassian, Groupon и Polycom. Он живет в Бангалоре (Индия) и любит создавать продукты, которые меняют подход команд к совместной работе.


Поделитесь этой статьей
Следующая тема

Рекомендуемые статьи

Добавьте эти ресурсы в закладки, чтобы изучить типы команд DevOps или получать регулярные обновления по DevOps в Atlassian.

Рисунок: DevOps

Сообщество DevOps

Рисунок: DevOps

Семинар по моделированию

Рисунок схемы

Начните работу бесплатно

Подпишитесь на информационную рассылку по DevOps

Thank you for signing up