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

Попробуйте Compass бесплатно
Повышайте удовлетворенность разработчиков, каталогизируйте все сервисы и улучшайте работоспособность программного обеспечения.
По своей природе непрерывно работающие сервисы постоянно требуют реагирования со стороны Agile- и DevOps-команд. Этим командам нужно не только реагировать на отдельные инциденты, но и согласовать структуру, ценности и инструменты, чтобы их основной компетенцией стало высокое качество работы.
Проблемы непрерывно работающих сервисов
О принципе YBIYRI впервые заговорили 14 лет назад, однако он и сегодня ставит перед командами разработчиков задачу по ускорению разрешения проблем и масштабированию рекомендаций по эксплуатации. При этом многие команды по-прежнему формируют навыки, расписания и процессы вокруг реакции на инцидент, не закладывая основу для долговременного успеха.
Команды часто перенимают культуру YBIYRI без надлежащей подготовки, и первый серьезный инцидент часто заканчивается звонком посреди ночи. Однако реакция часто бывает вызвана стремлением избежать повторения инцидентов. Для достижения этой цели вводятся защитные барьеры, контрольные точки и другие процедурные издержки. Кроме того, доски анализа изменений и еженедельные обзоры релизов становятся частью ритуалов команды. Каждое изменение тщательно изучается, чтобы предотвратить перебои в работе. Несмотря на то что такой подход часто приводит к сокращению количества инцидентов, он также может замедлить разработку и развитие продукта. А это может ослабить конкурентоспособность, поскольку более ловкие конкуренты окажутся намного быстрее.
Рекомендации для команд по работе с непрерывно работающими сервисами
Готовность к эксплуатации
Одним из критически важных изменений для команд YBIYRI является включение готовности к эксплуатации в циклы планирования и выполнения спринтов. Готовность к эксплуатации может включать следующие меры.
Включение в код во время разработки соответствующих высококачественных предупреждений, которые минимизируют среднее время до обнаружения (MTTD) и среднее время до изолирования (MTTI).
Мониторы для сборок (в том числе синтетические мониторы, когда они необходимы) для обеспечения надлежащей работы зависимых сервисов.
Выделение времени на создание необходимых дашбоардов и обучение всех участников команды работе с ними.
Отсутствие у дежурных участников команды других обязательств по разработке во время спринта.
Планирование «боевых игр» для сервиса, чтобы откаты работали должным образом.
Планирование пропускной способности в спринтах для обработки действий из предыдущих разборов инцидентов.
Устранение проблем безопасности (обновления, исправления, откаты учетных данных) и эксплуатационных проблем в рамках циклов спринта.
Все эти меры требуют, чтобы владельцы продуктов понимали цели по уровню обслуживания (SLO) и правильно определяли их приоритет, а также осознавали бизнес-обязательства, связанные с разработкой функций и функциональных возможностей.
Поддержка ценностей, связанных с инцидентами
Поддержка ценностей, связанных с инцидентами, на уровне команды может создать прочную основу для внедрения принципа YBIYRI. Эти ценности определяют реакцию команды на инциденты. Они обеспечивают фундамент для развития устойчивой культуры с акцентом на создании и эксплуатации непрерывно работающих сервисов. Ценности, связанные с инцидентами, нужны, чтобы:
руководить автономным принятием решений людьми и командами в ходе устранения инцидентов и при их разборе;
создать единую командную культуру, включающую выявление инцидентов, управление ими и извлечение соответствующих ценных выводов;
согласовать подход команд к каждому этапу определения, устранения и анализа инцидента.
Сборник сценариев по ценностям, связанным с инцидентами, — это отличное руководство, которое поможет определить ценности команды при реагировании на инциденты и составить план действий в соответствии с этими ценностями. Сборник может помочь, если в результате оценки работоспособности у вас обнаружились проблемы с ориентированностью на клиента, сплоченностью команды, общим пониманием, уровнями обслуживания или сервисным мандатом.
В компании Atlassian на уровне команды внедрены следующие ценности, связанные с инцидентами:
Ценность Atlassian | Этап и ценность, связанная с инцидентами | Обоснование |
|---|---|---|
Создавать с душой и гармонией | Выявление Atlassian узнает о проблеме раньше клиентов | Продуманный сервис включает в себя возможности эффективного мониторинга и отправки оповещений для обнаружения инцидентов раньше клиентов. Идеальный мониторинг предупреждает о проблемах до того, как они станут инцидентами. |
Работайте в команде | Реагируйте Эскалация, эскалация, эскалация | Мы не расстроимся, если нас разбудят для устранения инцидента, а потом скажут, что помощь не требуется. Но если нас не будят, когда инцидент входит в сферу нашей ответственности, — это совсем другое дело. Мы не всегда можем знать ответы на все вопросы, поэтому не стесняйтесь подключать дополнительных специалистов. |
Не #@!% клиента | Восстановление Проблемы случаются, надо их быстро устранять | Клиентов не волнует, почему нужный сервис не работает. Им важно, чтобы мы его починили как можно быстрей. Не сомневайтесь, если можете решить инцидент быстро: в этом случае последствия для клиентов будут минимальными. |
Открытая компания, никакой ерунды | Обучение Никакого поиска виновных | Инциденты могут коснуться любого непрерывно работающего сервиса. Мы не ищем виновных, когда нужно улучшить сервис. Для этого мы распределяем ответственность между командами. |
Воплощайте в себе то, к чему стремитесь | Совершенствуйте Никогда не допускайте повторения инцидентов | Определите первопричину, чтобы предотвратить повторение инцидента. Планируйте внесение конкретных изменений в определенные сроки. |
Инструменты для непрерывно работающих предприятий
Помимо эффективных методов и культуры, компаниям, предоставляющим постоянно работающие сервисы, нужны правильные инструменты. Команды со зрелыми методами DevOps используют инструменты для облегчения гибкого планирования проектов и спринтов, а также внедрения CI/CD, автоматизации и расширенных средств мониторинга и оповещения.
Современный инструмент управления инцидентами, такой как Opsgenie, гарантирует получение важных оповещений по нужным каналам связи с минимальными задержками. В нем также предусмотрена возможность группировки для фильтрации большого количества оповещений, что особенно полезно, когда несколько предупреждений генерируются в результате одной ошибки или сбоя. Инструмент управления оповещениями должен легко интегрироваться с инструментами команды (например, решениями для ведения журналов или отчетности о сбоях) и естественным образом вписываться в ее процесс разработки и эксплуатации.
Каждая команда уникальна с точки зрения рабочих процессов, политик и заинтересованных лиц. Инструмент управления оповещениями должен иметь возможность настройки расписаний дежурств и правил маршрутизации для обработки оповещений с учетом источника и полезной нагрузки. Часто оповещения могут привести к эскалации инцидента. Возможности инструмента по управлению инцидентами должны предусматривать автоматическое создание менеджера инцидентов, чтобы сотрудникам не приходилось переключать внимание. Это позволяет добиться эффекта комнаты совещаний, когда в ходе управления инцидентом нужная информация находится под рукой и поддерживается интеграция средств для коммуникации и совместной работы. Наконец, инструмент должен предоставлять расширенные возможности для ведения отчетности и аналитики, позволяющие взглянуть на успешные области и выявить проблемные места. Необходимо, чтобы с его помощью можно было просмотреть источники оповещений, эффективность команды при реагировании и распределение рабочих нагрузок во время дежурств.
Заключение
Для современного потребителя постоянно работающие сервисы становятся настоящей необходимостью. Чтобы развить гибкость, необходимую для удовлетворения требований, многие компании внедряют культуру YBIYRI. Проблема заключается в том, что у многих компаний нет соответствующих инструментов и необходимых командных структур либо методов для поддержания такой скорости.
Если вы планируете перенять культуру YBIYRI DevOps в своей команде, выполните следующие действия.
Подготовьте команду к ответственности на всех этапах разработки и эксплуатации приложения или сервиса.
Согласуйте действия с владельцами продуктов, чтобы соглашения SLO имели приоритет при планировании спринтов.
Внедрите набор ценностей, которые связаны с инцидентами и определяют поведение команды при реагировании на инцидент.
Расширьте возможности команды с помощью современного инструмента для управления оповещениями и инцидентами, такого как Opsgenie, который отличается надежностью, быстротой и гибкостью.
Загрузите наш бесплатный справочник по управлению инцидентами и начните работу с Opsgenie бесплатно.