John Allspaw, soustanovitelj, Laboratoriji za prilagodljive zmogljivosti

Kako vaši sistemi delujejo iz dneva v dan

Najprej malo o Johnu Allspawu, soustanovitelju laboratorij za prilagodljivo zmogljivost in nekdanjemu glavnemu tehnološkemu direktorju podjetja Etsy.

Kot inženirski vodja in raziskovalec z več kot 20-letnimi izkušnjami pri gradnji in vodilnih timov, ki se ukvarjajo s programskim in sistemskim inženiringom, je Allspaw v zadnjem desetletju združil vpoglede s človeških faktorjev, kognitivnega sistemskega inženiringa in odpornosti inženiringa na področje programskega inženirstva in operacije.

Tudi avtor dveh knjig, "Umetnost načrtovanja zmogljivosti: Skaliranje spletnih virov" in "Spletne operacije" (O'Reilly Media), Allspaw še naprej prispeva k skupnostim IT in DevOps z govorom in sodelovanjem pri novih, razburljivih raziskavah.

Imeli smo srečo, da smo Johna gostili na vrhu DevOps Enterprise v San Franciscu, kjer se je odpravil na oder, da bi spregovoril o "Kako sistemi delujejo iz dneva v dan." Spodaj smo prepisali ključne vsebine in glavne poudarke njegove predstavitve .

John Allspaw na DOES17 v San Franciscu

John Allspaw

Kako vaši sistemi delujejo iz dneva v dan

Kar želim govoriti, je novo. Drugače je in glede tega čutim zelo, zelo močno.

Za lažjo postavitev mojega diplomskega dela s področja človeških dejavnikov in varnosti sistema je bila »Kompromisi pod pritiskom: Hevristika in opažanja ekip, ki rešujejo izpade na internetnih storitvah«.

Nekateri ste morda slišali za to, kot se imenuje Poročilo Stella.

To poročilo je na visoki ravni rezultat celoletnega projekta konzorcija industrijskih partnerjev. IBM, Etsy in IEX, trgovska družba, trgovska borza na Manhattnu. V tem letu so ljudje iz laboratorija za kognitivne sisteme State University of Ohio, David Woods, Richard Cook in številni drugi ljudje globoko pogledali na incident v vsaki od teh organizacij.

Našli so teh šest tem in so bili skupni vsem.

Zagotovo so rezultati precej pomembni. Tako je bila izvedena raziskava, o kateri si želim, da si jo ogledate vsi.

Tu so moja glavna odvzema poročila:

  1. V tej panogi moramo resno jemati človeške rezultate. Če tega ne storimo, bomo še naprej videli krhke sisteme s čedalje večjimi vplivi na naša podjetja in družbo.
  2. To lahko storimo tako, da pogledamo incidente, ki presegajo trenutno dogajanje v postmortemih ali pregledih po nesreči ali po pregledih.
  3. Obstajajo metode in pristopi preučevanja odpornosti na drugih področjih, vendar jih je treba resnično zavezati. To je potrebno in težko, vendar se bo izkazalo kot konkurenčna prednost za podjetja, ki to dobro opravljajo.

Najprej želim začeti z malo osnovne točke, malo besedišča, ki bo pomembno, ko vas bom skozi to vodil. Opisal bom neko sliko, reprezentacijo, kot mentalni model vaših organizacij, in imel bo regijo nad črto in regijo pod črto.

Če si predstavljate, kaj smo prikazali tukaj, je to vaš izdelek, storitev, vaš API ali karkoli, kar vaše podjetje dobiva vrednost in daje strankam. V redu? Znotraj je vaša koda. Vidite svojo tehnologijo. Vidite podatke in nekaj različnih načinov njihovega posredovanja, kajne? Verjetno preko interneta ali kakšnega drugega načina. Če pa ostanemo tukaj, mi nihče ne bo verjel, da je to tako, kar imenujemo sistem, ker je v redu, vendar v resnici ni dokončan.

Kaj je v resnici povezano in o čemer se veliko ljudi pogovarja tukaj v skupnosti DevOps Enterprise Summit, so vse stvari, ki jih počnemo, da manipuliramo s tem, kar se dogaja tam, in zato imamo orodja za testiranje. Na voljo imamo orodja za spremljanje. Imamo orodja za uvajanje in vse stvari, ki so nekako ožičene. To so stvari, ki jih uporabljamo. Lahko bi rekli, da je to sistem, saj mnogi od nas preživijo svoj čas osredotočeni na tiste stvari, ki niso znotraj majhnega mehurčka tam, ampak na vse stvari, ki so okoli njega, če pa bi ostali samo pri tem, ne bo mogel videti, kje se dogaja resnično delo.

Kar bomo tukaj naredili, je, da narišemo črto, ki ji rečemo predstavitvena črta, in nato kopljemo malo globlje. Kar vidimo tukaj, ste vi. Vsi ljudje, ki pripravljajo stvari, da jih dodajo v sistem, da spremenijo sistem. Delate arhitekturno uokvirjanje Spremljate. Spremljate, kaj počne, kako to počne in kaj se dogaja z njimi.

Zdaj boste opazili, da ima vsak od teh ljudi miselno predstavo o tem, kaj je ta sistem. Če pogledate nekoliko natančneje, boste videli, da nobeden od njih ni enak. Mimogrede, to je zelo značilno za te vrste vlog. Nihče nima enake predstavitve tistega, kar je pod črto.

Če povzamem, to je naš model sveta in ne vključuje samo stvari, ki se tam izvajajo, ampak vse vas, vrste dejavnosti, ki jih izvajate, kognitivno delo, ki ga opravljate, da ta svet deluje, . Če se s tem nekoliko bolj igramo, na koncu s tovrstnim modelom. Ta model ima linijo predstavitve skozi sredino, vi pa s svetom pod črto komunicirate prek niza predstavitev.

Vaše interakcije niso nikoli same s stvarmi. Pravzaprav ne spreminjate sistemov.

To, kar počnete, je, da komunicirate z zastopanjem in je to nekaj, kar se dogaja spodaj. Te zelene stvari si lahko predstavljate kot zaslone, ki jih gledate čez dan, toda iz teh predstavitev prihajajo edini podatki, ki jih imate o sistemu. So le majhna luknja. Prav?

Pomembno pri tem je, da vse dejavnosti, ki jih izvajate, vse opazovanje, sklepanje, predvidevanje, načrtovanje, popravljanje, vse te stvari je treba izvesti s pomočjo teh predstavitev, tako da obstaja svet nad črto in svet pod črto, in čeprav ti in večinoma govorimo o svetu pod črto, kot da je zelo resničen, kot da je zelo konkreten, kot da je nekaj, kar je tisto, kar je tisto, tu je presenečenje.

Tu je velika stvar - tega nikoli ne vidite.

Ne obstaja. V resničnem smislu ni pod črto, ki se je dejansko lahko dotaknete. Nikoli ne vidite kode teči. Nikoli ne vidite, da sistem dejansko deluje. Te stvari se nikoli ne dotakneš.

To, kar počnete, je, da manipulirate s svetom, ki ga ne morete videti z naborom predstav, in zato morate zgraditi tiste miselne modele, te pojme, razumevanja o tem, kaj se dogaja. To so tiste stvari, ki vodijo to manipulacijo. To ni svet pod črto, ki to počne. Vaša konceptualna sposobnost razumeti stvari, ki so se zgodile v preteklosti, stvari, ki jih počnete zdaj, in zakaj počnete te stvari, kaj je pomembno in zakaj je dejansko pomembno.

Ko enkrat sprejmete to perspektivo, ko odstopite od ideje, da je pod črto stvar, s katero se ukvarjate, in razumete, da resnično delujete nad črto, se vse vrste stvari spremenijo.

To, kar vidite v poročilu Stella in v tem projektu in drugih projektih, s katerimi smo sodelovali, je to stališče in razumete, kaj v resnici pomeni resno jemati zgornji svet. To je velik odmik od veliko tistega, kar ste videli v preteklosti, vendar mislim, da je to plodno smer, ki jo moramo ubrati.

Z drugimi besedami, te kognitivne dejavnosti (glej spodaj) pri posameznikih in skupaj v skupinah navzgor ali navzdol v organizaciji so tisto, kar dejansko deluje. Zdaj sem to podrobno preučeval že kar nekaj časa in lahko vam to povem. Ne deluje tako, kot mislimo.

Nazadnje, za postavitev tega okvira je najpomembnejši del te ideje ta, da se vse to sčasoma spreminja. Je dinamičen proces, ki še poteka. To je enota analize. Ko vzamemo ta okvir, lahko postavimo nekaj vprašanj. Lahko postavimo nekaj vprašanj o tej vrstici, kot je ta.

"Kako v resnici deluje naša programska oprema v primerjavi z opisom v wikiju, dokumentaciji in diagramih? Vemo, da to niso vsestransko, niso vsestransko natančne. "

"Kako se naša programska oprema v resnici zlomi glede na to, kako smo mislili, da se bo zlomila, ko smo zasnovali varovala in odklopnike ter varovala?"

"Kaj naj naredimo, da bo vse to delovalo?"

Vprašanje: Zamislite si svojo organizacijo. Kaj bi se zgodilo, če bi danes ob šesti uri vsa vaša podjetja odstavila roke s tipkovnice? Ne odgovarjajo na nobeni strani. Ne ozirajo se na nobena opozorila. Ne dotikajo se ga nobenega dela, aplikacijske kode ali omrežja ali česar koli. Ste prepričani, da bo vaša storitev po enem dnevu zaživela?

Vprašanje je torej, kako odkriti, kaj se dogaja nad črto. No, obstaja nekaj stvari. Naučimo se lahko iz preučevanja drugih področij z visokim tempom, z visokimi posledicami, in če to storimo, lahko vidimo, da lahko preučujemo incidente. (Opomba: ko rečem "incidenti", mislim na izpade, degradacije, kršitve, nesreče, bližnje izpuste in težave - v bistvu nepredvideni ali nepričakovani dogodki).

Kaj naredi incidente zanimive? No, očitno so izgubljeni vplivi na dohodek in ugled na določeno podjetje. Rad bi navedel še nekaj drugih razlogov, zakaj so incidenti zanimivi. Eno je, da incidenti oblikujejo zasnovo novih komponentnih podsistemov in arhitektur. Z drugimi besedami, včerajšnji incidenti obveščajo arhitekture jutrišnjega dne. Torej, incidenti pomagajo spodbuditi domišljijo o tem, kako izboljšati naše sisteme, in zato mislim, da se incidenti pod pogonom spreminjajo nad črto.

To je stvar To lahko stane resničen denar. Incidenti imajo lahko včasih skoraj tihe ali nevidne učinke, včasih pomembne. Trenutno veliko ljudi cepi monolit v mikro-storitve. Veliko ljudi to naredi, ker zagotavlja nekaj robustnosti, ki je nimate. Kje to dobiš?

Obveščeni ste zaradi incidentov.

Drugi razlog za preučevanje incidentov je, da se ponavadi porodijo nove oblike predpisov, politik, normativov, skladnosti, revidiranja, omejitev itd. Drug način za to je, da včerajšnji incidenti sporočajo pravila jutri, ki vplivajo na osebje , proračuni, načrtovanje, načrti in drugo. Naj navedem primer: SEC je v finančnem trgovanju uvedel Uredbo SCI. SCI je verjetno najbolj celovit in podroben skladni del sodobne programske dobe. SEC je šel in je bil zelo ekspliciten. To imamo kot reakcijo na trenutek nesreče leta 2010 na Knight Capital, BATS IPO, Facebook IPO. Je reakcija na incidente.

Tudi če se vrnete nekoliko dlje, se pogosto navaja, da je PCI DSS nastal, ko sta MasterCard in Visa primerjala zapiske, ugotovila, da sta izgubila približno 750 milijonov dolarjev v 10 letih, zato so incidenti pomembni, in mimogrede, lahko kot Prepričan sem, da je to zelo drag, moteč in neizogibno obremenjujoč albatros za vse vaše organizacije. Tudi incidenti so pomembni na ta način, če pa o incidentih razmišljamo kot o priložnostih, če o incidentih razmišljamo kot o sporočilih, kodiranih sporočilih, ki se pod vrstico pošiljajo nad črto, vaša naloga pa je, da jih dešifrirate, če pomislite na incidente kot stvari, ki aktivno poskušajo pritegniti pozornost na dele sistema, za katere ste mislili, da jih dovolj razumete, vendar jih niste, so to opomniki, da morate nenehno preučevati, kako samozavestni ste, kako vse to deluje.

Če se tega zavzamete, se odpre cel kup stvari. Obstaja priložnost za novo usposabljanje, novo orodje, nove organizacijske strukture, novo dinamiko financiranja in morda vpogled, ki jih vaši konkurenti nimajo.

Incidenti nam pomagajo presoditi delto med tem, kako deluje vaš sistem in kako mislimo, da vaš sistem deluje, in ta delta je skoraj vedno večja, kot si predstavljamo. Rad bi trdil, da je morda drugače, kar ste morda navajeni, in to je to. Incidenti so nenačrtovane naložbe v podjetje, v preživetje vašega podjetja. Izjemno so dragocene priložnosti za razumevanje, kako deluje vaš sistem, katere ranljivosti so pozorne in kakšnih konkurenčnih prednosti ne iščete.

Če razmišljate o incidentih, zažgejo denar, čas, ugled, osebje itd. To so neizogibni stroški. Nekaj ​​zanimivega je pri tej vrsti naložb. Ne nadzorujete velikosti naložbe, zato ostaja vprašanje, kako boste na tej naložbi maksimirali donosnost naložbe?

Ko pogledamo incidente, to so vprašanja, ki jih slišimo, in to je povsem skladno s tistimi, ki jih raziskovalci najdejo v drugih zapletenih sistemih, področjih. Kaj počne? Zakaj to počne? Kaj bo počel? Kako je prišlo v to stanje? Kaj se dogaja? Če bomo naredili Y, nam bo pomagalo ugotoviti, kaj storiti? Se poslabša? Videti je, da je popravljeno, a je tako? Če naredimo X, nam bo preprečil, da bi se poslabšal, ali pa bo poslabšal? Koga bi morali poklicati, ki nam lahko pomaga? Ali je to naše vprašanje ali nas napadajo? To je skladno z mnogimi drugimi področji. Letalstvo, nadzor zračnega prometa, zlasti na področjih, ki so bogata z avtomatizacijo.

Še ena pomembna stvar je, da je začetek vsakega incidenta pogosto negotov ali dvoumen, ali je to tisti, ki nas potopi ali ne. Na začetku incidenta preprosto ne vemo, še posebej, če vsebuje ogromno negotovosti in ogromno nejasnosti. Če je negotovo in dvoumno, pomeni, da smo izčrpali svoje miselne modele. Ne ustrezajo temu, kar vidimo, in pojavljajo se ta vprašanja. Šele zadnji pregled nam bo povedal, ali je bil to dogodek, ki je družbo spustil ali pa je bil torek popoldne.

Incidenti zagotavljajo umerjanje o tem, kako so odločitve usmerjene, o tem, kako je usmerjena pozornost, o tem, kako je usmerjena koordinacija, o tem, kako je usmerjena eskalacija. Vpliv časovnega pritiska, vpliv negotovosti, vpliv dvoumnosti in posledice posledic. Raziskave potrjujejo te priložnosti.

"Na incidente bi morali gledati kot na" rutinske zahtevne dogodke, saj imajo ti težki primeri največ možnosti za odkrivanje elementov strokovnega znanja in s tem povezanih kognitivnih pojavov. "
- Gary Klein, začetnik naravoslovnih raziskav pri odločanju.

Obstaja družina dobro obrabljenih metod, pristopov in tehnik. Kognitivna analiza nalog. Sledenje procesov. Pogovorna analiza. Način kritične odločitve. Kako mislimo, da imajo postmortemi vrednost nekako takole:

Zgodi se incident. Mogoče bo kdo sestavil časovnico. Malo se sestaneva. Mogoče imate predlogo in jo izpolnite, potem pa bo kdo lahko pripravil poročilo ali ne, nato pa boste končno dobili akcijske predmete. Mislimo, da je največja vrednota, morda morda najslabša, tista, kjer sodeluješ v pogovorih in ljudje hodijo po časovni premici in si podoben: "O, moj bog. Vse to vemo. "

Raziskave tega ne izpostavljajo. Raziskava kaže, da če zberemo subjektivne in objektivne podatke iz več krajev, vedenjske podatke, kaj so ljudje povedali, kaj so ljudje naredili, kam pogledali, kakšne poti pri diagnozi so sledile in niso bile plodne? Na podlagi lažjega poročanja se ljudje spustijo v poštev in primerjajo svoje miselne modele, ki so nujno pomanjkljivi. Izdelate lahko različne rezultate, vključno s predmeti, kot so bootcamp, materiali na krovu, novo usposabljanje. Če ustvarite program za usposabljanje voditeljev, lahko dobite povratne informacije. Na podlagi tega, kar se naučite, lahko spremenite načrt, resnično pomembne spremembe.

To vam lahko povem iz neke izkušnje. Z novim inženirjem ali inženirjem ni nič bolj pronicljivega, kot da bi šele začel v svoji karieri, kot da bi bil v sobi z veteranskim inženirjem, ki pozna vse luknje in razlaga stvari, ki jih morda še nikoli niso povedali na glas. Imajo znanje. Lahko narišejo slike in diagrame, ki jih prej niso risali, ker mislijo, da to vedo vsi drugi. Ugani kaj? Ne Največja vrednost je pravzaprav tu, saj je kakovost teh rezultatov odvisna od kakovosti tega, tega ponovnega umerjanja. To je odprtje za ponovno umerjanje miselnih modelov.

Iz poročila Stella "sporoča in ponovno umerja modele ljudi o tem, kako sistem deluje, o njihovem razumevanju, kako je ranljiv in kakšne možnosti so na voljo za raziskovanje."

V številnih raziskavah, v vseh raziskavah, vsebovanih v poročilu Stella, se ujema z mojo izkušnjo tudi pri Etsyju, ki je eden izmed najpomembnejših odsev ljudi, ki to počnejo na lažji način, da to primerjajo in kontrastne. "Nisem vedel, da je tako delovalo." Potem so vedno drugi: "Kako je to sploh kdaj delovalo?" To pomeni, da sem si mislil, da deluje drugače. Zdaj si sploh ne predstavljam, niti v mislih si ne morem narisati slike, kako bi to lahko delovalo. To bi moralo biti bolj moteče. Mimogrede, želim reči, da to ni poravnava. Kot sem rekel, s predstavitvami imamo nujno nepopolne miselne modele. Ideja ni, da bi imeli enake miselne modele, ker so vedno nepopolni, ker se stvari vedno spreminjajo in ker bodo napačne. Ne želimo, da bi vsi imeli isti miselni model, ker so potem vsi enaki slepi.

Brez krivde - vrnitev k objavi na blogu, ki sem jo napisal leta 2012

"Brez krivde" so vložki v mize. Potrebno je, vendar ne zadostuje. Lahko bi zgradili okolje, kulturo, objem, nekakšno prijazno organizacijo, ki podpira in omogoča ljudem, da pripovedujejo zgodbe v vseh zmešanih podrobnostih, včasih neprijetnih podrobnostih, brez strahu pred maščevanjem, da bi lahko resnično napredovali in če razumete, kaj se dogaja, lahko postavite ta pogoj in se še vedno ne učite prav veliko. Ne zadostuje. Potrebno je, vendar ne zadostno. To, o čemer govorim, je veliko več truda kot tipični pregledi po nesreči. Prav? Tu lahko analitik, posrednik pripravi, pripravi, organizira, analizira vedenjske podatke. Kaj pravijo ljudje, kaj počnejo ljudje. Obstajajo številni podatki, ki jih lahko presejejo, da se pripravijo na sestanke, skupinske poroke ali razprave medsebojno, ki presegajo ... Postmortems namigujejo na bogastvo incidentov. Spremljanje tega vprašanja zahteva veliko dela.

Mimogrede, vsi so na splošno tako izčrpani po resnično stresnem izpadu ali incidentu ali dogodku, da včasih vse postane kristalno jasno. To je moč vpogleda v preteklost, in ker se zdi tako kristalno jasno, se ne zdi produktivno voditi razgovora, ker mislite, da že vse veste. Druga težava je, da tudi obdukcijske sestanke omejuje čas. Konferenčno sobo imate samo uro ali dve. Vsi so resnično zasedeni in ura tika, tako da je to izziv, če to res dobro naredimo, tudi glede na te raziskovalne metode.

Druga težava, še posebej, če sestavite program usposabljanja za olajšanje poročanja, kot sem ga naredil v Etsyju, se še vedno pojavljajo izzivi. Všeč mi je, da sem rekel: "Vsakdo mora rešiti svojo skrivnost" ali "Ne zapravljaj časa za podrobnosti, ki jih že poznam." Na karikaturističen način lahko razmišljaš o tem tako:

Ker imate morda le eno uro, morate izvleči čim več učenja. Vse delo je kontekstualno. Vaša naloga, da povečate donosnost naložbe, je odkrivanje, raziskovanje in obnova konteksta, v katerem je delo opravljeno v incidentu, kako delo in kako so ljudje razmišljali nad črto.

Ocene so kompromisne in tiste kontekstualne.

V zaključku so lahko vsi incidenti hujši. Površen pogled je vprašati: "Kaj je šlo narobe? Kako se je zlomilo? Kaj popravimo? "To so zelo razumna vprašanja. Če bi zavzeli globljo raven in bi se lahko vprašali: "Kaj so stvari, ki so se spremenile v to, da ni niti približno tako slabo, kot bi lahko bilo?" Ker na te stvari nismo pozorni in jih ne identificiramo te stvari, jih lahko nehamo podpirati.

Mogoče je razlog, da se ni poslabšalo, to, da je nekdo poklical Lizo in Lisa pozna njene stvari. Nekaj ​​iz raziskav je, da strokovnjaki lahko vidijo, česar tam ni. Če ne podpiraš Lise in sploh ne ugotoviš, da je razlog, da se ni poslabšalo, to, da je bila Lisa tam. Pozabite na akcijske predmete, da za trenutek popravite nekaj. Predstavljajte si svet, v katerem se Lisa odpravi na novo službo.

Koristno na strateški ravni je boljše vprašanje. „Kako lahko podpiramo, spodbujamo, zagovarjamo in financiramo nenehen proces razumevanja v naših sistemih? In res trajnostno prevzamete »nad črto«?

Kam gremo od tu? Za vas imam nekaj izzivov:

  1. V svojem podjetju obkrožite poročilo Stella in začnite dialog. Tudi če ste prezaposleni ali niste sposobni sami prebrati, ga dajte drugim ljudem. Vprašajte jih, kaj odmeva. Vprašajte jih, kaj nima smisla. Vprašajte jih, začnite dialog.
  2. Poglobljeno poglejte, kako ravnate s pregledi po dogodkih. Najpomembneje je, da poiščite ljudi, ki so najbolj seznanjeni z zapletenimi podrobnostmi, kako poteka delo, in jih vprašajte: "Kakšno vrednost mislite, da imajo resnični pregledi po incidentu resnično?" In poslušajte.
  3. Prevzemite odgovornost, da se iz incidentov naučite več in hitreje kot vaši konkurenti. Ali gradite učno organizacijo ali izgubljate nekoga, ki je.
  4. Ljudsko uspešnost moramo jemati resno. Ta razprava se dogaja. Zgodi se v jedrski energiji. Dogaja se v medicini. To se dogaja v letalstvu, nadzoru zračnega prometa, v gasilstvu.

Vse večji pomen naših sistemov, vse večji potencial za gospodarsko, politično in človeško škodo, kadar ne delujejo pravilno, in širjenje odvisnosti in s tem povezana negotovost me zelo skrbijo. Če pogledate na svoj sistem in njegove težave, mislim, da se boste strinjali, da moramo narediti veliko več, kot da priznamo to težavo. Moramo ga sprejeti. Kaj mi lahko pomagate, prosim, razširite te informacije, te ideje in mojo predstavitev z DevOps Enterprise Summit San Francisco 2017.

Želim slišati od vas. Kaj je odmevalo pri vas glede tega? Kaj ni bilo? S katerimi izzivi se pri teh organih srečujete? Pridi, povej mi. Na Twitterju sem.

Prvotno objavljeno na itrevolution.com 30. aprila 2018.