Förklaringen till Avsaknaden av Storskaliga Studier inom IT

IT-yrkesmän efterfrågar dem varje dag och ändå existerar de inte – storskaliga risk- och prestandastudier för IT-hårdvara och -mjukvara. Detta omfattar ett brett spektrum av möjligheter, men vanliga exempel är felfrekvenser mellan olika servermodeller, hårddiskar, operativsystem, RAID-arraytyper, stationära datorer, bärbara datorer, you name it. Och ändå, oavsett den höga efterfrågan på sådana data, finns inga tillgängliga. Hur kan det komma sig.
Alla fall är förstås inte likadana, men på det stora hela är det tre verkligt betydande faktorer som spelar in och håller den här typen av data borta från fältet. Dessa är den höga kostnaden för att genomföra en studie, den långa tidsperiod som krävs för en studie och avsaknaden av incitament att ta fram och/eller dela dessa data med andra företag.
Kostnaden är överlägset den största faktorn. Om kostnaden för storskaliga studier kunde övervinnas skulle lösningar kunna hittas för alla övriga faktorer. Men dessvärre är det storskaliga studiens natur att den kommer att vara kostsam. Som exempel kan vi titta på servrars tillförlitlighetsfrekvenser.
För att fastställa felfrekvenserna för en server behöver vi ett stort antal servrar för att kunna samla in dessa data. Detta kan tyckas vara ett extremt exempel, men servrars felfrekvenser är en av de allra mest efterfrågade siffrorna i storskaliga studier, och därför är exemplet viktigt. Vi skulle kanske behöva ett par hundra servrar för en mycket liten studie, men för att få statistiskt signifikanta data skulle vi sannolikt behöva tusentals servrar. Om vi antar att en enskild server kostar femtusen dollar, vilket skulle vara en relativt enkel instegsserver, talar vi med lätthet om utrustning för tjugofem miljoner dollar! Och det räcker bara till att göra ett något småskaligt test (endast femtusen servrar) av en ganska billig enhet. Om vi skulle tala om företagsservrar skulle vi med lätthet komma upp i trettio- eller till och med femtiotusen dollar per server, vilket driver upp kostnaden ända till en kvarts miljard dollar.
Den kostnaden gäller förstås för att testa en enda konfiguration av en enda servermodell. För att en studie ska vara meningsfull skulle vi förmodligen behöva många olika servermodeller. Kanske flera från varje leverantör för att jämföra olika serier och funktioner. Kanske många olika leverantörer. Det är lätt att se hur snabbt kostnaden för en studie blir omöjligt stor.
Detta är dock bara början på kostnaden. För att göra en bra studie kommer det att krävas noggrant kontrollerade miljöer i nivå med de bästa datacentren för att i möjligaste mån isolera miljörelaterade faktorer. Detta innebär mycket tillförlitlig el, kylning, luftflöde, fuktkontroll samt vibrations- och dammkontroll. Bra anläggningar av detta slag är mycket dyra och är anledningen till att många företag inte betalar för dem, inte ens för värdefulla produktionsarbetslaster. I en stor studie skulle denna kostnad med lätthet kunna överstiga kostnaden för själva utrustningen under studiens gång.
Sedan måste vi förstås ta itu med behovet av särskilda sensorer och tester. Vad utgör egentligen ett fel? Även i produktionssystem råder det ofta oenighet om detta. Är en hårddisk som fallerar i en array ett fel, även om själva arrayen inte fallerar? Är prediktivt fel ett fel? Om man hanterar diskfel i en studie, hur tar man hänsyn till mänskliga komponenter såsom diskbyte, som kanske inte utförs på ett enhetligt sätt? Det finns sätt att hantera detta, men de tillför komplexitet och får studierna att skeva bort från verkliga data mot konstruerade data avsedda för en studie. Att fastställa studieriktlinjer som är tillämpliga och användbara för slutanvändare är mycket svårare än det verkar.
Och den största kostnaden, manuellt arbete. Att upprätthålla en miljö för en stor studie kommer att kräva mänskligt kapital som kan motsvara kostnaden för själva studien. Det krävs ett stort antal människor för att underhålla en studiemiljö, genomföra själva studien, övervaka den och samla in data. Allt som allt är kostnaderna i allmänhet helt enkelt omöjliga att bära.
Vi skulle förstås kunna skala ner testet kraftigt, köra endast en handfull servrar och bara två eller tre modeller, men testets värde sjunker då snabbt och riskerar att utmynna i resultat som ingen kan använda, samtidigt som en stor summa pengar ändå har spenderats.
Det andra oöverstigliga problemet är tid. De flesta saker behöver testas för felfrekvenser över tid, och eftersom utrustning inom IT i allmänhet är konstruerad för att fungera tillförlitligt i decennier kräver insamling av data om felfrekvenser många års arbete. Mean Time to Failure-siffror har bara ett begränsat värde; Mean Time Between Failures samt feltyper, felmoder och statistik kring dessa fel är mycket viktiga för att en studie ska vara användbar. Vad detta innebär är att en studie för att vara verkligt användbar måste pågå under mycket lång tid, vilket skapar allt större kostnader.
Men det är inte det största problemet. Den långt större frågan är att även om en studie hade tillräckligt med tid för att generera användbara felsiffror – och även om dessa siffror kom ut “live” allteftersom de inträffade – skulle det redan vara för sent. Utrustningen i fråga skulle redan ha börjat åldras och närma sig tiden för utbyte på produktionsmarknaden vid det laget då studien började ge verkligt användbara tidiga resultat. Ofta köps produktionsutrustning bara in för en total livslängd på tre till fem år. Att få resultat ens ett år in i denna period skulle ha föga värde. Och nya produkter kan komma att ersätta dem i studien ännu snabbare än produkterna åldras på naturlig väg, vilket gör studien värdefull endast ur ett historiskt perspektiv utan någon nytta för att avgöra val i en produktionsbeslutssituation – resultaten skulle vara för gamla för att vara användbara vid den tidpunkt då de blev tillgängliga.
Den sista betydande faktorn är avsaknaden av incitament att tillhandahålla befintliga data till dem som behöver dem. Det finns visserligen få datakällor, men ett fåtal existerar, dock är nästan alla ofullständiga och finns till för att stora leverantörer ska mäta sin egen utrustningskvalitet, sina felfrekvenser och liknande. Dessa görs sällan i kontrollerade miljöer och bygger ofta på data insamlade från fältet. I många fall kan dessa data till och med vara privata uppgifter som tillhör kunder och som ändå inte lagligen får delas.
Men leverantörer som samlar in data gör det inte på ett enhetligt, övervakat sätt, så att dela med sig av dessa data skulle kunna vara mycket skadligt för dem, eftersom det inte finns någon garanti för att motsvarande data från deras konkurrenter skulle existera. Okontrollerad statistik av det slaget skulle inte erbjuda någon verklig nytta för marknaden, och inte heller för de leverantörer som har den, så leverantörer har starka incitament att hålla sådana data under tät sekretess.
De sällsynta undantagen är vissa hårdvarustudier från leverantörer som Google och BackBlaze, som har stora mängder hårddiskar av konsumentklass i relativt kontrollerade miljöer och samlar in felfrekvenser för sina egna syften, men som löper liten eller ingen risk att deras egna konkurrenter utnyttjar dessa data, samtidigt som de har ett PR-värde i att göra det och därför då och då släpper en studie om hårdvarutillförlitlighet i begränsad omfattning. Dessa studier slukas glupskt av branschen trots att de i allmänhet innehåller relativt lite värde, eftersom deras data är gamla och insamlade under okända förhållanden och tröskelvärden, och ofta inte innehåller statistiskt meningsfulla data för produktjämförelse, utan i bästa fall innehåller allmänna branschövergripande statistiska trender som på sin höjd är någorlunda användbara för att förutsäga framtida tillförlitlighetsbanor.
De flesta andra företag som är tillräckligt stora för att ha intern tillförlitlighetsstatistik har den för ett snävt urval av utrustning och betraktar denna information som proprietär, som en potentiell risk om den röjs (den skulle avslöja viktiga detaljer om arkitektoniska implementeringar) och som en konkurrensfördel. Av dessa skäl delas de inte.
Jag har faktiskt haft turen att ha varit involverad i och drivit ett storskaligt test av lagringstillförlitlighet som genomfördes på ett tämligen informellt, men mycket värdefullt, sätt på över tiotusen företagsservrar under åtta år, vilket resulterade i åttiotusen serverår av studier – ett sällsynt tillfälle. Men vad som drogs som slutsats i den studien var att även om den var ytterst värdefull, var det den främst visade att vi på en så stor mängd ändå inte kunde observera ett enda fel! Avsaknaden av fel var i sig mycket värdefull. Men vi kunde inte ta fram någon standardstatistik som Mean Time to Failure. För att ta fram den typ av data som folk förväntar sig vet vi att vi skulle ha behövt hundratusentals serverår, som ett minimum, för att få någon form av statistisk signifikans, men vi kan inte med säkerhet påstå att ens det skulle ha räckt. Kanske skulle miljontals serverår ha krävts. Det finns inget sätt att verkligen veta.
Där detta lämnar oss är att storskaliga studier inom IT helt enkelt inte existerar och sannolikt aldrig kommer att existera. När de väl gör det kommer de att vara isolerade och nästan med säkerhet lamslagna av verklighetens nödvändigheter. Det finns inget sätt att tjäna pengar på studier i den skala som krävs för att de ska vara användbara, främst eftersom felfrekvenserna för företagsutrustning är så låga samtidigt som utrustningen är så dyr, så tredjepartsföretag kan aldrig täcka kostnaden för att tillhandahålla denna forskning. Som bransch måste vi acceptera att den här typen av data inte existerar och aktivt söka alternativ till att ha tillgång till sådana data. Det är förvånande att så många i branschen förväntar sig att den här typen av data ska vara tillgänglig när den aldrig har varit det historiskt sett.
Våra enda verkliga alternativ, med tanke på detta vakuum, är att samla in den anekdotiska bevisning som finns (en mycket farlig sak att göra som kräver noggrant övervägande av kontexten) och att tillämpa logik för att bedöma tillvägagångssätt och tekniker för tillförlitlighet. Detta är en bred situation där observation oundvikligen sviker oss och endast logik och intuition kan användas för att fylla det resulterande kunskapsglappet.
