John Allspaw, suosnivač, Laboratoriji za prilagodljive kapacitete

Kako se vaši sustavi održavaju iz dana u dan

Prvo, malo o Johnu Allspawu, suosnivaču laboratorija za prilagodljive kapacitete i bivšem glavnom direktoru tehnologije Etsy.

Kao inženjerski inženjer i istraživač s preko 20 godina iskustva u izgradnji i vodećih timova koji se bave softverskim i sistemskim inženjeringom, Allspaw je proveo posljednje desetljeće premošćujući uvide s ljudskog faktora, kognitivnog sustava inženjerstva i otpornosti inženjeringa na području softverskog inženjerstva i operacije.

Također autor dviju knjiga, „Umjetnost planiranja kapaciteta: Skaliranje web resursa“ i „Web operacije“ (O’Reilly Media), Allspaw nastavlja doprinositi IT i DevOps zajednici razgovorima i suradnjom na novim, uzbudljivim istraživanjima.

Imali smo sreću da ćemo Johna ugostiti na samitu DevOps Enterprise u San Franciscu, gdje se popeo na pozornicu da govori o tome „Kako sustavi održavaju rad iz dana u dan.“ Ispod smo prepisali ključne načine prijenosa i glavne iznose njegove prezentacije. ,

John Allspaw u DOES17 San Francisco

John Allspaw

Kako se vaši sustavi održavaju iz dana u dan

Ono o čemu želim razgovarati je novo. Drugačije je i o tome se osjećam jako, jako.

Da bih pomogao postavljanju pozornice, moja teza za diplomu o ljudskim čimbenicima i sigurnosti sustava bila je "Kompromiti pod pritiskom: heuristika i zapažanja timova koji rješavaju nedostatke internetskih usluga."

Možda su neki od vas čuli za to, što se zove Stella Report.

Ovo je izvješće na visokoj razini rezultat jednogodišnjeg projekta konzorcija industrijskih partnera. IBM, Etsy i IEX, trgovačka tvrtka, trgovačka burza na Manhattanu. Tijekom ove godine, ljudi iz Laboratorija za kognitivne sustave Sveučilišta Ohio, David Woods, Richard Cook i brojni drugi ljudi duboko su pogledali incident u svakoj od tih organizacija.

Otkrili su ovih šest tema i bili su zajednički u svima njima.

Sigurno su rezultati dosta važni. Na taj način je napravljeno to istraživanje, želim da pogledate sve.

Evo mojih glavnih postupaka iz izvješća:

  1. Moramo početi ozbiljno shvaćati ljudske performanse u ovoj industriji. Ako to ne učinimo, i dalje ćemo vidjeti krhke sustave sa sve većim utjecajem na naše poslovanje i društvo.
  2. To možemo učiniti ako pogledamo incidente koji nadilaze ono što trenutno radimo u postmortemima ili pregledu nakon incidenta ili pregledu nakon akcije.
  3. Postoje metode i pristupi izučavanja otpornosti na drugim područjima, ali za njih je potrebna stvarna posvećenost. To je i potrebno i teško, ali pokazaće se da je to konkurentna prednost za tvrtke koje to dobro rade.

Prvo želim započeti s pomakom osnovne točke, pomalo vokabularom koji će biti važan dok vas kroz ovo prolazim. Opisat ću neku vrstu slike, reprezentacije, poput mentalnog modela vaših organizacija, a imat će regiju iznad linije i regiju ispod linije.

Ako zamišljate što smo ovdje prikazali, ovo je vaš proizvod, usluga, vaš API ili sve što vaše poslovanje dobiva vrijednost i daje kupcima. U redu? Unutra je ono što vidite. Vidite svoju tehnologiju. Vidite podatke i neke različite načine isporuke, zar ne? Vjerojatno preko interneta ili na neki drugi način. Ali ako ostanemo ovdje, nitko mi neće vjerovati da je to ono što zovemo sustav, jer je u redu, ali nije stvarno dovršen.

Ono što je zaista povezano i o čemu su mnogi ljudi razgovarali ovdje u zajednici DevOps Enterprise Summit, sve su stvari koje radimo kako bismo manipulirali onim što se događa tamo, i zato imamo alate za testiranje. Imamo alate za nadgledanje Imamo alate za raspoređivanje i sve ostale stvari koje su nekako ožičene. To su stvari koje koristimo. Mogli biste reći da je to sustav, jer mnogi od nas provode svoje vrijeme usredotočeni na one stvari koje se ne nalaze unutar malog mjehurića, već na sve stvari koje su oko njega, ali ako bismo ostali samo s tim, neće moći vidjeti gdje se događa pravi posao.

Ono što ćemo ovdje učiniti je, nacrtat ćemo liniju koju nazivamo linijom predstavljanja, i kopati malo dublje. Ono što ovdje vidimo jeste ti. Svi ljudi koji se spremaju dodati stvari u sustav, promijeniti sustav. Izvodite arhitektonsko kadriranje. Obavljate nadzor. Pratite što radi, kako to radi i što se događa s njima.

Sad ćete primijetiti da svaki od tih ljudi ima mentalnu predstavu o tome što je taj sustav. Ako to pogledate malo pobliže, vidjet ćete da nijedan od njih nije isti. Usput, to je vrlo karakteristično za ove vrste uloga. Nitko nema isti prikaz onoga što je ispod crte.

Ukratko, ovo je naš model svijeta i on uključuje ne samo stvari koje se u njemu odvijaju, već sve vas, vrste aktivnosti koje izvodite, kognitivni posao koji radite da biste održali taj svijet funkcionirajući , Poigramo li se s ovim malo više, završimo s ovakvim modelom. Ovaj model ima liniju reprezentacije koja prolazi kroz sredinu, a vi komunicirate sa svijetom ispod linije putem skupa reprezentacija.

Vaše interakcije nikada nisu sa samim stvarima. Vi zapravo ne mijenjate sustave.

Ono što vi radite je da komunicirate s reprezentacijom i ta je reprezentacija nešto o onome što se događa ispod. Te zelene stvari možete misliti kao ekrane koje gledate tijekom dana, ali jedino informacije koje imate o sustavu dolaze iz tih prikaza. Oni su samo mala ključanica. Pravo?

Ono što je značajno u tome je da sve aktivnosti koje obavljate, sve promatranje, zaključivanje, predviđanje, planiranje, ispravljanje, sve takve stvari moraju obavljati preko tih reprezentacija, tako da postoji svijet iznad crte i svijet ispod crte, i iako vi i uglavnom razgovaramo o svijetu ispod crte kao da je vrlo stvaran, kao da je vrlo konkretan, kao da je to nešto u čemu je stvar, ovdje je iznenađenje.

Ovdje je velika stvar - nikad je ne možete vidjeti.

Ne postoji U pravom smislu, ne postoji ispod crte koju zapravo možete dodirnuti. Nikad ne vidite da se kôd pokreće. Nikada ne vidite da sustav stvarno radi. Te stvari nikad ne dirate.

Ono što vi radite je da manipulirate svijetom koji ne možete vidjeti putem skupa predstavki i zato morate izgraditi te mentalne modele, te koncepcije, razumijevanja o onome što se događa. To su stvari koje pokreću ovu manipulaciju. To nije svijet ispod crte koja to čini. To je vaša konceptualna sposobnost da razumijete stvari koje su se događale u prošlosti, stvari koje sada radite i zašto to radite, što je važno, i zašto je zapravo važno.

Nakon što usvojite ovu perspektivu, nakon što odstupite od ideje da je ispod linije stvar s kojom se bavite i shvatite da stvarno radite iznad crte, sve se stvari mijenjaju.

Ono što vidite u Izvještaju Stella i taj projekt i drugi projekti na kojima smo bili angažirani uzima to gledište i razumije šta zapravo znači ozbiljno shvatiti gornji svijet. Ovo je veliki odmak od mnogih onoga što ste sve vidjeli u prošlosti, ali mislim da je to plodonosan pravac koji trebamo krenuti.

Drugim riječima, ove kognitivne aktivnosti (vidi dolje), kako kod pojedinaca, tako i u kolektivnim timovima koji rade gore ili dolje u organizaciji su ono što posao zapravo funkcionira. Sada to detaljno proučavam ovdje, i mogu vam ovo reći. Ne funkcionira onako kako mi mislimo.

Konačno, za postavljanje ovog okvira najvažniji dio ove ideje je da se sve to vremenom mijenja. To je dinamičan proces koji je u toku. Ovo je jedinica za analizu. Kad jednom uzmemo taj okvir, možemo vam postaviti nekoliko pitanja. Možemo postaviti neka pitanja oko ove linije.

„Kako naš softver stvarno funkcionira, nasuprot tome kako je opisan u wikiju, dokumentaciji i dijagramima? Znamo da oni nisu sveobuhvatni, nisu sveobuhvatno precizni. "

"Kako se naš softver stvarno pokvari, nasuprot onome što smo mislili da se pokvari kad smo dizajnirali zaštitne i osigurače i zaštitne sklopove?"

"Što činimo da sve to nastavi djelovati?"

Pitanje: Zamislite svoju organizaciju. Što bi se dogodilo kada bi danas u šest sati sve vaše tvrtke skinule ruke s tipkovnice? Ne odgovaraju na nijednoj stranici. Ne gledaju nikakve upozorenja. Ne diraju u bilo koji njegov dio, aplikacijski kod ili mreže ili bilo koji drugi. Jeste li sigurni da će vaša usluga biti pokrenuta nakon jednog dana?

Postavlja se pitanje kako otkriti što se događa iznad crte. Pa, postoji nekoliko stvari. Mi možemo učiti iz proučavanja drugih domena visokog tempa i posljedica, a ako to učinimo, možemo vidjeti da možemo proučavati incidente. (Napomena: kada kažem "incidenti", mislim na prekide, degradacije, kršenja, nesreće, skoro propuste i propuste - u osnovi neupadljivi ili neočekivani događaji).

Zbog čega su incidenti zanimljivi? Pa, očito je izgubljeni utjecaj na prihod i reputaciju na određenom poslu. Želim istaknuti još nekoliko razloga zbog kojih su incidenti zanimljivi. Jedan je da incidenti oblikuju dizajn novih komponentnih podsustava i arhitektura. Drugim riječima, jučerašnji incidenti obaviještavaju arhitekture sutra. Odnosno, incidenti pomažu u poticanju naše zamisli o tome kako poboljšati naše sustave, i stoga mislim na to da se incidenti ispod pogonske linije mijenjaju iznad crte.

U tome je stvar To može koštati stvarni novac. Incidenti mogu imati gotovo prećutne ili nevidljive učinke, ponekad značajne. Trenutno, mnogo ljudi dijeli monolit u mikro-usluge. Puno ljudi to čini, jer daje određenu robusnost koju nemate. Odakle ti to?

Obaviješteni ste o incidentima

Drugi razlog za razmatranje incidenata je taj što imaju tendenciju da rađaju nove oblike propisa, politika, normi, usklađenosti, revizije, ograničenja itd. Drugi način da to kažemo jest da jučerašnji incidenti informišu pravila sutra, koja utječu na zapošljavanje , proračuni, planiranje, putokazi i još mnogo toga. Dopustite mi da vam pružim primjer: SEC je u financijskom trgovanju uveo Regulativni SCI. SCI je vjerojatno najcjelovitiji i najsloženiji dio sukladnosti u modernom programskom vremenu. SEC je otišao i bio je vrlo eksplicitan. To imamo kao reakciju na pad blica iz 2010. godine na Knight Capital, BATS IPO, Facebook IPO. To je reakcija na incidente.

Čak i ako se vratite malo dalje, često se navodi da je PCI DSS nastao kada su MasterCard i Visa uspoređivali bilješke, shvatili da su izgubili oko 750 milijuna dolara u 10 godina, tako da incidenti imaju značajne slučajeve, i usput mogu, kao bivši CTO-a javnog poduzeća, mogu vas uvjeriti da je ovo vrlo skup, zbunjujući i neminovno opterećivajući albatros za sve vaše organizacije. I incidenti su značajni i na ovaj način, ali ako o incidentima razmišljamo kao o prilikama, ako o incidentima razmišljamo kao o porukama, kodiranoj poruci koja se ispod linije šalje iznad linije, a vaš zadatak je da ih dešifrirate, ako razmišljate o incidentima kao stvari koje aktivno pokušavaju privući vašu pažnju na dijelove sustava za koje ste mislili da ih dovoljno razumijete, ali niste, to su podsjetnici da morate stalno preispitivati ​​koliko ste sigurni u to kako sve to funkcionira.

Ako uzmete ovaj pogled, otvara se čitav gomila stvari. Postoji prilika za novu obuku, novo alati, nove organizacijske strukture, novu dinamiku financiranja i eventualni uvid koji vaši konkurenti nemaju.

Incidenti nam pomažu u procjenjivanju delte između načina na koji vaš sustav funkcionira i načina na koji mislimo da vaš sustav funkcionira, a ta delta je gotovo uvijek veća nego što zamišljamo. Želim ustvrditi možda drugačiji stav na koji biste mogli biti navikli, i to je ovo. Incidenti su neplanirana ulaganja u poduzeća, u opstanak vaše tvrtke. Izuzetno su vrijedne prilike da shvatite kako vaš sustav funkcionira, koje ranjivosti u vama postoje i koje konkurentske prednosti ne ostvarujete.

Ako razmišljate o incidentima, to sagorijeva novac, vrijeme, reputaciju, osoblje itd. To su neizbježni ogromni troškovi. Nešto je zanimljivo u vezi s ovom vrstom ulaganja. Ne kontrolirate veličinu ulaganja, pa ostaje pitanje, kako ćete maksimizirati ROI na toj investiciji?

Kad pogledamo incidente, to su vrste pitanja koja čujemo i to je sasvim u skladu s onim što istraživači pronalaze u drugim složenim sustavima, domenama. Što to radi? Zašto to radi? Što će dalje činiti? Kako je došlo u ovo stanje? Što se događa? Ako radimo s Y, hoće li nam to pomoći da shvatimo što učiniti? Pogoršava li se? Čini se da je popravljeno, ali je li? Ako napravimo X, hoćemo li ga spriječiti da se pogorša ili će ga pogoršati? Koga bismo drugo trebali nazvati da nam može pomoći? Je li ovo naše pitanje ili nas napadaju? To je u skladu s mnogim drugim poljima. Zrakoplovstvo, kontrola zračnog prometa, posebno u domenama bogatim automatizacijom.

Druga je značajna stvar da je početak bilo kojeg incidenta, često neizvjestan ili dvosmislen da li je to taj koji nas potapa ili ne. Na početku incidenta jednostavno ne znamo, pogotovo ako sadrži ogromne količine neizvjesnosti i ogromne količine nejasnoće. Ako je neizvjestan i dvosmislen, znači da smo iscrpili svoje mentalne modele. Ne podudaraju se s onim što vidimo, pa se postavljaju ta pitanja. Samo će nas unatrag vidjeti da li je to događaj srušio tvrtku ili je to bilo utorko poslijepodne.

Incidenti pružaju kalibraciju o tome kako su odluke usredotočene, o tome kako je usmjerena pažnja, o tome kako je fokusirana koordinacija, o tome kako je usmjerena eskalacija. Utjecaj vremenskog pritiska, utjecaj neizvjesnosti, utjecaj nejasnoće i posljedice posljedica. Istraživanje potvrđuje ove mogućnosti.

"Trebali bismo duboko gledati na incidente kao" ne-rutinske izazovne događaje, jer ovi teški slučajevi imaju najveći potencijal otkrivanja elemenata stručnosti i povezanih kognitivnih pojava. "
- Gary Klein, začetnik naturalističkih istraživanja u odlučivanju.

Postoji obitelj istrošenih metoda, pristupa i tehnika. Kognitivna analiza zadataka. Praćenje procesa. Razgovorna analiza. Metoda kritične odluke. Kako mislimo da postmortemi imaju vrijednost izgleda pomalo ovako:

Dogodi se incident. Možda će netko sastaviti vremensku traku. Malo smo se sastali. Možda imate predložak i to ispunite, a onda bi netko mogao sastaviti izvještaj ili ne, a na kraju imate, da, akcijske jedinice. Mislimo da je najveća vrijednost, možda možda najslađa vrijednost, gdje prolazite u toku ispitivanja, a ljudi prolaze kroz vremensku traku i vi ste poput: "O, Bože. To sve znamo. "

To nije ono što istražuje. Istraživanje pokazuje da ako prikupimo subjektivne i objektivne podatke s više mjesta, podatke o ponašanju, što su ljudi rekli, što su ljudi radili, gdje gledali, koje su načine dijagnoze slijedile i nisu bile plodne? Dobro olakšani razgovori potiču ljude da uspoređuju i uspoređuju njihove mentalne modele koji su nužno manjkavi. Možete proizvesti različite rezultate, uključujući stvari poput bootcamp-a, ugrađenih materijala, nove obuke za iznajmljivanje. Povratne informacije o olakšicama možete imati ako izradite program za obuku pomagača. Možete izmijeniti plan puta, stvarno značajne promjene na temelju onoga što naučite.

To vam mogu reći iz nekog iskustva. Novom inženjeru ili inženjeru ništa je pametnije od tek započinjanja u karijeri, nego da bude u sobi s inženjerom veteranom koji zna sve šare i objašnjava stvari koje možda nikad nisu naglas izrekli. Imaju znanje. Oni mogu crtati slike i dijagrame koje nikad ranije nisu nacrtali jer misle da ih svi drugi znaju. Pogodi što? Ne vole Najveća vrijednost je zapravo ovdje, jer kvaliteta tih ishoda ovisi o kvaliteti tog, tog ponovnog umjeravanja. Ovo je otvor za ponovnu kalibraciju mentalnih modela.

Iz Stella Izvješća ono „obavještava i ponovno kalibrira modele ljudi o načinu na koji sustav funkcionira, njihovom razumijevanju kako je ranjiv i koje su mogućnosti na raspolaganju za istraživanje.“

U mnogim istraživanjima, u svim istraživanjima koja su sadržana u Izvještaju Stella, a uklapa se i u moje iskustvo na Etsyju, jednom od, najjačih razmišljanja ljudi koji to rade na lakši način za to uspoređujući i kontrastne. "Nisam znao da to funkcionira na taj način." Tada uvijek postoji neki drugi, "Kako je to ikad radio?", Što je smiješno dok ne shvatite da je to ozbiljno. To znači, način na koji nisam samo mislila da djeluje na drugi način. Ne mogu ni zamisliti da ne mogu ni zamisliti sliku kako bi to moglo funkcionirati. To bi trebalo biti uznemirujuće. Usput, želim reći da ovo nije usklađivanje. Kao što rekoh, kroz reprezentacije, nužno imamo nepotpune mentalne modele. Ideja nije imati iste mentalne modele, jer su uvijek nepotpuni, jer se stvari uvijek mijenjaju i zato što će biti promašene. Ne želimo da svi imaju isti mentalni model jer tada svi imaju iste slijepe mrlje.

Besprijekorno - povratak na blog blog o kojem sam pisao 2012. godine

"Bezgrešni" su ulozi stolova. Potrebno je, ali nije dovoljno. Možete izgraditi okruženje, kulturu, zagrljaj, neku vrstu organizacije dobrodošlice koja podržava i omogućava ljudima da ispričaju priče u svim neredovitim detaljima, ponekad sramotne detalje, bez straha od odmazde, kako biste zaista mogli napredovati, i u razumijevanju onoga što se događa, taj uvjet možete postaviti i još uvijek ne učiti puno. To nije dovoljno. Potrebno je, ali nije dovoljno. Ono o čemu govorim je puno više napora nego tipični pregledi nakon incidenta. Pravo? Ovdje analitičar, facilitator može pripremiti, surađivati, organizirati, analizirati podatke o ponašanju. Što ljudi kažu, što ljudi rade. Postoji niz podataka koje mogu prosijati kako bi se pripremili za sastanke, grupni i pojedinačni razgovor, koji idu dalje ... Postmortemi nagovještavaju bogatstvo incidenata. Praćenje ovoga zahtijeva mnogo posla.

Uzgred, svi su općenito toliko iscrpljeni nakon stvarno, stresnog pada ili incidenta ili događaja da ponekad sve postane kristalno jasno. To je snaga unatrag, a zato što se čini tako kristalno jasnim, ne čini se produktivnim održavanje ispitivanja, jer mislite da to već sve znate. Drugo je pitanje što su posmrtni sastanci vremenski ograničeni. Konferencijsku sobu imate samo sat ili dva. Svi su stvarno zauzeti, a sat otkucava, pa je ovo izazov za to stvarno dobro, čak i s obzirom na te metode istraživanja.

Drugo pitanje, posebno ako izradite program obuke za olakšavanje pregleda, kao što sam to radio u Etsyju, i dalje se pojavljuju izazovi. Ono što volim nazvati je: "Svatko mora riješiti svoju misteriju" ili "Ne gubite vrijeme na detalje koje već znam." Na crtani način možete razmišljati o tome na ovaj način:

Budući da možda imate samo sat vremena, morate izdvojiti što više učenja. Sva djela su kontekstualna. Vaš zadatak da povećate povrat ulaganja je otkriti, istražiti i obnoviti kontekst u kojem se radi u incidentu, kako rade i kako su ljudi razmišljali iznad crte.

Procjene su kompromisne, a one su kontekstualne.

Na kraju, svi incidenti mogu biti i gori. Površan pogled je pitati: "Što je pošlo po zlu? Kako se slomio? Što ćemo ispraviti? "Ovo su vrlo razumna pitanja. Ako bismo uzeli dublju razinu i mogli bismo se zapitati: "Koje su to stvari koje su se pretvorile u to da nije ni toliko loše koliko bi mogle biti?" Jer na te stvari ne obraćamo pažnju i ne identificiramo ih te stvari, mogli bismo prestati podržavati te stvari.

Možda razlog što to nije bilo gore je taj što se netko zove Lisa, a Lisa zna što zna. Nešto od istraživanja je da stručnjaci mogu vidjeti što tamo nema. Ako ne podržavate Lisa, a ni ne prepoznate da je razlog zašto se nije pogoršalo, jer je Lisa bila tamo. Zaboravite na akcijske stavke kako biste na trenutak popravili nešto. Zamislite svijet u kojem Lisa odlazi na novi posao.

Korisno na strateškoj razini je bolje pitanje. „Kako možemo podržati, ohrabriti, zagovarati i financirati kontinuirani proces razumijevanja u našim sustavima? I doista uzmičete "iznad crte" na održiv način?

Kamo idemo odavde? Imam neke izazove za vas:

  1. Kružite Stella Izvještaj u svojoj tvrtki i započnite dijalog. Čak i ako ste previše zauzeti ili niste u stanju čitati ga sami, dajte to ljudima koji to čine. Pitajte ih što odjekuje. Pitajte ih što nema smisla. Pitajte ih, započnite dijalog.
  2. Pogledajte duboko kako postupate s recenzijama nakon događaja. Najvažnije je da potražite ljude koji su najpoznatiji o neredovitim detaljima kako se posao odvija i pitajte ih: „Kakvu vrijednost mislite da uistinu imaju naše trenutne preglede nakon incidenta?“ I poslušajte.
  3. Preuzejte odgovornost da učite više i brže od nezgoda od svojih konkurenata. Ili gradite organizaciju koja uči ili gubite onu tko jest.
  4. Ljudske performanse trebamo shvatiti ozbiljno. Ova se rasprava događa. To se događa u nuklearnoj energiji. To se događa u medicini To se događa u zrakoplovstvu, kontroli zračnog prometa, u gašenju požara.

Sve veći značaj naših sustava, sve veći potencijal za ekonomsku, političku i ljudsku štetu ako ne rade ispravno, a mnoštvo ovisnosti i neizvjesnost povezane s tim me jako brinu. Ako pogledate svoj vlastiti sustav i njegove probleme, mislim da ćete se složiti da moramo učiniti puno više od priznanja ovog problema. Moramo je zagrliti. U čemu mi možete pomoći, širite ove informacije, ove ideje i moju prezentaciju s DevOps Enterprise Summit San Francisco 2017.

Želim to čuti od vas. Što je odjeknulo s vama u vezi s tim? Što nije bilo? S kojim se izazovima susrećete u svom tijelu? Dođi mi reci. Na Twitteru sam

Izvorno objavljeno na itrevolution.com 30. travnja 2018. godine.