En offentlig obduktion av ett avbrott
Många saker i livet har ett allmänt accepterat “konservativt” tillvägagångssätt och ett allmänt accepterat “riskfyllt” tillvägagångssätt som bör undvikas, åtminstone enligt den allmänna uppfattningen. Inom investeringar ser vi till exempel ofta köp av statsobligationer eller kommunobligationer som låg risk och investeringar i aktier (företagsaktier) som hög risk – men de statistiska siffrorna säger oss att detta är bakvänt och att nästan alla förlorar pengar på obligationer och tjänar pengar på aktier. Allmän “visdom” visar sig, när den sätts på prov, vara grundad enbart på känslor som i sin tur bygger på missuppfattningar, och det mest riskfyllda inom investeringar är att låta känslor styra investeringsstrategier.
På liknande sätt är, vid affärsmässiga riskbedömningar, det vanliga tillvägagångssättet att känna en känslomässig reaktion på fara, och detta utlöser en panikreaktion och gör det till en stark tendens hos människor att överkompensera för upplevd risk. Vi ser detta ofta hos små företag vars IT-infrastruktur genererar mycket lite intäkter eller inte är särskilt avgörande för den kortsiktiga verksamheten, som spenderar stora summor pengar för att skydda sig mot en risk som endast delvis är upplevd och mycket dåligt formulerad. Detta blir ofta så dramatiskt att begränsningsprocessen ofta hanteras känslomässigt istället för intellektuellt, och vi finner regelbundet företag som implementerar dåliga systemdesigner som faktiskt ökar risken snarare än minskar den, samtidigt som de spenderar mycket stora summor pengar och sedan, eftersom risken mestadels var inbillad, kallar projektet en framgång baserat på lager efter lager av missuppfattningar: inbillad risk, inbillad riskbegränsning och inbillad framgång.
I det nyligen förflutna fick jag vara delaktig i en fullständig katastrof för ett litet företag. Katastrofen träffade nästan ett “värsta tänkbara scenario.” Inte riktigt, men mycket nära. Den känslomässiga reaktionen vid tidpunkten för katastrofen var stark, och när katastrofen väl var i full gång var det vanligt att nästan alla konstaterade och upprepade att katastrofplaneringen hade varit bristfällig och att problemet borde ha kunnat undvikas. Detta är mycket vanligt i alla katastrofsituationer, människor känner att det alltid borde finnas någon att skylla på och att det borde finnas nollriskscenarier om vi gör vårt jobb korrekt, men detta är helt felaktigt.
Som tur var genomförde vi en fullständig obduktion, som man bör göra efter varje verklig katastrof, för att fastställa vad som hade gått fel, vad som hade gått rätt, hur vi kunde åtgärda processer och beslut som hade misslyckats och hur vi kunde bevara dem som hade skyddat oss. Vanligtvis, när någon stor systemhändelse inträffar, får jag inte tala om den offentligt. Men då och då gör jag det. Det är så vanligt att reagera på en katastrof, på vilken katastrof som helst, och tänka “åh, om vi bara hade….”. Men man måste granska katastrofen. Det finns så mycket att lära om processer och om oss själva.
Först lite bakgrund. En kritisk server, som körs i ett datacenter på företagsnivå, hyser flera nyckelarbetsbelastningar som är mycket viktiga för flera företag. Den är drygt fyra år gammal och har körts i isolering i många år. Äldre servrar är alltid lite oroande när de närmar sig slutet av sin livslängd. Fyra år är knappast slutet på livslängden för en server i företagsklass, men den var definitivt inte heller ung.
Detta var en enskild server utan någon failover-mekanism. Säkerhetskopiering hanterades externt till en säkerhetskopieringsapparat på företagsnivå i samma datacenter. En mycket enkel systemdesign
Jag kommer inte att ta med alla interna detaljer eftersom varje situation som denna har många komplexiteter i planering och i drift. Dessa lämnas bäst till en intern obduktionsprocess.
När servern havererade gjorde den det spektakulärt. Felet var så fullständigt att vi inte kunde diagnostisera det på distans, inte ens med hjälp av teknikerna på plats i datacentret. Inte ens serverleverantören kunde diagnostisera problemet. Detta försatte oss i en svår situation – hur hanterar man en död server när hårdvaran inte tillförlitligt kan repareras. Vi kunde byta diskar, vi kunde byta nätaggregat, vi kunde byta moderkort. Vem visste vad som kunde vara lösningen.
Till slut blev beslutet att servern liksom säkerhetskopieringssystemet måste flyttas tillbaka till huvudkontoret där de kunde triageras på plats och med maximala resurser. Till slut visade det sig att systemet kunde repareras och inga data gick förlorade. Beslutet att avhålla sig från att gå över till säkerhetskopia fattades eftersom dataåterställning var viktigare än systemtillgänglighet.
När allt var sagt och gjort var katastrofen en av de mest fullständiga som kunde tänkas utan att uppleva faktisk dataförlust. Avbrottet pågick i många dagar och en hel del reservutrustning, arbetstimmar och försök till reparationer togs i anspråk. Processen var utmattande, men när den var slutförd var systemet framgångsrikt återställt.
Det långa avbrottet och känslan av kaos medan saker diagnostiserades och reparationsförsök gjordes ledde till en övergripande känsla av misslyckande. Folk började säga det och detta leder till att folk tror på det. Under en nödsituationsrespons är det mycket lätt att bli överdrivet känslosam, särskilt när det finns mycket lite sömn att tillgå.
Men när vi tog ett steg tillbaka och granskade det slutliga utfallet, var det vi fann något som överraskade nästan alla: triageoperationen, och den inledande riskplaneringen, hade varit framgångsrik.
Det kaos som uppstår under en triage får ofta saker att kännas mycket värre än de egentligen är. Men vår triagehantering hade varit utmärkt. Triage betyder inte magi och det finns en upptäcktsfas och en reaktionsfas. När vi analyserade händelseförloppet och lade ut det i en tidslinje fann vi att vi hade agerat så väl att det knappast fanns någon möjlig punkt där vi kunde ha förkortat tidsramen. Vi hade utfört god diagnostik, engagerat rätt parter vid rätt tidpunkt, satt delar i logistisk rörelse så snart som möjligt, och det mesta av det som tycktes ha varit febril, bortkastad tid var i själva verket “utfyllnadstid” där vi försökte avgöra om ytterligare alternativ fanns eller om misstag hade begåtts medan vi väntade på de delar som behövdes för reparation. Detta fick saker att kännas mycket värre än de egentligen var, men allt detta var den korrekta uppsättning åtgärder som borde ha vidtagits.
Ur triage- och återställningsperspektivet hade processen gått felfritt, även om avbrottet i slutändan kom att ta många dagar. När väl katastrofen hade inträffat och hade inträffat i den otroliga utsträckning som den gjorde, gick återställningen faktiskt otroligt smidigt. Ingenting är absolut perfekt, men det gick extremt bra. Maskineriet fungerade som avsett.
Den långt mer överraskande delen var att granska katastrofens påverkan. Det finns två sätt att betrakta detta. Det ena är det klokare, “utan facit”-tillvägagångssättet. Här tittar vi på katastrofen, katastrofens påverkanskostnad, begränsningskostnaden och tillämpar sannolikheten för att katastrofen skulle ha inträffat och avgör om rätt planeringsbeslut hade fattats. Detta är svårt att beräkna eftersom riskfaktorn alltid är en uppskattad siffra, men man kan normalt komma tillräckligt nära för att veta hur god ens planering var. Det andra sättet är facit-i-efterhand-tillvägagångssättet – tänk om vi visste att denna katastrof skulle inträffa, vad skulle vi ha gjort för att förhindra den? Det är uppenbart fullständigt orättvist att ta bort riskfaktorn och se vad katastrofen kostade i råa siffror, eftersom vi inte kan veta vad som kommer att gå fel och planera enbart för den enda möjligheten eller spendera obegränsat med pengar på något som vi faktiskt inte vet om det kommer att inträffa. Företag gör ofta misstaget att använda den senare beräkningen och skylla på planerare för att de inte hade perfekt framsynthet.
I detta fall var vi någorlunda säkra på att vi hade tagit rätt risk från början. Systemet hade varit på plats under större delen av ett decennium med noll driftstopp. Den totala systemkostnaden hade varit låg, triagekostnaden hade varit måttlig och händelsen hade varit extremt osannolik. Att vi, med hänsyn till riskfaktorn, hade gjort en god planering var i allmänhet inte överraskande för någon.
Det som var överraskande är att när vi körde beräkningarna utan riskfaktorn, så skulle vi, även om vi hade vetat att systemet skulle haverera och att ett utdraget avbrott skulle inträffa, ändå ha fattat samma beslut! Detta var rent ut sagt chockerande. Kostnaden för det utdragna avbrottet var faktiskt lägre än kostnaden för den utrustning, hosting och arbetskraft som hade behövts för att bygga ett funktionellt riskbegränsningssystem – i detta fall skulle det ha inneburit att ha en fullt redundant server i datacentret tillsammans med den som var i produktion. I själva verket hade kostnadsbesparingen genom att acceptera detta utdragna avbrott sparat nära tiotusen dollar!
Detta visade sig vara ett extremfall där avbrottet var förödande illa, svårt att förutsäga, omöjligt att reparera snabbt och ändå resulterade i massiva långsiktiga kostnadsbesparingar, men lärdomen är en viktig sådan. Det finns så mycket känslomässigt bagage som följer med varje katastrof, och om vi inte gör ordentlig obduktionsanalys och arbetar för att avlägsna känslomässiga reaktioner från vårt beslutsfattande, kommer vi ofta att hoppa till storskaliga ekonomiska förluster eller att placera skuld felaktigt, även när saker har gått väl. Många företag skulle ha betraktat denna katastrof och reagerat genom att spendera dramatiskt för mycket för att förhindra att samma osannolika händelse skulle upprepas i framtiden, även när de hade matematiken framför sig som talade om för dem att det skulle slösa pengar även om den händelsen återkom!
Det fanns andra lärdomar att dra av detta avbrott. Vi lärde oss var kommunikationen inte hade varit idealisk, var rätt personer inte alltid befann sig i rätt beslutsfattande position, var kundkommunikationen inte var vad den borde ha varit, kunden hade inte informerat oss om förändringar på rätt sätt och mer därtill. Men i stort var lärdomarna att vi hade planerat korrekt, och att vår triageoperation hade fungerat korrekt och att vi hade sparat kunden flera tusen dollar jämfört med vad som hade framstått som det “konservativa” tillvägagångssättet, och att vi genom att göra en god obduktion lyckades hindra dem, och oss, från att överreagera och förvandla ett gott beslut till ett dåligt framöver. Utan en obduktion hade vi mycket sannolikt kunnat ändra våra goda processer i tron att de hade varit dåliga.
De avgörande lärdomarna här som jag vill förmedla till dig, läsaren, är att obduktioner är ett kritiskt steg i varje katastrof, att traditionellt konservativt tänkande ofta är mycket riskfyllt och att känslomässiga reaktioner på risk ofta orsakar ekonomiska katastrofer större än de tekniska som de söker skydda mot.