Джон Allspaw, співзасновник, лабораторії адаптивного потенціалу

Як ваші системи продовжують працювати день за днем

По-перше, трохи про Джона Олспау, співзасновника лабораторій адаптивного потенціалу та колишнього головного директора з технологій Etsy.

Будучи лідером інженерії та дослідником з більш ніж 20-річним досвідом роботи в будівництві та провідних командах, що займаються інженерією програмного забезпечення та систем, Allspaw провів останнє десятиліття, перенісши розуміння з людських факторів, когнітивних систем та інженерії стійкості до сфери інженерії програмного забезпечення та операції.

Також автор двох книг «Мистецтво планування потенціалу: масштабування веб-ресурсів» та «Операції в Інтернеті» (O’Reilly Media) Allspaw продовжує робити свій внесок у співтовариство ІТ та DevOps, виступаючи та співпрацюючи над новими захоплюючими дослідженнями.

Нам пощастило прийняти Джона на саміті DevOps Enterprise у Сан-Франциско, де він вийшов на сцену, щоб поговорити про те, як системи продовжують працювати день за днем. Нижче ми переписали ключові матеріали та основні моменти його презентації .

Джон Allspaw у DOES17 у Сан-Франциско

Джон Allspaw

Як ваші системи продовжують працювати день за днем

Про що я хочу поговорити - це нове. Інакше, і я дуже дуже дуже відчуваю це.

Щоб допомогти встановити підґрунтя, моя дисертація на здобуття наукового ступеня "Фактори людини та безпека системи" була "Компроміси під тиском: евристика та спостереження команд, що вирішують недоліки Інтернет-послуг".

Деякі з вас, можливо, чули про це, як називається Звіт Стелли.

На високому рівні цей звіт є результатом багаторічного проекту консорціуму галузевих партнерів. IBM, Etsy та IEX, торгова компанія, торгова біржа на Манхеттені. Протягом цього року люди з Лабораторії інженерних когнітивних систем штату Огайо, Девід Вудс, Річард Кук та ряд інших людей глибоко вивчили інцидент у кожній з цих організацій.

Вони знайшли ці шість тем і були загальними для всіх.

Безумовно, результати є досить важливими. Саме так було проведено це дослідження, і я хочу, щоб ви всі поглянули.

Ось основні мої висновки зі звіту:

  1. Ми повинні почати серйозно сприймати результати роботи людини в цій галузі. Якщо ми цього не зробимо, ми продовжуватимемо бачити крихкі системи з постійно зростаючим впливом на наш бізнес та суспільство.
  2. Ми можемо це зробити, дивлячись на випадки, що виходять за рамки тих, що ми зараз робимо, в постмортемах чи оглядах після інцидентів або в оглядах після дій.
  3. Існують методи та підходи з вивчення стійкості в інших областях, але вони вимагають реальної відданості. Робити це потрібно і важко, але це виявиться конкурентною перевагою для підприємств, які роблять це добре.

По-перше, я хочу почати з базової лінії, трохи словникового запасу, який буде важливим, коли я проходжу вас через це. Я опишу якусь картину, уявлення, як ментальна модель ваших організацій, і вона матиме верхній і нижній ряд регіону.

Якщо ви уявляєте, що ми тут зобразили, це ваш продукт, ваша послуга, ваш API або все, що ваш бізнес отримує цінність і дає клієнтам. Добре? Всередині ви бачите ваш код. Ви бачите свій стек технологій. Ви бачите дані та деякі різні способи їх доставки, правда? Імовірно, через Інтернет чи інший спосіб. Але якщо ми залишимось тут, ніхто не вірить мені, що саме так ми називаємо систему, тому що це добре, але насправді не завершено.

Що насправді пов'язано, і про що багато людей говорили тут у спільноті DevOps Enterprise Summit - це все, що ми робимо, щоб маніпулювати тим, що відбувається там, і тому у нас є інструменти для тестування. У нас є інструменти моніторингу. У нас є інструменти розгортання та всі речі, які на зразок підключені. Це речі, якими ми користуємося. Можна сказати, що це та система, адже багато хто з нас проводять свій час зосередженими на тих речах, які не знаходяться всередині маленької бульбашки там, а на всіх речах, що навколо неї, але якби ми залишилися лише з цим, ми не зможе побачити, де відбувається справжня робота.

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

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

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

Ваша взаємодія ніколи з самими речами. Ви фактично не змінюєте системи.

Що ви робите, це те, що ви взаємодієте з представництвом, і це представлення - це те, що відбувається нижче. Ви можете думати про ці зелені речі як про екрани, які ви переглядаєте протягом дня, але єдина інформація, яку ви маєте про систему, походить з цих уявлень. Вони просто невелика замкова щілина. Правильно?

Що важливо в тому, що всі дії, які ви виконуєте, всі спостереження, висновки, передбачення, планування, виправлення, всі подібні речі повинні здійснюватися за допомогою цих уявлень, тож світ є над лінією та світом під лінією, і хоча ми з вами здебільшого говоримо про світ нижче лінії, ніби це дуже реально, ніби це дуже конкретно, ніби це щось, що в цьому річ, ось сюрприз.

Тут велика справа - ви ніколи цього не побачите.

Її не існує. У реальному сенсі немає нижче лінії, до якої можна насправді торкнутися. Ви ніколи і ніколи не побачите, як запускається код. Ви ніколи і ніколи не бачите, щоб система справді працювала. Ви ніколи не торкаєтесь цих речей.

Що ви робите, це те, що ви маніпулюєте світом, який ви не бачите через набір уявлень, і саме тому вам потрібно побудувати ті ментальні моделі, ці уявлення, розуміння того, що відбувається. Це те, що рухає цією маніпуляцією. Це не світ нижче лінії, що це робить. Це ваша концептуальна здатність розуміти те, що відбувалося в минулому, те, що ви робите зараз, і чому ви це робите, що має значення, і чому насправді важливо.

Після того, як ви перейдете на цю перспективу, як тільки ви відійдете від того, що думка про те, що під лінією є справа, з якою ви маєте справу, і зрозумієте, що ви дійсно працюєте над лінією, всілякі речі змінюються.

Те, що ви бачите у звіті «Стелла», а також у цьому проекті та інших проектах, з якими ми брали участь, сприймає цю точку зору і розуміє, що насправді означає серйозно сприймати вищезазначений світ. Це великий відхід від багатьох з того, що ви всі бачили в минулому, але я думаю, що це - плідний напрямок, який нам потрібно зробити.

Іншими словами, ці пізнавальні дії (див. Нижче) як в особах, так і в колективі в організаціях вгору і вниз в організації - це те, що змушує бізнес насправді працювати. Зараз я детально це вивчаю тут досить довго, і можу вам це сказати. Це не працює так, як ми думаємо.

Нарешті, щоб створити цей кадр, найважливішою частиною цієї ідеї є те, що все це змінюється з часом. Це динамічний процес, який триває. Це одиниця аналізу. Як тільки ми візьмемо цей кадр, ми можемо задати деякі питання. Ми можемо задати деякі питання щодо цієї лінії.

"Як насправді працює наше програмне забезпечення порівняно з тим, як воно описується у вікі, документації та на діаграмах? Ми знаємо, що це не всебічно, вони не всебічно точні ".

"Як насправді ламається наше програмне забезпечення, порівняно з тим, як ми думали, що воно порушиться, коли ми розробили захисні пристрої та вимикачі та поручні?"

"Що ми робимо, щоб це все працювало?"

Питання: Уявіть свою організацію. Що буде, якби сьогодні о шостій годині всі ваші компанії зняли руки з клавіатури? Вони не відповідають на жодних сторінках. Вони не переглядають жодних сповіщень. Вони не торкаються жодної його частини, коду програми чи мережі чи будь-якої з них. Ви впевнені, що ваша послуга буде працювати вже через день?

Тоді питання полягає в тому, як виявити, що відбувається над лінією. Ну, є кілька речей. Ми можемо дізнатися з вивчення інших областей з високим темпом, з високим наслідком, і якщо ми це зробимо, ми можемо побачити, що ми можемо вивчати інциденти. (Зверніть увагу: коли я кажу "інциденти", я маю на увазі перебої, деградації, порушення, аварії, близькі промахи та збої - в основному несприятливі або несподівані події).

Що робить інциденти цікавими? Що ж, очевидним є втрата доходу та репутації впливу на конкретний бізнес. Я хочу стверджувати ще кілька причин, чому інциденти цікаві. Перший полягає в тому, що інциденти формують дизайн нових компонентних підсистем та архітектур. Іншими словами, вчорашні випадки інформують архітектуру завтрашнього дня. Тобто, інциденти допомагають роздумувати наші уявлення про те, як покращити наші системи, і, отже, я маю на увазі, що інциденти нижче лінії руху змінюються вище лінії.

Це річ Це може коштувати реальних грошей. Інциденти можуть мати іноді майже негласні або невидимі наслідки, іноді значні. Зараз багато людей розщеплюють моноліт на мікросервіси. Багато людей це роблять, оскільки це забезпечує певну надійність, якої у вас немає. Звідки ви це взяли?

Вас повідомляють інциденти.

Іншою причиною розгляду інцидентів є те, що вони, як правило, народжують нові форми правил, політики, норми, дотримання, аудиту, обмежень тощо. Ще один спосіб сказати це - те, що вчорашні інциденти інформують правила завтрашнього дня, які впливають на персонал , бюджети, планування, дорожні карти тощо. Дозвольте навести приклад: у фінансовій торгівлі SEC прийняв Регламент SCI. SCI - це, мабуть, найбільш всебічна і детальна відповідність у сучасну епоху програмного забезпечення. SEC пройшов і був дуже явним. Ми маємо це як реакція на спалах краху 2010 року на Knight Capital, BATS IPO, Facebook IPO. Це реакція на інциденти.

Навіть якщо повернутися трохи далі, часто цитується, що PCI DSS виник, коли MasterCard і Visa порівняли нотатки, зрозуміли, що вони втратили близько 750 мільйонів доларів за 10 років, тому інциденти мають значне значення, і, до речі, я можу, як колишній організаційний директор публічної компанії, можу запевнити, що це дуже дорогий, відволікаючий і неминуче обтяжливий альбатрос для всіх ваших організацій. Інциденти теж важливі і в цьому способі, але якщо ми думаємо про інциденти як про можливості, якщо ми думаємо про інциденти як повідомлення, кодовані повідомлення, які нижче рядка надсилаються над лінією, і ваше завдання полягає в їх розшифровці, якщо ви думаєте про інциденти як речі, які активно намагаються привернути вашу увагу до частини системи, яку ви вважали, що ви достатньо розумієте, але не зробили цього, це нагадування про те, що вам потрібно постійно переглядати, наскільки ви впевнені в тому, як це все працює.

Тепер, якщо прийняти цей погляд, відкриється ціла купа речей. Є можливість для нового навчання, нового інструментарію, нових організаційних структур, нової динаміки фінансування та, можливо, розуміння, якого у ваших конкурентів немає.

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

Якщо ви думаєте про інциденти, вони спалюють гроші, час, репутацію, персонал тощо. Це неминучі великі витрати. Щось цікаве в цьому виді інвестицій. Ви не контролюєте розмір інвестицій, тому залишається питання, як ви максимізуєте рентабельність інвестицій за ці інвестиції?

Коли ми дивимося на випадки, це питання, які ми чуємо, і це цілком відповідає тому, що дослідники знаходять в інших складних системах, областях. Що це робить? Чому це робиться? Що буде робити далі? Як він потрапив у цей стан? Що відбувається? Якщо ми зробимо Y, чи допоможе це нам зрозуміти, що робити? Погіршується? Схоже, це виправлено, але чи не так? Якщо ми зробимо X, чи не завадить йому погіршитись, чи зробить це гірше? Кого ще ми маємо назвати, що може нам допомогти? Це наше питання, чи нас атакують? Це узгоджується з багатьма іншими сферами. Авіація, контроль повітряного руху, особливо в областях, багатих на автоматику.

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

Інциденти забезпечують калібрування того, як фокусуються рішення, про те, як фокусується увага, про те, як фокусується координація, про те, як орієнтована ескалація. Вплив тиску в часі, вплив невизначеності, вплив неоднозначності та наслідки наслідків. Дослідження підтверджує ці можливості.

"Ми повинні глибоко дивитися на інциденти як на" непрофільні складні події, тому що ці важкі випадки мають найбільший потенціал для розкриття елементів експертизи та пов'язаних з ними пізнавальних явищ ".
- Гері Кляйн, засновник досліджень натуралістичних рішень.

Є родина добре зношених методів, підходів і прийомів. Когнітивний аналіз завдань. Процес відстеження. Розмовний аналіз. Метод критичного рішення. Як ми вважаємо, що значення мають постмортеми, виглядає приблизно так:

Трапляється інцидент. Можливо, хтось складе хронологію. У нас трохи зустрічається. Можливо, у вас є шаблон, і ви заповнюєте його, а потім хтось може скласти звіт чи ні, і тоді ви отримаєте, так, пункти дій, нарешті. Ми вважаємо, що найбільша цінність, можливо, найменша цінність - це те, де ти ведеш підсумки дискусій, і люди йдуть за часовою шкалою, і тобі подобається: «О, Боже мій. Ми все це знаємо ».

Це не те, що дає дослідження. Дослідження показує, що якщо ми збираємо суб'єктивні та об’єктивні дані з різних місць, дані про поведінку, що люди говорили, що люди робили, де дивилися, які шляхи діагностики вони дотримувались і не були плодовитими? Добре полегшені опитування змушують людей протиставляти та порівнювати свої ментальні моделі, які обов'язково недоліки. Ви можете давати різні результати, включаючи такі речі, як завантажувальний кабінет, бортові матеріали, нові навчання з найму. Ви можете мати зворотний зв'язок із фасилітації, якщо створити програму для підготовки фасилітаторів. Ви можете внести зміни в дорожню карту, дійсно значні зміни на основі того, що ви дізнаєтесь.

Я можу вам сказати це з певного досвіду. Немає нічого більш проникливого для нового інженера чи інженера, який тільки починає свою кар’єру, ніж перебувати в кімнаті з інженером-ветеранкою, який знає всі куточки та пояснює речі, які вони, можливо, ніколи не говорили вголос. Вони мають знання. Вони можуть малювати картинки та діаграми, яких раніше ніколи не малювали, бо думають, що це знають усі інші. Вгадай що? Вони не Найбільша цінність тут насправді, тому що якість цих результатів залежить від якості цієї повторної калібрування. Це відкриття для повторної калібрування ментальних моделей.

Зі звіту "Стелла" він "інформує та повторно калібрує моделі людей про те, як працює система, їх розуміння того, як вона вразлива та які можливості є для розвідки".

У багатьох дослідженнях у всіх дослідженнях, що містяться у доповіді «Стелла», і це відповідає моєму досвіду в Etsy, одному з найбільш рефлексійних людей, які роблять це спрощеним способом порівняння та порівняння. контрастний. "Я не знав, що це працює так". Тоді завжди є інше: "Як це колись працювало?", Що смішно, поки ти не зрозумієш, що це серйозно. Що це означає, це те, що я не тільки думав, що це працює по-іншому. Зараз я навіть уявити не можу, я навіть не можу намалювати уявлення про те, як це могло б працювати. Це повинно бути більше неспокійно. До речі, хочу сказати, що це не вирівнювання. Як я вже говорив, через уявлення ми обов'язково маємо незавершені ментальні моделі. Ідея полягає у тому, щоб не мати однакових ментальних моделей, тому що вони завжди незавершені, тому що все завжди змінюється і тому, що вони будуть хибні. Ми не хочемо, щоб усі мали однакову ментальну модель, тому що тоді у всіх однакові сліпи.

Беззаганний - повернення до публікації в блозі, яку я написав у 2012 році

"Беззаганний" - це настільні ставки. Це потрібно, але це недостатньо Ви можете створити середовище, культуру, сприйняття, якусь привітну організацію, яка підтримує і дозволяє людям розповідати історії в усіх безладних деталях, іноді бентежить деталі, не боячись відплати, щоб ви могли дійсно прогресувати, і розуміючи, що відбувається, ви можете встановити цю умову і все ще не дуже навчитися. Це недостатньо Це потрібно, але недостатньо Що я говорю, - це набагато більше зусиль, ніж типові огляди після інцидентів. Правильно? Тут аналітик, фасилітатор може готувати, встановлювати, організовувати, аналізувати поведінкові дані. Що кажуть люди, те, що люди роблять. Є ряд даних, які вони можуть просіяти, щоб підготуватися до повторних брифінгів, групового опиту чи розвідки один на один, виходячи за межі… Посмертники натякають на багатство інцидентів. Слідкувати за цим потрібно багато роботи.

До речі, всі, як правило, настільки виснажені після справді, стресового перепаду, інциденту чи події, що іноді все стає кристально зрозумілим. Це сила заднього огляду, і тому, що це здається настільки кришталево чистим, не здається продуктивним проводити реферат, тому що ви думаєте, що це вже все знаєте. Інша проблема полягає в тому, що британські інструктажі також обмежені часом. У вас у конференц-залі є лише година-дві. Усі справді зайняті, а годинник тикає, тому це дуже складно для цього, навіть з огляду на ці методи дослідження.

Інше питання, особливо якщо ви розробляєте навчальну програму з полегшення навчання, як я робила в Etsy, все ще виникають проблеми. Я люблю це називати: «У кожного є своя таємниця для вирішення» або «Не витрачайте час на деталі, які я вже знаю». По-мультфільму ви можете подумати про це так:

Оскільки у вас може бути лише година, вам потрібно витягти стільки навчання, скільки зможете. Вся робота є контекстною. Ваша робота щодо максимальної рентабельності інвестицій - виявити, дослідити та відновити контекст, у якому робота виконується в інциденті, як працюють і як люди думали над лінією.

Оцінки є компромісними, а ці - контекстними.

На завершення всі випадки можуть бути гіршими. Поверхневий погляд - це запитати: «Що пішло не так? Як він зламався? Що ми вирішуємо? "Це дуже розумні питання. Якби ми взяли більш глибокий рівень, і ми могли б запитати: "Які речі вчинили, щоб зробити це не так вже й погано, як могло б бути?" Тому що ми не звертаємо уваги на ці речі і не визначаємо ці речі ми можемо перестати підтримувати ці речі.

Можливо, причина цього не погіршилася в тому, що хтось називає Лізу, і Ліза знає її речі. Щось із досліджень полягає в тому, що експерти можуть бачити те, чого там немає. Якщо ви не підтримуєте Лізу і навіть не визначите, що причина, чому вона не погіршилася, полягає в тому, що Ліза була там. Забудьте про елементи дій, щоб на мить виправити щось. Уявіть собі світ, де Ліза вирушає на нову роботу.

Корисне на стратегічному рівні - це краще питання. «Як ми можемо підтримувати, заохочувати, підтримувати та фінансувати постійний процес розуміння в наших системах? І справді приймати “вище лінії” стійко?

Куди ми підемо звідси? У мене є деякі проблеми для вас:

  1. Розпочніть звіт про свою компанію та розпочніть діалог. Навіть якщо ви занадто зайняті або ви не в змозі самі прочитати це, дайте людям, які це роблять. Запитайте у них, що резонує. Запитайте їх, що не має сенсу. Попросіть їх, розпочніть діалог.
  2. Поглиблено погляньте, як ви обробляєте огляди після подій. Найголовніше - знайдіть людей, які найбільше знайомі з брудними подробицями того, як відбувається робота, і запитайте їх у цьому: «Яку цінність, на вашу думку, мають наші поточні огляди після інцидентів?» Та слухайте.
  3. Візьміть на себе відповідальність, щоб дізнатися більше і швидше від інцидентів, ніж ваші конкуренти. Ви або будуєте навчальну організацію, або втрачаєте того, хто є.
  4. Нам потрібно серйозно поставитися до людської діяльності. Ця дискусія відбувається. Це відбувається в ядерній енергетиці. Це відбувається в медицині. Це відбувається в авіації, контролі повітряного руху, в пожежних.

Зростаюча значущість наших систем, зростаючий потенціал економічної, політичної та людської шкоди, коли вони не працюють належним чином, і розповсюдження залежностей та пов’язана з цим невизначеність викликають сильну стурбованість. Якщо ви подивитесь на вашу власну систему та її проблеми, я думаю, ви погоджуєтесь, що ми повинні зробити набагато більше, ніж визнати цю проблему. Ми повинні прийняти це. Що ви можете мені допомогти, будь ласка, поширюйте цю інформацію, ці ідеї та мою презентацію з DevOps Enterprise Summit San Francisco 2017.

Я хочу почути від вас. Що резонувало з вами з цього приводу? Що не зробили? З якими проблемами ви стикаєтесь у своїх органах? Приходь, скажи мені. Я в Твіттері.

Оригінально опубліковано на itrevolution.com 30 квітня 2018 року.