Et offentlig postmortem av et driftsavbrudd
Mange ting i livet har en allment akseptert “konservativ” tilnærming og en allment akseptert “risikofylt” tilnærming som bør unngås, i alle fall ifølge populær oppfatning. I investeringer ser vi for eksempel ofte på kjøp av statsobligasjoner eller kommunalobligasjoner som lav risiko og investering i aksjer (bedriftsaksjer) som høy risiko – men de statistiske tallene forteller oss at dette er bakvendt, og at nesten alle taper penger på obligasjoner og tjener penger på aksjer. Vanlig “visdom”, når den settes på prøve, viser seg å være basert rent på emosjoner som igjen er basert på misoppfatninger, og det risikofylte i investeringer er å bruke emosjoner til å drive investeringsstrategier.
På samme måte, med forretningsrisikovurderinger, er den vanlige tilnærmingen å føle en emosjonell respons på fare, noe som utløser en panikkrespons og gjør det til en sterk tendens for folk til å overkompensere for opplevd risiko. Vi ser dette ofte hos små selskaper hvis IT-infrastruktur genererer svært lite inntekt eller ikke er særlig avgjørende for kortsiktig drift, men som bruker store summer for å beskytte mot en risiko som bare er delvis opplevd og svært dårlig artikulert. Dette blir ofte så dramatisk at avbøtingsprosessen håndteres emosjonelt fremfor intellektuelt, og vi finner jevnlig selskaper som implementerer dårlige systemdesign som faktisk øker risikoen fremfor å redusere den, mens de bruker svært store summer, og siden risikoen for det meste var imaginær, kaller prosjektet en suksess basert på lag etter lag av misoppfatninger: imaginær risiko, imaginær risikoreduksjon og imaginær suksess.
I den nære fortid fikk jeg anledning til å være involvert i en fullstendig katastrofe for en liten bedrift. Katastrofen traff det som var nesten et “verst tenkelig scenario.” Ikke helt, men svært nær. Den emosjonelle responsen på katastrofen var sterk, og når katastrofen var fullt i gang var det vanlig at nesten alle sa og gjentok at katastrofeplanen hadde vært mangelfull og at problemet burde ha vært unngått. Dette er svært vanlig i enhver katastrofesituasjon – mennesker føler at det alltid bør være noen å skylde på og at det bør finnes null-risiko-scenarioer om vi gjør jobben vår riktig, men dette er fullstendig feil.
Heldigvis gjennomførte vi et fullstendig postmortem, slik man bør gjøre etter enhver virkelig katastrofe, for å fastslå hva som hadde gått galt, hva som hadde gått riktig, hvordan vi kunne rette opp prosesser og beslutninger som hadde sviktet, og hvordan vi kunne opprettholde de som hadde beskyttet oss. Typisk, når noe stort systemhendelse inntreffer, får jeg ikke snakke om det offentlig. Men av og til gjør jeg det. Det er så vanlig å reagere på en katastrofe, på enhver katastrofe, og tenke “åh, om vi bare hadde…”. Men du må undersøke katastrofen. Det er så mye å lære om prosesser og oss selv.
Først litt bakgrunn. En kritisk server som kjører i et enterprise-datasenter huser flere viktige arbeidsbelastninger som er svært viktige for flere selskaper. Den er litt over fire år gammel og har kjørt isolert i mange år. Eldre servere er alltid litt bekymringsfulle når de nærmer seg slutten av levetiden. Fire år er knapt nok slutten av levetiden for en enterprise-klasse server, men den var definitivt ikke ung heller.
Dette var en enkelt server uten noen failover-mekanisme. Sikkerhetskopiering ble håndtert eksternt til et enterprise-sikkerhetskopieringsapparat i det samme datasenteret. Et svært enkelt systemdesign.
Jeg vil ikke inkludere alle interne detaljer, da enhver slik situasjon har mange kompleksiteter i planlegging og drift. De er best overlatt til en intern postmortem-prosess.
Da serveren sviktet, sviktet den spektakulært. Feilen var så fullstendig at vi ikke var i stand til å diagnostisere den eksternt, selv med hjelp fra teknikerne på stedet i datasenteret. Selv serverleverandøren var ute av stand til å diagnostisere problemet. Dette satte oss i en vanskelig posisjon – hvordan håndterer du en død server når maskinvaren ikke pålitelig kan repareres? Vi kunne bytte ut stasjoner, vi kunne bytte ut strømforsyninger, vi kunne bytte ut hovedkortet. Hvem visste hva som kunne være løsningen.
Til slutt ble beslutningen tatt at serveren samt sikkerhetskopieringssystemet måtte flyttes tilbake til hovedkontoret der de kunne triageres personlig og med maksimale ressurser. Til slutt viste det seg at systemet kunne repareres og ingen data gikk tapt. Beslutningen om å avstå fra å gå til sikkerhetskopiering ble tatt ettersom datagjenoppretting var viktigere enn systemtilgjengelighet.
Når alt kom til alt var katastrofen en av de mest fullstendige som kunne tenkes uten å oppleve faktisk datatap. Driftsavbruddet varte i mange dager, og mye reserveutstyr, arbeidstimer og reparasjonsforsøk ble brukt. Prosessen var utmattende, men da den var fullført ble systemet gjenopprettet vellykket.
Det lange driftsavbruddet og følelsen av kaos mens ting ble diagnostisert og reparasjonsforsøk ble gjort, førte til en generell følelse av fiasko. Folk begynte å si det, og dette fører til at folk tror det. Under en nødresponstilstand er det svært lett å bli overdrevent emosjonell, spesielt når det er svært lite søvn å få.
Men da vi tok et steg tilbake og så på det endelige utfallet, overrasket det vi fant nesten alle: triageoperasjonen, og den opprinnelige risikoplanleggingen hadde vært vellykket.
Kaoset som skjer under en triage gjør ofte at ting føles mye verre enn de egentlig er. Men vår triasehåndtering hadde vært fremragende. Triage betyr ikke magi – det finnes en oppdagelsesfase og en reaksjonsfase. Da vi analyserte hendelsesforløpet og la det ut i en tidslinje, fant vi at vi hadde handlet så godt at det nesten ikke fantes noe sted der vi kunne ha forkortet tidsrammen. Vi hadde gjort god diagnostikk, engasjert de rette partene på rett tidspunkt, satt deler i logistisk bevegelse så tidlig som mulig, og det meste av det som hadde fremstått som frenetisk, bortkastet tid var faktisk “fyllertid” der vi forsøkte å fastslå om ytterligere alternativer fantes eller feil hadde blitt gjort mens vi ventet på de nødvendige delene for reparasjon. Dette fikk ting til å føles mye verre enn de egentlig var, men alt dette var det riktige settet av handlinger å ha tatt.
Fra triage- og gjenopprettingsperspektivet hadde prosessen gått plettfritt selv om driftsavbruddet endte opp med å vare mange dager. Når katastrofen hadde inntruffet og hadde skjedd i den utrolige utstrekningen den gjorde, gikk gjenopprettingen faktisk utrolig jevnt. Ingenting er absolutt perfekt, men det gikk ekstremt bra. Maskineriet fungerte som tiltenkt.
Den langt mer overraskende delen var å se på katastrofens innvirkning. Det er to måter å se på dette. Den ene er den klokere: “ingen etterpåklokskapstilnærmingen”. Her ser vi på katastrofen, den beregnede kostnaden for katastrofen, avbøtingskostnaden og anvender sannsynligheten for at katastrofen ville ha inntruffet, og fastslår om den riktige planleggingsbeslutningen ble tatt. Dette er vanskelig å beregne fordi risikofaktoren alltid er et anslått tall, men du kan normalt få det nøyaktig nok til å vite hvor god planleggingen din var. Den andre måten er etterpåklokskapstilnærmingen – hva om vi visste at denne katastrofen kom til å skje, hva ville vi ha gjort for å forhindre den? Det er åpenbart fullstendig urettferdig å fjerne risikofaktoren og se hva katastrofen kostet i rå tall, fordi vi ikke kan vite hva som kommer til å gå galt og planlegge bare for den ene muligheten, eller bruke ubegrenset med penger på noe vi ikke faktisk vet om vil skje. Selskaper gjør ofte feilen å bruke den siste beregningen og skylde på planleggere for ikke å ha hatt perfekt fremsyn.
I dette tilfellet var vi rimelig sikre på at vi hadde tatt det riktige valget fra starten. Systemet hadde vært på plass i det meste av et tiår uten driftsavbrudd. Den totale systemkostnaden hadde vært lav, triasgekostnaden hadde vært moderat og hendelsen hadde vært svært usannsynlig. At vi hadde gjort god planlegging når risikofaktoren ble vurdert, overrasket generelt ikke noen.
Det som overrasket er at da vi kjørte beregningene uten risikofaktoren, selv om vi hadde visst at systemet ville svikte og at et utvidet driftsavbrudd ville finne sted, ville vi fortsatt ha tatt den samme beslutningen! Dette var rett og slett sjokkerende. Kostnaden for det utvidede driftsavbruddet var faktisk lavere enn kostnaden for det nødvendige utstyret, driftshosting og arbeidskraft for å ha bygget et funksjonelt risikoreduksjonssystem – i dette tilfellet ville det ha betydd å ha en fullt redundant server i datasenteret med den som var i produksjon. Faktisk hadde kostnadsbesparelsen ved å akseptere dette utvidede driftsavbruddet spart nærmere ti tusen dollar!
Dette viste seg å være et ekstremt tilfelle der driftsavbruddet var ødeleggende dårlig, vanskelig å forutsi, umulig å reparere raskt, og likevel resulterte i massive langsiktige kostnadsbesparelser – men leksjonen er en viktig en. Det er så mye emosjonelt baggasje som følger med enhver katastrofe; hvis vi ikke gjør skikkelig postmortem-analyse og arbeider for å fjerne emosjonelle responser fra vår beslutningstaking, vil vi ofte hoppe til stor finansiell tap eller plassere skyld feil, selv når ting har gått bra. Mange selskaper ville ha sett på denne katastrofen og reagert ved å bruke dramatisk mye for å forhindre at den samme usannsynlige hendelsen gjentok seg i fremtiden, selv om de hadde matematikken foran seg som fortalte dem at å gjøre det ville sløse bort penger selv om hendelsen gjentok seg!
Det var andre leksjoner å lære av dette driftsavbruddet. Vi lærte hvor kommunikasjonen ikke hadde vært ideell, hvor de rette personene ikke alltid var i den rette beslutningsposisjonen, hvor kundekommunikasjonen ikke var hva den burde ha vært, at kunden ikke hadde informert oss om endringer på riktig måte, og mer. Men store sett sett under ett var leksjonene at vi hadde planlagt riktig, at vår triageoperasjon hadde fungert riktig og at vi hadde spart kunden flere tusen dollar over det som ville ha fremstått som den “konservative” tilnærmingen, og ved å gjøre et godt postmortem klarte vi å holde dem, og oss, fra å overreagere og gjøre en god beslutning til en dårlig en fremover. Uten et postmortem ville vi svært sannsynligvis ha endret våre gode prosesser i den tro at de hadde vært dårlige.
De viktigste lærdommene jeg ønsker å formidle til deg, leseren, er at postmortems er et kritisk steg i enhver katastrofe, at tradisjonell konservativ tenkning ofte er svært risikofylt, og at emosjonelle reaksjoner på risiko ofte forårsaker finansielle katastrofer som er større enn de tekniske katastrofene de søker å beskytte mot.