Рубрики
Uncategorized

Принесение эксплуатационного превосходства в Dev с Лорен Github Rubin

Первоначально опубликовано в неудаче неизбежно. На безумственном саммите в 2019 году Лорен Рубин говорил … Теги с Sre, DevOps, TechTalks.

Первоначально опубликовано на Ошибка неизбежна Отказ На безумственном саммите в 2019 году Лорен Рубин рассказал о том, как принести оперативный опыт для команд развития.

Следующая стенограмма была легко редактирована для ясности.

Лорен Рубен: Я собирался попросить шоу о том, сколько людей здесь, которые находятся прямо сейчас. Я на самом деле на звонок прямо в эту минуту. Мне нравится жить опасно. Если мой телефон звуковой сигнал, специфический шум, который означает, что я был выпущен, извините, я собираюсь посмотреть на него. Я назвал этот разговор «Положив опс в разработку» или «Как перестать беспокоиться и любить пейджер». И многое о том, о чем я думал, когда писал этот разговор, пытался начать понравившиеся усилия, чтобы поощрять разработчиков хотеть изучить эти оперативные вещи, потому что в моей карьере я работал на этом крошечном скрапорном стартапе, где есть 10 Люди и вы, что один OPS человек. Они постоянно нравятся: «Эй, у нас проблема с чем-то, что имеет привело в нем, вы можете прийти помощь, пожалуйста?» Другие места наклонились вплоть до того, что теперь мы называем глобальными масштабами или крупным компаниям планеты, которые имеют огромные, огромные движущиеся системы с тысячами сотрудников, касающихся тысяч и тысяч движущихся частей. Остальные из нас, которые больше ориентированы на эксплуатацию, могут взять по этому поводу нашим собственным организациям и в наших собственных проектах с открытым исходным кодом, над которым мы могли бы работать, и мы можем ездить, и мы можем ездить, почему это действительно полезно для разработчиков для изучения операционных концепций. На самом деле, он собирается уменьшить общий объем боли для всех людей в вашей компании, если разработчики понимают и думают о определенных операционных практиках.

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

Итак, то, что я научился, коллективно, это то, что я на самом деле заметил, что не могу найти, когда я начал принимать компьютерные науки.

У меня на самом деле есть нетрадиционная карьера. Я решил в старшей школе, что я мог бы заработать много денег в первой точке Com Boom. Я встречаюсь с собой, но вы уже знаете, как долго я делал это. И две недели из средней школы, я ушел, и у меня была помощница по работе. Я начал принимать классы колледжа на стороне. Это то, что ваши родители говорят вам, или вы собираетесь в конечном итоге жить в коробке. Я пошел в местную общность колледжа, который на самом деле имеет довольно интересный компьютерный персонал из-за их географического положения. Многие учителя написали язык программирования или работали на HP и разработали эти действительно низкий уровень, действительно интересные вещи, на которых мы все зависят. И это была действительно хорошая учебная программа. То, что я заметил, что, когда я пойду на занятия, ни один из того, о чем они говорили, было особенно актуальным для того, что я делал каждый день. Я бы сидел там и думаю: «О, хорошо, возможно, этот класс Unix будет тем, кто учит меня больше о том, чтобы быть администратором Unix в бизнесе. » Нет.

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

Я также узнал, что это недооцененный навык, и я думаю, что это часть того, почему она не преподавала академически очень часто. Но несчастные случаи, события, инциденты, все, что вы хотите называть их, имеют 100% вероятность происхождения. Положим мою зарплату за всю годом, что в вашей окружающей среде есть 100% вероятность инцидента. Мы можем попасть в некоторые оттенки серого из того, что происходит инцидент. Это целая рыбака академического исследования, верно? Но я собираюсь сказать, что все пойдут не так гарантированно. Когда вы отвечаете на эту вещь, которая неверна, вы когда-нибудь собираетесь сидеть назад и пойти: «Вы знаете, что, все, что мы в ответ на эту неожиданную ситуацию, это было все потрясающе. Никто не совершил никаких ошибок, все инструменты работали. Сила не выходила. Никто не болен, все было просто магию. «Это не может произойти.

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

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

Нам нужно планировать человеческие части этого сказать: «Эй, люди вовлечены в это. Мы поддерживаем тебя. Мы провели время понимания, где люди боролись во время инцидентов. «Мы все, вероятно, даже в течение последней недели были некоторые разговоры с нашим руководством в компании, может быть, даже кто-то с C перед их титулом. И мы говорим: «Эй, нам нужна это».

Все, что это требует ресурсов, меняет ваш … или что-то делает с вашим …, верно? Руководители похожи: «Нету, это не звучит увлекательно».

Люди в подвале, которые смотрят что-то поймать в огне, говорят: «Эй, эй, эй, это в огне». Но пока мы делаем это, вы думаете, что самое рациональное руководство будет выглядеть и сказать: «WHOA, это плохо. Это было в огне 10 раз на этой неделе, нам это не нравится. Мы не хотим, чтобы это было в огне. «Проблема в том, что пока вы прыгаете вверх и вниз, — это в огне. Смотри, есть курить, что происходит? », Маркетинговый отдел имеет сцену с группой и толпой, которую они заплатили, чтобы появиться, и эта маркетинговая организация выходит на сцену выглядеть великолепно.

Производственная стоимость этого настолько хороша, и они говорят: «У нас есть жизнь, изменяя вещь, что если вы дадите нам все деньги от бюджета в следующем году, это будет удивительно, невероятно».

И, очевидно, маркетинг собирается выиграть это обсуждение. Но надежда не потеряна, потому что мы можем изменить отношение людей в компании. И однажды разработчика люди, которые жили через операции, делают его в управлении, они скажут: «О, вы говорите мне, что оперативно это не так много. Теперь я слушаю. «Я провел большую часть этих 20 лет как очень традиционная роль, связанная с потерей операций:« О, эти разработчики, они продолжают бросать этот код через стену. Единственное, что мы можем сделать, чтобы получить наш бонус и держать сайт, — это остановить их, потому что каждый раз, когда они это делают, он собирается сломать. » Правила этого не помогают. На самом деле, они делают его хуже, потому что ваша идея для грандиозной системы процессов и инструмента, которая мешает людям издаться ошибкам, не собирается предотвратить их ошибки, но она будет помешать им быть гибким и креативным. И им не понравится.

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

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

Каждая компания, которая начинает отслеживать, что идет не так, просто будет иметь длинный список вещей, которые никогда не будут действием. Это природа этого, верно? Как вы подбираете, какие из этих вещей на самом деле достаточно важно для вас, чтобы ответить прямо сейчас в 3:00? Как я уже упоминал, вы можете изучить все виды архитектурных принципов в школе, и, очевидно, учится важно. Мы просто говорим о обучении. Это всего лишь система поправки и фактически изучения наших реальных действий вместо того, чтобы ждать кого-то, чтобы написать нам учебник.

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

Это привычка, которую мы все развиваем, будучи постоянно в ситуациях, когда кто-то ожидает, что нас знают, что-то не так. У вас все время есть жуткое чувство DOOM: «О, мужчина, я знаю, что это приходит». И обслуживание гарантировано гражданство. Вы забираете этот пейджер, а вы входите в нас, вы один из нас. Многие из того, что я хотел поставить в эту слайдную колоду, снова, общие концепции, которые являются базовым уровнем, потому что никакое решение не является правильным для каждой компании, даже если они тот же размер. И я нахожу его немного расстраивающим эту линию мышления, как нам нужны правила, нам нужны программы, вот программа, которая исправит это. Руководство любит это.

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

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

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

Когда вы посмотрите на отключение, не говорите: «О нет, человек допустил ошибку. Как мы можем вырезать человека из этой петли? »Это не хороший первый шаг, верно? Таким образом, отвечая на эти оперативные сюрпризы, как мне нравится называть их, это навык, который мы все практиковались. Навык заключается в том, что вы ищете проблемы и выясняете, как их решить, а затем найти их быстрее и решать их быстрее.

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

Ответ у них есть своя структура. Они как-то выяснили, как быстро изучать эти вещи и заботиться о них. Итак, первое, что я хотел бы продвигать как часть моих понских усилий, здесь — культура.

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

Если кто-то прочитал книгу, проект Phoenix. Я прочитал это, и я был как: «Это составлено, но это буквально так верно. Это произошло так много раз, это странно. «Я встаю сюда, и я как, — позвольте мне рассказать вам о том времени, когда разработчик сделал изменение, которое не было отслежено никаким способом в очень важной системе, а затем оставить свой стол. Через три часа после того, как весь сайт был вниз, и CNN об этом говорит, кто-то выясняет, что этот человек что-то изменил, и, наконец, выясняет, как получить ухудшение этого человека ».

Как только эта вещь сделана, она закреплена как две минуты. И когда я говорю этой истории в этой комнате, все просто скажут: «Да, это случилось со мной в прошлый четверг. «Но когда я говорю с людьми, которые являются только DEV, а не люди, особенно в моей роли, когда я делал постметики, я бы сказал:« Эй, как дела? Позвольте мне объяснить, что я делаю. Я анализирую то, что пошло не так в инциденте и то, что мы можем извлечь у него и как мы можем сделать лучше ». И тогда я всегда получил эту историю от них. Они были бы похожи: «О, позвольте мне снять это с моей груди. Ты человек, которого я могу рассказать об этом. Это один раз, когда я случайно подтолкнул изменение, вызвало шипу ошибки 50% ».

И, конечно, я просто как: «О, ну, я никогда не слышал об этом событии, который не оценивает мою шкалу заботы. Это слишком низкий уровень ». Но каждый раз, когда они очень обходятся, и они похожи: «Ух ты, я чувствую себя ужасно, что имел этот эффект. «И я бы всегда спрашиваю:« Ну, ты рассказал своим друзьям, что вы что-то брали или сломали? » «Нет нет. «Мне интересно, что операционные люди рады отвлечь друг друга и поделиться этой информацией. Таким образом, культура DevOps — это то, что я хочу продвигать среди таких разработчиков, как: «Эй, когда вы допустили ошибку, вы должны рассказать всем. Я хочу услышать о своих ошибках перед своими успехами ».

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

Что такое доверие развертывания? В зависимости от размера вашей организации и размера вашего проекта, это много изменяется. Может быть, у вас есть гигантская панель инструментов или 20 панелей. Возможно, у вас есть сумасшедшая классная система CIS, которая, когда кто-то развертывает, она ставит его в канареесть или некоторые другие, как ограниченное тестирование. И это автоматически смотрит на то, что происходит и говорит Go-No-Go. Это конец сцена, все хотят такого рода вещи, верно? Вам это не нужно.

Что вам нужно знать, это «Что случилось, когда я толкнул это, что изменилось? Это изменило так, как я ожидал? Осмысленное оповещение. Это то, где у меня недавно у меня был действительно интересный набор разговоров с разработчиками. Многое во времени они говорят: «О, я не хочу быть называть, потому что все, кто называть прямо сейчас в реальной жизни, их пейджер постоянно уходит, и они постоянно раздражают».

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

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

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

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

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

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

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

Это супер, супер интересная вещь, потому что если вы работаете на более крупной организации, вероятно, есть какой-то письменный процесс реагирования на инцидент. Если вы работаете на сами, только один человек, у вас все еще есть процесс ответа на инцидент, вы, вероятно, просто не записали его раньше. Идите посмотрите на ваш письменный процесс, если он существует и записывает, что вы думаете, что процесс основан на вашем опыте выполнения этого. Сравните это с тем, что записано. Если он не записан, может быть, вы можете написать это вниз. Какая часть не работает? Какая часть работает отлично?

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

Это какой-то супер простые примеры того, что вы можете получить, когда вы записали это: это мой страстный проект One-Pare. Может быть, кто-то поражает меня в расслаивании и говорит: «Я попробовал эту вещь, которую вы встали на меня ссылку, это не сработало». Нужно ли вам открыть билет к тому, что, вероятно, никто не заставляет вас делать какие-либо из этого.

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

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

Итак, что я люблю использовать в качестве примера введения людей к менеджеру по инциденту в целом, является командной системой команды FEMA. И вот причины: это перекрестное дисциплинарное, и она основана на реальном реальном реагировании на чрезвычайные ситуации. Я тренировался в команде FEMA SCIDIND, когда я был EMT. Я тренировался для массовых случаев пострадавших инцидентов. Я подготовил за эти вещи, потому что мы знаем, что они произойдут. Мы не собираемся предотвращать ужасные трагедии. Но что мы делаем, когда мы туда доберемся? Я работал один инцидент по несчастным случаям по несчастным случаям, который я рад сказать, вам действительно не пригласил множество жертв. Если кто-то помнит, когда Sully Sullenberger приземлился на то, что самолет на реке Гудзон, я был волонтером EMT. Я появился, и я даже не носил униформу. Но потому что я так квалифицирован на операциях, и потому что я так спокоен во время этих сумасшедших событий, люди увидели меня в своей гражданской одежде, выглядя очень спокойной, и предполагали, что я должен быть действительно важным. И я разговаривал с главой Государственной полиции и ФБР и всем этим материалом и помогая им и делать вещи.

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

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

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

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

Но должно быть понимание, это соглашение о плане. Люди, которые вы собираетесь на страницу, должны понимать, «Эй, я собираюсь на страницу, вот что это значит. Вот что нам нужно от вас, когда вы ругаетесь. «Я собираюсь только на страницу, если это действительно важно, если я могу помочь. А потом я ожидаю, что сделайте следующие вещи, чтобы пойти лучше. Точные временные шкалы и данные.

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

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

Таким образом, вам нужно, чтобы данные могли просмотреть. И когда вы рецензируете здесь, вы не ищете, мы остановили все инциденты происходящих? Что мы ищем, — это что-нибудь из этого инцидента, как последний? У нас есть другие вещи, которые продолжают приходить? Мы замечали ли мы тенденции, возможно, если мы обращаемся к тому, что он улучшит вещи в целом? Как мы просто заставляем людей чувствовать себя лучше, — это большая вещь? »

PostMortems, супер горячий прямо сейчас. Все любят говорить о них. Поскольку мы уже немного слышали об этом, большинство из того, что я хотел сказать, будьте осторожны с вашим постмтемным процессом, потому что есть бизнес, необходимость выяснить, что произошло, и что мы собираемся сделать. Это просто регулярное деловое необходимость. Но когда вы попадаете в эти встречи, если люди не участвуют в этих фактах, находящихся типов встреч специально, если вы начнете с какого-либо руководителя, говоря: «Я никого не вижу, представляющую эту команду, эту команду, и эту команду, Вы идете здесь здесь прямо сейчас: «Я могу сказать вам, что эта встреча — пустая трата времени. Просто даже не имейте этого, потому что все, что вы делаете, делает кучу своих сотрудников действительно безумно, присвоив им кучу работы, которую они не хотят делать.

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

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

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

И угадайте, что, когда вы добровольно сделаете вещь, потому что вы думаете, что это полезно, вы довольно мотивированы, чтобы сделать это. Вам не нужен какой-то человек, чтобы прийти нагнуть вас и сказать: «У вас есть 50 из них, почему ты их не сделал?» Потому что вы заинтересованы в улучшении вещей, и вы хотите узнать о них, и вы хотите помочь.

Таким образом, еще одна большая вещь, работающая, операция и развитие говорят многое о том, что это изменение против стабильности. Это напряжение, которое у нас есть, верно? И причина того, что трение происходит между Dev и Ops, заключается в том, что OPS не хочет никаких изменений, потому что никакие изменения не являются стабильностью. Угадай, что, если вы не касаетесь вещей, они меньше нарушают. Отлично, вот что мы хотим. Изменение — это то, как вы получаете новые классные функции, разработчики хотят, чтобы управление хочет этого. Все хотят, что за исключением того, что человек должен иметь дело с выпадом этого и не имеет значимых вклада в внесение каких-либо изменений. Так что это определенно очень сложный разговор.

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

Это то, что меняет бизнес-мудрый. Раньше я должен был представить мою доску для изменений и посмотреть на все изменения, которые мы пытаемся рассмотреть на неделю. А теперь с постоянным развертыванием вашего руководства придет к вам и скажет: «Эй, ты не можешь остановить своих разработчиков от доставки, они бросают. Вы знаете, сколько это стоит мне, чтобы получить эти разработчики? Как ты смеешь знать? Нет, я хочу, чтобы они погрузились постоянно.

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

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

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

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

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

Также позвольте мне просто сказать, это не убьет вас, чтобы написать документ. Все любят: «О, никто никогда не собирается заполнить документ. » Вы можете заставить людей заполнить довольно минимальную сумму документации, но вам нужен голый минимальный объем документации даже для себя.

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

Вероятно, где-то, независимо от размера вашего проекта, вероятно, есть куча разных журналов и троп. Тогда у вас проблемы «Хорошо, хорошо, я только что нашел 10000 вещей, которые изменились за последние пять минут. Какие из этих 10 000 вещей я забочусь? » Таким образом, вы должны быть в состоянии быстро различить.

Вам необходимо разработать систему, которая позволяет вам знать, что такое радиус взрыва каждого из этих типов изменений. Я ищу тех, где участвует хранение? Я ищу те, где в какой-то другой вещи участвует? И если это обновление YAML для неработающей, некритической системы, я, вероятно, не запустил там, как и мое первое место, чтобы искать то, что происходит.

Тогда вам нужно знать, кто это изменил: Был ли это человеком, это был скрипт? Если это скрипт, вам нужно выключить это. Если это человек, вы, возможно, захотите спросить их, что должно делать их изменения, и если мы сможем вернуться назад. Потому что это не может быть. В некоторых случаях вы должны сделать некоторую миграцию. Это полезно знать, что прежде чем начать это. Мы сделали это раньше? Это идет хорошо? Традиционно это не хорошо хочется? Нужно ли нам потратить немного больше времени, обращая внимание на это? И какие из наших типов изменений больше неудачи?

Я хочу быть очень ясно здесь, я никоим образом не предлагаю, чтобы мы просто взяли кучу списков того, что пошли вниз и сказать: «Ваша команда терпит неудачу больше всего, у вас проблемы. «То, что я хочу, это для нас, чтобы взглянуть на виды изменений, как, когда мы меняем вещи, как эти две вещи разговаривают друг с другом? Что прошло очень плохо каждый раз в прошлом? Может быть, вы видите, что в нескольких областях бизнеса, если вы все разговариваете друг с другом. Затем вы начинаете реализовать, может быть, нам нужна среда культуры, может быть, нам нужен новый инструмент. Может быть, мы хотим новый процесс. Представьте себе, если разработчики просили вас за новый процесс для того, чтобы погрузить вещи. Можете ли вы даже представить это? Полностью вещь, которая возможна, это случилось со мной.

Одна вещь, которую я хотел указать конкретно, это код замораживает, исходя из глубокого фона опс, самые лучшие. Ты как, «yay, код заморожены! Я могу пойти в отпуск, я могу спать. Это может быть так хорошо.

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

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

А потом что происходит в реальной жизни, — это, есть код замораживания. Эй, мне нужно сделать это изменение. Ну, вам нужна одобрение VP. Вам нужно старшее одобрение Exec. «Угадай, что, они никогда не говорят нет. На самом деле, я испытал, где они не только никогда не говорят об исключениях, они вернулись и сказали: «Разработчики рода раздражают, что вы продолжаете заставлять их получить исключения, и что вы не позволите им работать на На этой неделе, и им это не нравится. «

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

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

Это странные аномалийские события, которые вы не могли бы предсказать, и это те, которые вы заботитесь о большем количестве. Так, Chaos Engineering — мое однократное решение. Вы хотите получить хорошее в OPS? Хорошо, сделай это тяжело. Я знаю, что происходит, когда я отключаю эту базу данных. Это действительно просто. Персонал не может получить доступ к базе данных. Я скажу вам, что еще происходит, и я уверен в этом: Могут не только вещи не только могут получить доступ к базе данных, целую кучу других вещей, которые не разговаривают с этой базой данных, также больше не работают, и люди действительно смешаны этим.

С Chaos Engineering вы заранее планируете свои проходы. Вы говорите: «Слушай, мы не знаем, что произойдет, когда эта конкретная база данных идет вниз, и нам нужно знать. Давайте выберем время. Мы поговорим о том, что мы думаем, что произойдет, когда мы отключаем базу данных. Мы поговорим о том, что мы можем сделать, чтобы смягчить это. Что мы можем сделать заранее? Какое планирование работает? » А потом ты идешь потянуть вилку.

Затем вы записываете все эти вещи, которые были сюрпризом, как увлекательно. Мы не знали ни одного из этого, произойдет. Но снова и снова — это отличный способ сделать то, что мы все сделали сложный путь, кроме как в поддерживаемой среде, где вы знаете, 4:00 вечера во вторник, когда ваша база данных будет вынесена, вы знаете, когда Ваше отключение. Итак, вы думаете, хорошо, отлично, отменив мои ужин. Я убедитесь, что у меня есть няня или что-то еще, я собираюсь работать поздно, я собираюсь спать. Это не нужно, чтобы быть модным. Вам не нужны инструменты. Вы можете купить множество инструментов, вам не нужны инструменты. Вам просто нужно сформировать гипотезу о том, как работает программное обеспечение вместе. Выясните, как проверить эту гипотезу, каждый раз, когда вы будете не правы. Тогда вы узнаете у этого, и вы делаете это снова и снова. И если вы сделаете это нарочно, это лучше, чем делать это тяжелым способом. Вы все еще будете делать это сложным способом, но вам не придется делать это так часто, если вы сделали это немного простым способом.

Мне нравится обобщить это с помощью The Mark Twain Quote, «если ваша работа есть лягушка, лучше всего делать это первым делом утром».

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

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

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

Нет, оперативная зрелость — это способ выяснить, что вы в порядке, чтобы зависеть от ваших потребностей. Если я разработчик Passion Project, мне нужно несколько экземпляров EC2, мне нужны RDS или что-то в этом роде. Я собираюсь думать, ну хорошо, все в порядке, я могу получить это от Amazon. Есть ли для этого более дешевый поставщик, потому что мне не нужно, чтобы он был все это время? Понимание того, что ваши потребности и возможность оценить ваш выбор на основе этих потребностей, действительно важно. И это трудно сделать в сложной среде, потому что у крупных компаний вы получаете все эти платформы, чтобы легко сделать инструменты. И если мы сделаем новое, это делает то, что мы хотели, это здорово.

Допустим, я собираюсь разработать приложение, чтобы получить цвет носков моих коллег. Операционная зрелость, которую я требую для этого, как ноль. Мне все равно, если он опустится. Но я встаю на службу, и я использую все автоматизированные инструменты, и поэтому другие люди, которые работают в моей компании. Вы можете найти эту услугу, и они видят это. И они идут: «Да, я думаю, что смогу использовать это в моем проекте. «Поэтому они строят его в свой проект, и у них был этот проект в режиме Alpha Secret. Они даже не из бета, и они уже работали над этим и проверили его. И они как: «Да, мы получили это. Мы сделали все, это так удивительно. Мы готовы пойти, положить его в производство ».

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

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

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

SLI — это индикатор уровня обслуживания. Могу ли я пинг? Могу ли я войти в него? Разве это? Сколько ответов HTTP 200 я служу. SLOS, сколько я хочу, чтобы мои клиенты делали это? Мои клиенты хотят, что HTTP 200 ответов, сколько из них может быть не 200 ответов, прежде чем они разозлится и перестанут платить мне? Это то, что ваш SLO.

SLA — это то, что, надеюсь, гораздо более щедрое с простоя, чем ваша слойка, потому что это то, откуда приходит боль в боли. Это то, о чем у подходящих управленческих заболевается.

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

Когда я объяснил это разработчикам, они как «,» О да, ты прав, я забочусь ». Понять, что хотят ваши пользователи. Это может занять вам некоторое время, чтобы сделать математику, чтобы получить его правильно, и это понятно. Это включает в себя исчисление. Я не ожидаю, что каждый разработчик станет экспертом, я хочу, чтобы они поняли, что это область опыта. Я хочу, чтобы они искали эту экспертизу и знают, что это то, о чем они должны думать.

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

Поскольку вы все OPS следующего уровня, пожалуйста, отправляйтесь в Google это. Если вы просто Google это, вы собираетесь найти вещи. Иди искать Джон AllPaw из Etsy. Вы собираетесь спустить эту дыру кролика, и вы начнете понимать, что на самом деле существует академическое исследование, которое поддерживает уход за людьми. Это сумасшедший, но здесь здесь, и вот как мы перемещаем иглу.

Оригинал: «https://dev.to/blameless/bringing-operational-excellence-to-dev-with-github-s-lauren-rubin-97i»