John Allspaw, spoluzakladatel, laboratoře adaptivní kapacity

Jak vaše systémy fungují den co den

Nejprve něco o Johnovi Allspawovi, spoluzakladateli laboratoří adaptivní kapacity a bývalém technickém řediteli Etsy.

Jako inženýrský vedoucí a výzkumný pracovník s více než 20-ti letými zkušenostmi v oblasti budování a vedení týmů zabývajících se softwarovým a systémovým inženýrstvím strávil Allspaw v posledních deseti letech přemostěním poznatků od Human Factors, Cognitive System Engineering a Resilience Engineering do oblasti softwarového inženýrství a operace.

Allspaw, autor dvou knih „Umění plánování kapacit: škálování webových zdrojů“ a „webových operací“ (O'Reilly Media), nadále přispívá do komunit IT a DevOps prostřednictvím přednášky a spolupráce na novém, vzrušujícím výzkumu.

Měli jsme to štěstí, že jsme hostili Johna na DevOps Enterprise Summitu v San Franciscu, kde se vydal na pódium a hovořil o tom, „Jak systémy udržují běh den po dni.“ Níže jsme přepsali klíčové cesty a hlavní body jeho prezentace. .

John Allspaw na DOES17 San Francisco

John Allspaw

Jak vaše systémy fungují den co den

O čem chci mluvit, je nové. Je to jiné a mám z toho velmi silný názor.

Abych pomohl nastoupit na scénu, moje diplomová práce v oboru lidských faktorů a bezpečnosti systému byla „Kompromisy pod tlakem: heuristika a pozorování týmů řešících výpadky internetových služeb“.

Někteří z vás možná slyšeli o tom, co se nazývá Stella zpráva.

Na vysoké úrovni je tato zpráva výsledkem celoročního projektu konsorcia průmyslových partnerů. IBM, Etsy a IEX, obchodní společnost, obchodní burza na Manhattanu. Během tohoto roku se lidé z Ohio State University Cognitive Systems Engineering Lab, David Woods, Richard Cook a řada dalších lidí hluboce dívali na incident v každé z těchto organizací.

Našli těchto šest témat a byli společní ve všech.

Výsledky jsou zcela jistě důležité. Je to způsob, jakým byl tento výzkum proveden a chci, abyste se na vás všichni podívali.

Zde jsou mé hlavní cesty ze zprávy:

  1. V tomto odvětví musíme začít brát lidskou výkonnost vážně. Pokud tak neučiníme, budeme i nadále vidět křehké systémy se stále rostoucími dopady na naše podniky a společnost.
  2. Můžeme to udělat tak, že se podíváme na incidenty, které jdou nad rámec toho, co v současné době děláme v posmrtných nebo post-incidentových revizích nebo následných akcích.
  3. Existují metody a přístupy ze studia odolnosti v jiných oblastech, ale vyžadují skutečný závazek k jejich prosazování. To je nutné i obtížné, ale u podniků, které to dělají dobře, se ukáže jako konkurenční výhoda.

Nejprve chci začít trochu základní linií, trochu slovní zásobou, která bude důležitá, když vás tímto trochu procházím. Popíšu jakýsi obrázek, reprezentaci, jako mentální model vaší organizace, a bude mít nad-line-line a pod-line-line oblasti.

Pokud si představujete, co jsme zde znázornili, jedná se o váš produkt, vaši službu, vaše API nebo cokoli, co vaše firma získává hodnotu a dává zákazníkům. Dobře? Uvnitř vidíte váš kód. Vidíte svůj technologický zásobník. Vidíte data a několik různých způsobů, jak toho dosáhnout, že? Pravděpodobně přes internet nebo jiným způsobem. Ale pokud zůstaneme tady, nikdo mi nebude věřit, že tomu říkáme systém, protože je v pořádku, ale není to opravdu kompletní.

Co je skutečně spojeno a o čem mnoho lidí zde mluvilo v komunitě DevOps Enterprise Summit, je všechno, co děláme, abychom manipulovali s tím, co se tam děje, a proto máme testovací nástroje. Máme monitorovací nástroje. Máme nástroje pro nasazení a všechny věci, které jsou nějak propojené. To jsou věci, které používáme. Dalo by se říci, že toto je systém, protože mnozí z nás tráví čas zaměřením na ty věci, které nejsou uvnitř malé bubliny, ale na všechny věci, které jsou kolem, ale pokud bychom s tím měli zůstat, nebude schopen zjistit, kde se skutečná práce děje.

Co tady uděláme, je nakreslit čáru, kterou nazýváme linií zastoupení, a pak kopat trochu hlouběji. To, co zde vidíme, jste vy. Všichni lidé, kteří se připravují na přidání do systému, změnu systému. Děláte architektonické rámování. Děláte monitorování. Sledujete, co to dělá, jak to dělá a co se s nimi děje.

Nyní si všimnete, že každý z těchto lidí má nějaké mentální zastoupení ohledně toho, co tento systém je. Když se na to podíváte trochu podrobněji, uvidíte, že žádný z nich není stejný. Mimochodem, to je velmi charakteristické pro tyto typy rolí. Nikdo nemá stejné zastoupení toho, co je pod hranicí.

Abychom to shrnuli, toto je náš model světa a zahrnuje to nejen věci, které tam běží, ale všechny z vás, druhy činností, které provádíte, kognitivní práci, kterou děláte, aby tento svět fungoval . Pokud si s tím trochu zahrajeme, skončíme s tímto druhem modelu. Tento model má linii reprezentace procházející středem a vy komunikujete se světem pod linkou prostřednictvím sady reprezentací.

Vaše interakce nejsou nikdy se samotnými věcmi. Ve skutečnosti neměníte systémy.

Co děláte, je to, že komunikujete se zastoupením a že zastoupení je něco o tom, co se děje níže. Na tyto zelené věci můžete myslet jako na obrazovky, na které se během dne díváte, ale jediné informace o systému pocházejí z těchto znázornění. Jsou to jen malá klíčová dírka. Že jo?

Co je na tom důležité, je to, že všechny činnosti, které děláte, všechny pozorování, odvozování, předvídání, plánování, náprava, všechno takové věci musí být provedeno prostřednictvím těchto reprezentací, takže existuje svět nad linií a svět pod hranicí, a ačkoli vy a my většinou mluvíme o světě pod hranicí, jako by to bylo velmi skutečné, jako by to bylo velmi konkrétní, jako by to bylo něco, co je to, tady je překvapení.

Tady je velký problém - nikdy to neuvidíte.

Neexistuje. Ve skutečném smyslu není pod řádkem, kterého se můžete skutečně dotknout. Nikdy nevidíte běh kódu. Nikdy nevidíte, jak systém skutečně funguje. Tyhle věci se nikdy nedotkneš.

Děláte to tak, že manipulujete se světem, který nevidíte, prostřednictvím sady reprezentací, a proto je třeba vytvořit takové mentální modely, ty koncepce, pochopení toho, co se děje. To jsou věci, které řídí tuto manipulaci. Není to svět pod hranicí, která to dělá. Je to vaše koncepční schopnost porozumět tomu, co se stalo v minulosti, co děláte teď a proč děláte ty věci, na čem záleží a proč na čem záleží.

Jakmile přijmete tuto perspektivu, jakmile ustoupíte od myšlenky, že pod hranicí je věc, se kterou se zabýváte, a pochopíte, že opravdu pracujete nad hranicí, vše se mění.

To, co vidíte ve Stellově zprávě a v tomto projektu a dalších projektech, s nimiž jsme se zabývali, je tento názor a pochopení toho, co to znamená brát vážně svět nad linii vážně. Je to velký odklon od mnoha věcí, které jste všichni viděli v minulosti, ale myslím si, že je to plodný směr, kterým se musíme ubírat.

Jinými slovy, tyto kognitivní činnosti (viz níže) jak u jednotlivců, tak společně v týmech nahoru a dolů v organizaci, dělají, že podnik skutečně funguje. Teď to už nějakou dobu podrobně studuji a můžu ti to říct. Nefunguje to tak, jak si myslíme.

A konečně, pro nastavení tohoto rámce je nejdůležitější součástí této myšlenky to, že se vše toto časem mění. Je to dynamický proces, který probíhá. Toto je jednotka analýzy. Jakmile si vezmeme tento rámec, můžeme položit několik otázek. Můžeme se na něco takového zeptat.

"Jak náš software funguje, versus jak je to popsáno na wiki, v dokumentaci a diagramech?" Víme, že tito nejsou komplexně, nejsou úplně přesní. “

"Jak se náš software opravdu zlomí, jak jsme si mysleli, že by se to zlomilo, když jsme navrhli ochranné prvky a jističe a zábradlí?"

"Co uděláme, aby to všechno fungovalo?"

Otázka: Představte si svou organizaci. Co by se stalo, kdyby dnes v šest hodin všechny vaše společnosti sundaly ruce z klávesnice? Neodpovídají na žádné stránky. Nevidí žádná upozornění. Nedotýkají se žádné jeho části, kódu aplikace ani sítí ani žádné z nich. Jste si jisti, že vaše služba bude po dni funkční?

Otázkou pak je, jak zjistit, co se děje nad hranicí. Je tu pár věcí. Můžeme se poučit ze studia dalších domén s vysokým tempem a důsledky, a pokud ano, můžeme vidět, že můžeme studovat incidenty. (Poznámka: Když řeknu „incidenty“, mám na mysli výpadky, degradace, narušení, nehody, téměř nehody a závady - v podstatě nepředvídatelné nebo neočekávané události).

Co dělá incidenty zajímavými? Samozřejmě je zřejmé, že se jedná o ztracené příjmy a dopady na pověst konkrétního podniku. Chci uplatnit několik dalších důvodů, proč jsou incidenty zajímavé. Jedním z nich je, že incidenty utvářejí design nových subsystémů a architektur komponent. Jinými slovy, včerejší incidenty informují architektury zítřka. To znamená, že incidenty podporují naši představivost o tom, jak vylepšit naše systémy, a proto myslím, že se incidenty pod linkovým pohonem mění nad linii.

To je to. To může stát skutečné peníze. Incidenty mohou mít někdy téměř tiché nebo neviditelné účinky, někdy významné. Právě teď spousta lidí dělí monolit na mikro-služby. Mnoho lidí to dělá, protože poskytuje určité množství robustnosti, které nemáte. Kde to získáte?

Jste informováni incidenty.

Dalším důvodem, proč se podívat na incidenty, je to, že mají tendenci rodit nové formy předpisů, politiky, normy, dodržování předpisů, audity, omezení atd. Dalším způsobem, jak to říci, je, že incidenty včera informují pravidla zítřka, která ovlivňují personální obsazení , rozpočty, plánování, cestovní mapy a další. Dovolte mi uvést příklad: SEC ve finančním obchodování zavedla nařízení SCI. SCI je pravděpodobně nejkomplexnější a nejpodrobnější část souladu v moderní softwarové éře. SEC odešla a byla velmi explicitní. Máme to jako reakci na bleskovou havárii roku 2010 na Knight Capital, BATS IPO, Facebook IPO. Je to reakce na incidenty.

I když se vracíte trochu dále, často se uvádí, že k PCI DSS došlo, když MasterCard a Visa porovnaly poznámky, uvědomily si, že během 10 let ztratily asi 750 milionů dolarů, takže incidenty mají významné a mimochodem mohu jako bývalý technický ředitel veřejné společnosti, mohu vás ujistit, že se jedná o velmi nákladný, rušivý a nevyhnutelně zatěžující albatros pro všechny vaše organizace. Incidenty jsou také významné, ale pokud uvažujeme o incidentech jako o příležitostech, pokud uvažujeme o incidentech jako o zprávách, kódované zprávy, které pod linkou vysílá nad linii, a vaším úkolem je je dekódovat, pokud přemýšlíte o incidentech. jako věci, které se aktivně snaží upoutat vaši pozornost na části systému, o kterých jste si mysleli, že máte dostatečné porozumění, ale neučinili jste, to jsou připomenutí, že musíte neustále přemýšlet o tom, jak jste si jisti, jak to všechno funguje.

Když se podíváte na tento pohled, otevře se celá řada věcí. Je zde příležitost pro nové školení, nové nástroje, nové organizační struktury, novou dynamiku financování a možná poznatky, které vaši konkurenti nemají.

Incidenty nám pomáhají měřit deltu mezi tím, jak váš systém funguje a jak si myslíme, že váš systém funguje, a tato delta je téměř vždy větší, než si myslíme. Chci tvrdit snad jiný názor, na který byste mohli být zvyklí, a to je vše. Incidenty jsou neplánované investice do podnikání, do přežití vaší společnosti. Jsou to nesmírně cenné příležitosti k pochopení toho, jak váš systém funguje, jaká zranitelná místa existují a jaké konkurenční výhody nesledujete.

Pokud přemýšlíte o incidentech, spálí peníze, čas, pověst, personál atd. To jsou nevyhnutelné potopené náklady. Něco zajímavého však na tomto typu investice je. Nemáte kontrolu nad velikostí investice, a proto zůstává otázkou, jak maximalizujete návratnost investic u této investice?

Když se podíváme na incidenty, jedná se o typ otázek, které slyšíme, a je to docela v souladu s tím, co vědci najdou v jiných složitých systémech, doménách. Co to dělá? Proč to dělá? Co udělá dál? Jak se dostal do tohoto stavu? Co se děje? Pokud uděláme Y, pomůže nám to zjistit, co dělat? Je to horší? Vypadá to, že je pevná, ale je to tak? Pokud uděláme X, bude to bránit tomu, aby se zhoršilo, nebo to bude ještě horší? Koho jiného bychom měli nazvat, což nám může pomoci? Je to náš problém, nebo jsme napadeni? To je v souladu s mnoha dalšími poli. Letectví, řízení letového provozu, zejména v oblastech bohatých na automatizaci.

Další věcí, která je pozoruhodná, je to, že začátek jakéhokoli incidentu je často nejistý nebo nejednoznačný ohledně toho, zda je to ten, který nás potápí. Na začátku incidentu to prostě nevíme, zvláště pokud obsahuje obrovské množství nejistoty a velké množství nejednoznačnosti. Pokud je to nejisté a nejednoznačné, znamená to, že jsme vyčerpali naše mentální modely. Nesedí s tím, co vidíme, a ty otázky vyvstávají. Pouze zpětný pohled nám řekne, zda to byla událost, která společnost snížila nebo jestli to bylo těžké úterní odpoledne.

Incidenty poskytují kalibraci o tom, jak se zaměřují rozhodnutí, jak se zaměřuje pozornost, jak se zaměřuje koordinace, jak se zaměřuje eskalace. Dopad časového tlaku, dopad nejistoty, dopad dvojznačnosti a důsledky důsledků. Výzkum tyto příležitosti potvrzuje.

"Měli bychom se hluboce dívat na incidenty jako na" rutinní náročné události, protože tyto těžké případy mají největší potenciál k odhalení prvků odborných znalostí a souvisejících kognitivních jevů. "
- Gary Klein, původce naturalistického rozhodovacího výzkumu.

Existuje rodina osvědčených metod, přístupů a technik. Analýza kognitivní úlohy. Sledování procesu. Konverzační analýza. Metoda kritického rozhodování. Jak si myslíme, že postmortemy mají hodnotu, vypadá trochu takto:

Stane se incident. Možná někdo sestaví časovou osu. Máme trochu schůzky. Možná máte šablonu, kterou vyplníte, a pak někdo může udělat zprávu nebo ne, a pak konečně dostanete, ano, akční položky. Myslíme si, že největší hodnotou, možná možná nejposlednější hodnotou, je to, kde jste v debriefingu a lidé jdou po časové ose, a rádi byste řekli: „Ach, můj Bože. To všechno víme. “

To výzkum neprokazuje. Výzkum ukazuje, že pokud shromažďujeme subjektivní a objektivní údaje z více míst, údaje o chování, co lidé říkali, co lidé dělali, kde hledali, jaké cesty v diagnóze sledovali a nebyli plodní? Dobře vedené debriefings přimějí lidi, aby kontrastovali a porovnávali své mentální modely, které jsou nutně vadné. Můžete vytvářet různé výsledky, včetně věcí, jako je bootcamp, materiály na palubě, nové školení o pronájmu. Pokud vytvoříte program pro výcvik facilitátorů, můžete získat zpětnou vazbu o usnadnění. Na základě toho, co se naučíte, můžete provést změny v plánu, opravdu významné změny.

To vám mohu říci z nějaké zkušenosti. Na nového inženýra nebo inženýra, který právě začíná ve své kariéře, není nic lepšího, než být v místnosti s veteránským inženýrem, který zná všechny zákoutí a lebky, které vysvětlují věci, které možná nikdy neřekli nahlas. Mají znalosti. Mohou kreslit obrázky a diagramy, které ještě nikdy nebyly nakresleny, protože si myslí, že to všichni vědí. Hádej co? Oni ne. Největší hodnota je ve skutečnosti zde, protože kvalita těchto výsledků závisí na kvalitě toho, že rekalibrace. Toto je otvor pro rekalibraci mentálních modelů.

Ze Stellovy zprávy „informuje a rekalibruje modely lidí o tom, jak systém funguje, o jejich porozumění, jak je zranitelný a jaké příležitosti jsou k dispozici pro průzkum.“

V mnoha výzkumech, ve všech výzkumech obsažených ve Stellově zprávě, a to se hodí také k mé zkušenosti s Etsy, jedním z nejsilnějších reflexí od lidí, kteří to usnadňují, aby toto porovnávali a kontrastní. „Nevěděl jsem, že to tak funguje.“ Pak je tu vždycky jiné: „Jak to vůbec fungovalo?“ Což je zábavné, dokud si neuvědomíte, že je to vážné. To znamená, že nejen že jsem si myslel, že to funguje jinak. Teď si nedokážu ani představit, ani si nemyslím, že si v mysli pomyslím, jak by to mohlo fungovat. To by mělo být znepokojivější. Mimochodem, chci říci, že to není zarovnání. Jak jsem řekl, prostřednictvím reprezentací máme nutně neúplné mentální modely. Záměrem není mít stejné mentální modely, protože jsou vždy neúplné, protože věci se neustále mění a protože budou vadné. Nechceme, aby všichni měli stejný mentální model, protože pak mají všichni stejná slepá místa.

Blameless - návrat k blogu, který jsem napsal v roce 2012

„Bezúhonný“ jsou sázky na stůl. Je to nutné, ale nestačí to. Mohli byste vytvořit prostředí, kulturu, všeobjímající, druh uvítací organizace, která podporuje a umožňuje lidem vyprávět příběhy ve všech chaotických detailech, někdy trapných detailech, beze strachu z odplaty, abyste mohli skutečně dosáhnout pokroku, a abyste pochopili, co se děje, můžete nastavit tuto podmínku a stále se toho moc nedozvědět. To nestačí. Je to nutné, ale ne dostačující. To, o čem mluvím, je mnohem více úsilí než typické recenze po incidentu. Že jo? To je místo, kde analytik, zprostředkovatel může připravovat, porovnávat, organizovat a analyzovat behaviorální data. Co lidé říkají, co lidé dělají. Existuje celá řada dat, která mohou prosít, aby se připravili na debriefings, skupinový debriefing, nebo one-on-one debriefing, které jdou nad rámec… Postmortems naznačují bohatství incidentů. Sledování tohoto vyžaduje hodně práce.

Mimochodem, každý je obecně tak vyčerpaný po opravdu stresujícím výpadku nebo incidentu nebo události, že někdy je všechno křišťálově čisté. To je síla zpětného pohledu, a protože se zdá být tak křišťálově čistá, nezdá se být produktivní mít debriefing, protože si myslíte, že už to všechno znáte. Druhým problémem je, že postmortem briefingy jsou časově omezeny. Konferenční místnost máte pouze hodinu nebo dvě. Všichni jsou opravdu zaneprázdněni a hodiny tikají, takže je to výzva pro to, aby se to dařilo opravdu dobře, a to i vzhledem k těmto metodám výzkumu.

Dalším problémem, zejména pokud postavíte tréninkový program na pomoc při instruktážích, jako jsem to udělal v Etsy, se stále objevují výzvy. Říká se mi to: „Každý má své tajemství, které má vyřešit,“ nebo „Neztrácejte čas podrobnostmi, které už znám.“ Karikaturním způsobem můžete o tom přemýšlet takto:

Protože můžete mít pouze hodinu, musíte získat tolik učení, kolik jen můžete. Veškerá práce je kontextová. Vaším úkolem pro maximalizaci návratnosti investic je objevit, prozkoumat a znovu vytvořit kontext, ve kterém se pracuje při incidentu, jak fungují a jak si lidé mysleli nad hranicí.

Hodnocení jsou kompromisy a jsou kontextová.

Závěrem lze říci, že všechny incidenty mohou být horší. Povrchním pohledem je zeptat se: „Co se pokazilo? Jak se to zlomilo? Co napravíme? “To jsou velmi rozumné otázky. Kdybychom měli jít na hlubší úroveň, a mohli bychom se zeptat: „Jaké jsou věci, které ji učinily ne tak špatnými, jak by to mohlo být?“ Protože těmto věcem nevěnujeme pozornost a neidentifikujeme ty věci, můžeme přestat tyto věci podporovat.

Možná důvod, proč se to nezhoršilo, je ten, že někdo volal Lisu a Lisa zná její věci. Něco z výzkumu je, že odborníci vidí, co tam není. Pokud Lisu nepodporujete a ani neidentifikujete, že důvod, proč se to nezhoršilo, je, že tam byla Lisa. Zapomeňte na akční položky, které na chvíli něco opraví. Představte si svět, ve kterém Lisa jde do nové práce.

Užitečné na strategické úrovni je lepší otázka. „Jak můžeme podpořit, povzbudit, obhajovat a financovat nepřetržitý proces porozumění v našich systémech? A opravdu brát „nad linii“ trvalým způsobem?

Kam máme odsud namířeno? Mám pro vás několik výzev:

  1. Rozesílejte Stella Report ve vaší společnosti a zahajte dialog. I když jste příliš zaneprázdněni nebo nejste schopni si to přečíst sami, dejte to lidem, kteří to dělají. Zeptejte se jich, co rezonuje. Zeptejte se jich, co nedává smysl. Zeptejte se jich, zahajte dialog.
  2. Podívejte se, jak hluboce zpracováváte recenze po událostech. A co je nejdůležitější, jděte najít lidi, kteří jsou nejvíce obeznámeni s chaotickými detaily o tom, jak se práce dělá, a zeptejte se jich: „Jakou hodnotu si myslíte, že naše současné recenze po incidentu skutečně mají?“ A poslouchejte.
  3. Převezměte odpovědnost za to, že se z incidentů budete učit více a rychleji než vaši konkurenti. Buď budujete vzdělávací organizaci, nebo prohráváte tomu, kdo je.
  4. Musíme brát lidský výkon vážně. Tato diskuse se děje. Děje se to v jaderné energii. Děje se to v medicíně. Děje se to v letectví, řízení letového provozu, při hašení požáru.

Rostoucí význam našich systémů, zvyšující se potenciál pro ekonomické, politické a lidské škody, pokud nefungují správně, a množení závislostí a související nejistota mě všechny velmi znepokojují. Pokud se podíváte na svůj vlastní systém a jeho problémy, domnívám se, že budete souhlasit s tím, že musíme udělat mnohem víc, než uznat tento problém. Musíme to přijmout. S čím mi můžete pomoci, šířte prosím tyto informace, tyto nápady a mou prezentaci z DevOps Enterprise Summit San Francisco 2017.

Chci to slyšet od tebe. Co na vás rezonovalo? Co ne? Jakým výzvám čelíte ve svých orgánech v tomto směru? Pojď mi to říct. Jsem na Twitteru.

Původně zveřejněno na itrevolution.com 30. dubna 2018.