Å Forklare Fraværet av Storskala-Studier i IT

IT-praktikere etterspør disse hver eneste dag, og likevel finnes de ikke – storskala risiko- og ytelsesstudier for IT-maskinvare og -programvare. Dette dekker et bredt spekter av muligheter, men vanlige eksempler er feilrater mellom ulike servermodeller, harddisker, operativsystemer, RAID-arraytyper, stasjonære datamaskiner, bærbare datamaskiner – du nevner det. Og likevel, uavhengig av den høye etterspørselen etter slike data, finnes det ingen tilgjengelige. Hvordan kan dette være mulig.
Ikke alle tilfeller er like, selvfølgelig, men det finnes i all hovedsak tre virkelig betydningsfulle faktorer som spiller inn og holder denne typen data fra å nå fagfeltet. Disse er de høye kostnadene ved å gjennomføre en studie, den lange tidsskalaen som er nødvendig for en studie, og mangelen på insentiv til å produsere og/eller dele disse dataene med andre selskaper.
Kostnader er langt den største faktoren. Hvis kostnaden ved storskala studier kunne overvinnes, kunne det finnes løsninger på alle andre faktorer. Men dessverre er naturen til en storskala studie at den vil være kostbar. Som et eksempel kan vi se på serverens pålitelighetsrater.
For å bestemme feilrater på en server trenger vi et stort antall servere for å samle disse dataene. Dette kan virke som et ekstremt eksempel, men serverfeilrater er en av de mest etterspurte storskala studietallene, og eksempelet er derfor viktig. Vi ville trenge kanskje noen hundre servere for en svært liten studie, men for å få statistisk signifikante data ville vi sannsynligvis trenge tusenvis av servere. Hvis vi antar at en enkelt server koster fem tusen dollar, som ville være en relativt inngangsmodell, ser vi lett på tjuefem millioner dollar i utstyr! Og det er bare nok til å gjøre en noenlunde liten skalatest (bare fem tusen servere) av en relativt rimelig enhet. Hvis vi snakket om enterprise-servere ville vi lett hoppe til tretti eller til og med femti tusen dollar per server, noe som ville ta kostnaden til over en kvart milliard dollar.
Nå er den kostnaden selvfølgelig for testing av én enkelt konfigurasjon av én enkelt servermodell. For at en studie skal være meningsfull ville vi presumptivt trenge mange ulike modeller av servere. Kanskje flere fra hver leverandør for å sammenligne ulike linjer og funksjoner. Kanskje mange ulike leverandører. Det er lett å se hvor raskt kostnadene for en studie blir umulig store.
Dette er bare begynnelsen av kostnadene, imidlertid. For å gjennomføre en god studie kreves nøye kontrollerte miljøer på nivå med de beste datasentralene for å isolere miljøproblemer så mye som mulig. Dette betyr svært pålitelig strøm, kjøling, luftstrøm, fuktighetskontroll, vibrasjonskontroll og støvkontroll. Gode fasiliteter som dette er svært dyre, og det er grunnen til at mange selskaper ikke betaler for dem, selv for verdifulle produksjonsarbeidsbelastninger. I en stor studie kan denne kostnaden lett overstige kostnadene for selve utstyret over studieperioden.
Så må vi selvfølgelig ta for oss behovene for spesielle sensorer og testing. Hva utgjør egentlig en feil? Selv i produksjonssystemer er det ofte uenighet om dette. Er en harddisk som svikter i en array en feil, selv om arrayen ikke svikter? Er prediktiv feil en feil? Hvis man har med drivfeil å gjøre i en studie, hvordan tar man hensyn til menneskelige komponenter som utskifting av disker, som kanskje ikke gjøres på en uniform måte? Det finnes måter å håndtere dette på, men de legger til kompleksitet og gjør at studiene avviker fra data fra den virkelige verden til konstruerte data for en studie. Å etablere studieretningslinjer som er anvendelige og nyttige for sluttbrukere er mye vanskeligere enn det virker.
Og den største kostnaden, manuelt arbeid. Å opprettholde et miljø for en stor studie vil kreve menneskelig kapital som kanskje vil tilsvare kostnadene for selve studien. Det tar et stort antall mennesker å opprettholde et studiemiljø, kjøre selve studien, overvåke den og samle inn dataene. Alt i alt er kostnadene generelt rett og slett umulige å gjennomføre.
Selvfølgelig kunne vi kraftig redusere testen, kjøre bare en håndfull servere og bare to eller tre modeller, men verdien av testen synker raskt og risikerer å ende opp med resultater som ingen kan bruke, mens man fortsatt har brukt en stor sum penger.
Det andre uoverkommelige problemet er tid. De fleste ting trenger å testes for feilrater over tid, og ettersom utstyr i IT generelt er utformet til å fungere pålitelig i tiår, krever innsamling av data om feilrater mange år. Tall for gjennomsnittlig tid til feil er bare så verdifulle – gjennomsnittlig tid mellom feil og feiltyper, modi og statistikk om den feilen er svært viktig for at en studie skal være nyttig. Hva dette betyr er at for at en studie skal være virkelig nyttig må den kjøre i svært lang tid, noe som skaper stadig større kostnader.
Men det er ikke det største problemet. Det langt større problemet er at for at en studie skal ha nok tid til å generere nyttige feilantall, selv om disse tallene kom ut «live» etter hvert som de skjedde, ville det allerede være for sent. Utstyret det gjelder ville allerede bli gammelt og nærme seg utskiftningstid i produksjonsmarkedet innen studien produserte virkelig nyttige tidlige resultater. Produksjonsutstyr kjøpes ofte bare for tre til fem år total levetid. Å få resultater selv ett år inn i denne perioden ville ha liten verdi. Og nye produkter kan erstatte de som er i studien enda raskere enn produktene eldes naturlig, noe som gjør studien bare verdifull fra et historisk perspektiv uten noen bruk i å bestemme valg i en produksjonsbeslutningsrolle – resultatene ville være for gamle til å være nyttige innen de var tilgjengelige.
Den siste store faktoren er mangelen på insentiv til å gi eksisterende data til de som trenger det. Mens få datakilder finnes, gjør noen det, men nesten alle er ufullstendige og eksisterer for at store leverandører skal måle sin egen utstyrskvalitet, feilrater og slikt. Disse gjøres sjelden i kontrollerte miljøer og involverer ofte data samlet inn fra feltet. I mange tilfeller kan disse dataene til og med være private for kunder og ikke rettslig mulig å dele uansett.
Men leverandører som samler inn data, gjør det ikke på en jevn, overvåket måte, så å dele disse dataene kan være svært skadelig for dem fordi det ikke er noen sikkerhet for at tilsvarende data fra deres konkurrenter ville eksistere. Ukontrollert statistikk som det ville ikke gi noen reell fordel for markedet, og det gjør det heller ikke for leverandørene som har dem, så leverandørene er sterkt incentivert til å holde slike data under nøye kontroll.
Det sjeldne unntaket er noen maskinvarestudier fra leverandører som Google og BackBlaze, som har store antall forbrukerklasse-harddisker i relativt kontrollerte miljøer og samler inn feilrater for egne formål, men som har liten eller ingen risiko fra at egne konkurrenter utnytter disse dataene, men har PR-verdi i å gjøre det, og derfor av og til vil gi ut en studie av maskinvarepålitelighet i begrenset skala. Disse studiene blir begærlig fortært av bransjen, selv om de generelt inneholder relativt lite verdi ettersom dataene er gamle og under ukjente betingelser og terskler, og ofte ikke inneholder statistisk meningsfylte data for produktsammenligning, og i beste fall inneholder generelle bransjeomfattende statistiske trender som er noe nyttige for å forutsi fremtidige pålitelighetsveier.
De fleste andre selskaper som er store nok til å ha interne pålitelighetsstatistikker, har dem på et smalt spekter av utstyr og anser denne informasjonen som proprietær, en potensiell risiko hvis den avsløres (den ville gi ut viktige detaljer om arkitekturimplementeringer) og en konkurransefordel. Så av disse grunnene deles de ikke.
Jeg har faktisk vært heldig nok til å ha vært involvert i og kjørt en storskala lagrings-pålitelighetstest som ble gjennomført noe uformelt, men svært verdifullt på over ti tusen enterprise-servere over åtte år, noe som resulterte i åtti tusen serverår med studie – en sjelden mulighet. Men det som ble konkludert i den studien var at mens den var ekstremt verdifull, viste den primært at på et sett så stort var vi fortsatt ute av stand til å observere en eneste feil! Fraværet av feil var i seg selv svært verdifullt. Men vi var ute av stand til å produsere noen standard statistikk som gjennomsnittlig tid til feil. For å produsere den typen data som folk forventer, vet vi at vi ville ha trengt hundretusenvis av serverår, som et minimum, for å få noen form for statistisk signifikans, men vi kan ikke pålitelig uttale at selv det ville ha vært nok. Kanskje millioner av serverår ville vært nødvendig. Det er ingen måte å virkelig vite dette på.
Der dette etterlater oss er at storskala studier i IT rett og slett ikke eksisterer og sannsynligvis aldri vil eksistere. Når de gjør det vil de være isolerte og nesten sikkert hemmet av nødvendighetene i virkeligheten. Det finnes ingen måte å tjene penger på studier i den skalaen som er nødvendig for å være nyttige, mest fordi feilratene for enterprise-utstyr er så lave mens utstyret er så dyrt, så tredjepartsfirmaer kan aldri dekke kostnadene for å tilby denne forskningen. Som bransje må vi akseptere at denne typen data ikke eksisterer og aktivt forfølge alternativer til å ha tilgang til slike data. Det er overraskende at så mange mennesker i feltet forventer at denne typen data skal være tilgjengelig når det historisk sett aldri har vært tilfellet.
Våre eneste reelle alternativer, tatt i betraktning dette vakuumet, er å samle hva anekdotisk bevis som finnes (en svært farlig ting å gjøre som krever nøye vurdering av kontekst) og å anvende logikk for å vurdere pålitelighetsmetoder og -teknikker. Dette er en bred situasjon der observasjon nødvendigvis svikter oss og bare logikk og intuisjon kan brukes for å fylle det resulterende kunnskapsunderskuddet.
