Рубрики
Uncategorized

Безупречное путешествие

Первоначально опубликовано по неудаче, неизбежно. SRE-это практика, принятая лучшими в своем классе компаниями … Tagged с SRE, Startup, DevOps.

Первоначально опубликовано на Неудача неизбежна Анкет

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

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

В этом посте мы поделимся нашим путешествием SRE и тем, как мы действовали лучшие практики, которые нам дороги.

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

Что -то нужно было изменить, поэтому генеральный директор Ашар Ризки остановил все текущие разработки функций. По словам Ашара: «Вы не можете улучшить то, что не можете измерить. Нам нужно было объективно доказать, что мы являемся надежной платформой, потому что это основное для установления доверия к нашим клиентам. Уязвимость — самая важная вещь. Второй — прозрачность «.

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

Безумно, как клиент Zero, означало, что все новые функции были проверены нами в течение двух недель, прежде чем мы начали выпускать их клиентам. Любой инцидент, возникший в рамках безупречного экземпляра, рассматривался как инцидент с клиентом, а также обрабатывался с безупречным ⁠ — от возможностей управления инцидентами до посмертной. Мы также применили те же стандарты и принятие решений для безупречных, как и для других наших клиентов. Ключевые изменения из -за этого нового способа мышления включены:

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

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

В дополнение к установлению KPI и становлению нашим собственным ноль -клиентом, мы знали, что нам нужна лучшая система для QA, чтобы обеспечить нашему клиенту надежность, которую они ожидают. Мы создали официальную программу обеспечения качества внутренне. Мы построили команду QA, чья работа заключалась в том, чтобы убедиться, что мы попали в определенную качественную планку для нашего продукта. И, конечно же, мы создали другую команду, чья работа была для автоматизации процессов, связанных с трудом.

В прошлом разработчики писали кусок кода, но код был протестирован ручным тестером QA. Кто-то напишет код, объединяет его в филиал Dev и в главном филиале и ждал неделю, пока кто-то из ручного QA проведет сквозное тест. Затем, если QA найдет проблему, команда откроет билет, добавив задержку.

Ашар и команда решили уйти от этого процесса. Ашар заявил: «Если вы создаете эту функцию, и вы пишете код, то вы тот, кто будет нести ответственность за качество этого кода».

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

Другой вехой в нашем путешествии по надежности — переосмысление нашего управления инцидентами и посмертных процессов и установление новых KPI. Вместо того, чтобы сосредоточиться на времени разрешения, мы начали смотреть время на действие. Тем не менее, безупречный еще не был оснащен этой возможностью. Как клиент Zero, мы серьезно относились к своим собственным запросам, и это привело к кнопке «регистрация». Эта кнопка побуждает участников инцидента проверить военную комнату. Время между началом инцидента и регистрацией стало нашим измерением времени на действие.

Что эта функция позволяет нам сделать, так это начать смотреть на то, сколько времени нам требуется, чтобы реагировать на инцидент, и где пробелы происходят, если время отклика слишком длинное. Наши KPI для этого диапазона времени:

<5 минут для сев. 0 <30 минут для севе

Помимо управления инцидентами, мы также устанавливаем KPI для нашего нового посмертного процесса. При безупречном, для каждого производственного инцидента мы требуем 100% -ного коэффициента завершения для посмертного опроса и 100% -ного коэффициента завершения для полученных элементов действия. Заполнение опроса, в частности, имеет строгую SLA вокруг него. Вместо того, чтобы тратить больше времени на создание посмертных средств (особенно для незначительных инцидентов), мы создали нашу функцию опроса в безупречной, которая очень настраиваемо и оттачивает ключевые вопросы. Мы вкладываем наши ответы на опрос в наш продукт Analytics Big Data, который быстро поднимает ключевые идеи для информирования инженерных решений. Это также помогает упростить процесс начала строительства повествования. Как утверждает Ашар, «рецензия всегда может произойти позже, но мы хотим, чтобы на этом опросе было 100% завершение, в то время как память все еще свежая».

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

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

Эта история не была бы полной без упоминания нашего безупречного SRES. В предыдущие дни безупречный не имел специальной команды SRE. Но когда компания сместила свое внимание к предоставлению каменной службы, мы сформировали специальную команду SRE F (позже, включая некоторые ключевые дополнительные kines , как amy tobey ). Когда мы создаем эту практику, было проведено важное различие между нашими командами развития и SRE.

Команда SRE не будет нести ответственность за производственные услуги; Вместо этого он был ответственным только за фреймворки SRE. Наши SRE не определяют, каким будет SLO команды Dev, но они несут ответственность за руководство разработчиками в процессе настройки SLO и обеспечения завершения посмерти.

Ашар поставил лучше всего, когда сказал: «SRES не обязательно решит для вас инциденты, но они станут катализатором, чтобы убедиться, что лучшие практики SRE будут подчиняться на протяжении всего процесса».

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

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

  1. Убедитесь, что мы здоровы отслеживать все наши ключевые KPI вокруг надежности.
  2. Управление нашей практикой надежности и убедиться, что наши люди дисциплинированы в соответствии с этой практикой.

Эти большие изменения были успешными, что дало нам значительное влияние на бизнес.

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

Один из наших инженеров, Диллен, был настолько взволнован этим массивным и быстрым пересмотром, что написал свою собственную историю о Безупречное путешествие Анкет Согласно Dyllen, «используя безупречный, мы определили наши критические проблемы с клиентами, создали билеты для отслеживания прогресса в процессе нашего схватки, организовали область для сотрудничества между моим бэкэнд -инженером, нашими владельцами продукта и мной. Мы, наконец, решили проблему с индексабельной информацией о том, как мы, как команда, улучшат наши процессы, чтобы гарантировать, что наш продукт будет укреплен в результате нашего роста ».

Эти изменения также дали наше лидерство и больше уверенности. По словам Ашара, «на уровне результатов бизнеса мы сейчас имеем уверенность в способности двигаться быстрее. У нас этот лазерный резкий фокус. Мы знаем, что нам нужно, чтобы построить и сосредоточиться. Мы знаем, сколько мы можем подтолкнуть и каковы будут результаты этого толчка ».

Таким образом, внедрение практики SRE в безупречной трансформировало наш бизнес следующим образом:

  • Более счастливые, более продуктивные инженеры
  • Больше уверенности в обработке по вызову
  • Лучший опыт работы с клиентами
  • Повышенная надежность платформы
  • Сосредоточение и согласование на приоритетную инженерную работу
  • Больше уверенности со стороны наших инвесторов и совета директоров

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

Руководство по вопросам основы SRE Google: как организованы команды SRE и как начать

Оригинал: «https://dev.to/blameless/blameless-sre-journey-4iao»