Het Jurassic Park-effect
“Als ik even mag… Eh, ik zal u vertellen wat het probleem is met de wetenschappelijke macht die u hier gebruikt: het vergde geen enkele discipline om die te verwerven. U las wat anderen hadden gedaan en u zette de volgende stap. U hebt de kennis niet zelf verdiend, dus neemt u er geen enkele verantwoordelijkheid voor. U stond op de schouders van genieën om zo snel mogelijk iets tot stand te brengen, en voordat u zelfs maar wist wat u had, patenteerde u het, verpakte u het, plakte u het op een plastic broodtrommel, en nu …” – Dr. Ian Malcolm, Jurassic Park
Wanneer men kijkt naar het bouwen van een opslagserver of NAS, bestaat er een veelvoorkomend gevoel dat wat nodig is een “NAS-besturingssysteem” is. Dit is een vreemde reactie, vind ik, aangezien de term NAS niets meer betekent dan een “fileserver met een toegewijde opslaginterface.” Of, met andere woorden, gewoon een fileserver met beperkte blootgestelde functionaliteit. De reden dat wij kiezen voor fysieke NAS-appliances is vanwege de geïntegreerde ondersteuning en soms vanwege speciale, propriëtaire functionaliteit (NetApp is hiervan een belangrijk voorbeeld met uitgebreide SMB- en NFS-integratie en enkele werkelijk unieke RAID- en bestandssysteemopties, of Exablox dat volledig beheerde scale-out bestandsopslag en RAIN-achtige bescherming biedt). Het gebruik van een NAS om een traditionele fileserver te vervangen is voor het grootste deel een vrij recent fenomeen en een fenomeen waarvan ik heb gemerkt dat het vaak wordt gedreven door misvattingen of de indruk dat het beheren van een fileserver, een van de meest basale IT-werklasten, bijzonder of moeilijk is. Fileservers worden over het algemeen beschouwd als de meest basale vorm van server en zijn traditioneel wat mensen bedoelden met de term server, tenzij er een aanvullende beschrijving werd toegevoegd, en de enige vorm die gewoonlijk in de desktop is geïntegreerd (elke Mac-, Windows- en Linux-desktop kan functioneren als fileserver en het is heel gebruikelijk om dat te doen).
Er is natuurlijk niets mis met het kiezen voor een NAS in plaats van een traditionele fileserver om aan uw opslagbehoeften te voldoen, vooral omdat sommige moderne NAS-opties, zoals Exablox, scale-out- en opslagopties bieden die in de meeste besturingssystemen niet beschikbaar zijn. Maar het lijkt erop dat de trend om een NAS te gebruiken in plaats van een fileserver heeft geleid tot vreemd gedrag wanneer IT-professionals zich weer tot het overwegen van fileservers wenden. Een cascade-effect, vermoed ik, waarbij de redenen waarom een NAS soms de voorkeur krijgt en het denken op doelniveau verloren gaan en het resulterende idee van “ik zou een NAS moeten hebben” overblijft, zodat er bij het opnieuw bekijken van fileserveropties een drang bestaat om “een NAS te hebben” ongeacht of er een logische reden is om te voelen dat dit noodzakelijk is of niet.
Eerst moeten we in overweging nemen dat het algemene concept van een NAS een eenvoudig concept is: neem een traditionele fileserver, vereenvoudig deze door opties te verwijderen en verpak deze met alle benodigde hardware om een vereenvoudigde appliance te maken met alle ondersteuning inbegrepen, van de interface tot aan de draaiende schijven en alles daartussenin. Opslag kan lastig zijn wanneer gebruikers RAID-niveaus, schijftypen en dergelijke moeten bepalen en effectief moeten monitoren. Een NAS pakt dit aan door de hardware in het platform te integreren. Dit maakt zaken eenvoudig, maar kan risico toevoegen aangezien u minder ondersteuningsopties hebt en minder mogelijkheden om zaken zelf te repareren of te vervangen. Een overstap van een fileserver naar een NAS-appliance gaat werkelijk vrijwel uitsluitend om ondersteuning en is over het algemeen een zeer sterke verbintenis aan één enkele leverancier. U koos voor de NAS-benadering omdat u voor alles op één leverancier wilt vertrouwen.
Wanneer we overstappen op een fileserver, bewegen we in de tegenovergestelde richting. Een fileserver is een traditionele enterpriseserver zoals elke andere. U koopt uw serverhardware van de ene leverancier (HP, Dell, IBM, enzovoort) en uw besturingssysteem van een andere (Microsoft, Red Hat, Suse, enzovoort). U specificeert de onderdelen en de configuratie die u nodig hebt en u hebt het meest gangbare computermodel van de gehele IT. Met dit model gebruikt u over het algemeen standaard, commodity-onderdelen waardoor u eenvoudig kunt migreren tussen hardwareleveranciers en tussen softwareleveranciers. U hebt opties voor “leveranciersredundantie” en over het algemeen wordt alles gedaan met behulp van open, standaardprotocollen. U krijgt grote flexibiliteit en kunt uw fileserver beheren en monitoren net als elk ander lid van uw serverpark, inclusief het volledig gevirtualiseerd houden ervan. U geeft de verticale integratie van de NAS op in ruil voor horizontale flexibiliteit en standaardisatie.
Wat dus vreemd is, is wanneer men terugkeert naar het commodity-model maar zoekt naar wat in de volksmond bekendstaat als een NAS-OS. Veelvoorkomende voorbeelden hiervan zijn NAS4Free, FreeNAS en OpenFiler. Deze categorie producten is over het algemeen niets meer dan een standaardbesturingssysteem (vaak FreeBSD aangezien dit een ideale licentie heeft, of Linux omdat het algemeen bekend is) met een “opslaginterface” erop geplaatst en geen speciale of aanvullende functionaliteit die niet zou bestaan met het normale besturingssysteem. In theorie zijn het “enkelvoudige functie”-besturingssystemen die slechts één ding doen. Maar dit is niet de realiteit. Het zijn besturingssystemen voor algemene doeleinden met een extra GUI-beheerlaag erbovenop. Men zou hetzelfde kunnen zeggen over de meeste fysieke NAS-producten zelf, maar deze omvatten doorgaans aangepaste engineering, zelfs op opslagniveau, speciale functies en, het belangrijkste, een geïntegreerde ondersteuningsstack en een werkelijke isolatie van het “algemene” karakter van het onderliggende besturingssysteem. Een “NAS-OS” is geen eenvoudigere versie van een besturingssysteem voor algemene doeleinden, het is een complexere maar minder functionele versie ervan.
Wat daarnaast vreemd is, is dat besturingssystemen voor algemene doeleinden, op zeldzame uitzonderingen na, al worden geleverd met zeer eenvoudige, uiterst bekende en volledig ondersteunde opslaginterfaces. Vrijwel elke variant van Windows- of Linux-servers heeft bijvoorbeeld al zeer lange tijd eenvoudige grafische interfaces voor deze functies inbegrepen. Deze inbegrepen GUI's worden door systeembeheerders vaak gemeden omdat ze te “zwaar en onnodig” zouden zijn voor een eenvoudige fileserver. Het is dus des te ongebruikelijker dat het toevoegen van een GUI van derden, een die niet door het besturingssysteemteam wordt gepatcht en getest en niet standaard bekend en ondersteund is, vervolgens gewenst zou zijn, aangezien dit ingaat tegen de gangbare idealen en praktijken van het gebruik van een server.
En hier komt het Jurassic Park-effect om de hoek kijken – de besturingssysteemleveranciers (Red Hat, Microsoft, Oracle, FreeBSD, Suse, Canonical, enzovoort) zijn reuzen met verbluffende engineeringteams, codebeoordeling, testen, toezicht en enterprise-ondersteuningsecosystemen. Terwijl de “NAS-OS”-leveranciers over het algemeen zeer kleine bedrijven zijn, sommige met slechts één parttime persoon, die op de schouders van deze reuzen staan en iets bouwen waarvan zij wisten dat zij het konden maar die nooit stilstonden om zich af te vragen of zij het zouden moeten doen. De resulterende producten zijn in vergelijking met hun pure besturingssysteem-tegenhangers volledig negatief; ze maken systeembeheer niet eenvoudiger, noch vullen ze een gat in het dienstenaanbod van de markt. Solide, betrouwbare, gebruiksvriendelijke opslag is al beschikbaar; er zijn niet meer leveranciers nodig om deze plek in de markt op te vullen.
De logica die vaak wordt toegepast bij het bekijken van een NAS-OS is dat deze “gemakkelijk op te zetten” zijn. Dit kan al dan niet waar zijn, aangezien gemakkelijk hier een relatief begrip moet zijn. Wil er enige waarde zijn, dan moet een NAS-OS gemakkelijk zijn in vergelijking met de standaardversie van hetzelfde besturingssysteem. Dus in het geval van FreeNAS zou dit FreeBSD betekenen. FreeNAS zou aanzienlijk gemakkelijker op te zetten moeten zijn dan FreeBSD voor dezelfde, toegewijde functies. En dit is gemakkelijk waar; het opzetten van een NAS-OS is over het algemeen vrij eenvoudig. Maar dit gemak is slechts een wondermiddel en een waarvan IT-professionals zich terdege bewust moeten zijn. Iets gemakkelijk op te zetten maken is geen prioriteit in IT; iets maken dat gemakkelijk te bedienen en te repareren is wanneer er problemen zijn, is wat belangrijk is. Gemakkelijk op te zetten is mooi, maar als het ten koste gaat van het niet begrijpen hoe het systeem is geconfigureerd en operationele reparaties bemoeilijkt, is het een zeer, zeer slechte zaak. NAS-OS-producten maken het routinematig gevaarlijk gemakkelijk om een product in productie te nemen voor een opslagrol, wat vrijwel altijd de meest kritieke of bijna de meest kritieke rol van welke server dan ook in een omgeving is, een rol die IT geen ervaring of waarschijnlijk vaardigheid heeft om te onderhouden, te bedienen of, het belangrijkste, te repareren wanneer er iets misgaat. We hebben precies het tegenovergestelde nodig, een systeem dat gemakkelijk te bedienen en te repareren is. Dat is wat ertoe doet. Dus hebben we een tweede geval van “op de schouders van reuzen staan” en het bouwen van een systeem waarvan we wisten dat we het konden, maar niet wisten of we het zouden moeten doen.
Wat dit probleem verergert, is dat juist de mensen die de behoefte voelen zich tot een NAS-OS te wenden om “opslag gemakkelijk te maken”, door de aard zelf van het NAS-OS, precies de mensen zijn voor wie operationele ondersteuning en de reparatie van het systeem het moeilijkst zijn. Systeembeheerders die vertrouwd zijn met het onderliggende besturingssysteem zouden een NAS-OS van nature niet als een voordeel zien en het voor het grootste deel vermijden. Het zijn uniek de mensen voor wie het draaien van een niet volledig begrepen opslagplatform het gevaarlijkst is, die het waarschijnlijk zullen proberen. En natuurlijk verdienen de meeste NAS-OS-leveranciers hun geld, zoals we konden voorspellen, met ondersteuningsoproepen na installatie voor klanten die zaken hebben uitgerold en vastliepen toen ze eenmaal in productie waren, zodat zij overgeleverd zijn aan de leveranciers voor exorbitante ondersteuningsprijzen. Het is in het belang van de leveranciers om het gemakkelijk te maken om te installeren en moeilijk om te repareren. Alles werkt hier tegen de IT-professional.
Als we een veelvoorkomend voorbeeld nemen en naar FreeNAS kijken, kunnen we zien hoe dit een slechte afstemming van “moeilijkheden” is. FreeNAS is FreeBSD met een aanvullende interface erbovenop. Alles wat FreeNAS kan doen, kan FreeBSD doen. Er is geen verlies van functionaliteit door over te stappen op FreeBSD. Wanneer er iets faalt, moet de systeembeheerder in beide gevallen een goede praktische kennis van FreeBSD hebben om reparaties uit te voeren. Hier valt niet aan te ontkomen. FreeBSD-kennis is gangbaar in de sector en het verkrijgen van externe hulp is relatief eenvoudig. Het gebruik van FreeNAS voegt verschillende complicaties toe, waarvan de grootste is dat alle aanpassingen die door de FreeNAS-GUI zijn gemaakt, speciale kennis vereisen voor het oplossen van problemen bovenop de kennis die al nodig is om FreeBSD te bedienen. Dit is dus een grote kennisverzameling alsook meer zaken die kunnen falen. Het is ook een relatief ongebruikelijke kennisverzameling aangezien FreeNAS een nicheproduct voor opslag van een kleine leverancier is en FreeBSD een belangrijk enterprise-IT-platform (bovendien is alle gebruik van FreeNAS gebruik van FreeBSD, maar slechts een klein percentage van het gebruik van FreeBSD is FreeNAS). We kunnen dus zien dat het gebruik van een NAS-OS keer op keer alleen maar risico toevoegt.
Ditzelfde probleem zet zich voort in de gemeenschappen die rondom deze producten ontstaan. Als u zich tot gemeenschappen rondom FreeBSD, Linux of Windows wendt voor begeleiding en bijstand, hebt u te maken met grote aantallen IT-professionals, bekwame systeembeheerders en mensen met zakelijke en enterprise-ervaring. Natuurlijk nemen ook hobbyisten, de oningewijden en anderen deel, maar dit zijn de enterprise-IT-platforms en alle kennis van de sector is voor u beschikbaar bij het implementeren van deze producten. Vergelijk dit met de gemeenschap van een NAS-OS. Door de aard ervan zouden alleen mensen die worstelen met het beheer van een standaardbesturingssysteem en/of opslagbasisbeginselen naar een NAS-OS-pakket kijken, en zo filtert dit van nature het lidmaatschap in hun gemeenschappen zodat het alleen de mensen omvat van wie wij het best advies kunnen vermijden in te winnen. Dit creëert een geïsoleerde cultuur van desinformatie en misverstanden rondom opslag en opslagproducten. Mythen zijn er in overvloed, begeleiding wordt vaak roekeloos en gevaarlijk en best practices uit de sector worden genegeerd alsof decennia aan opgebouwde ervaring nooit hadden plaatsgevonden.
Een NAS-OS introduceert ook gewoonlijk vertragingen in patches en updates. Een NAS-OS zal vrijwel altijd en vrijwel noodzakelijkerwijs achterlopen op zijn moederbesturingssysteem wat betreft beveiligings- en stabiliteitsupdates en zal zeer vaak maanden of jaren achterlopen wat betreft belangrijke functies. In één zeer bekend scenario was OpenFiler, het product, gebouwd op een upstream niet-enterprise basis (RPath Linux) die geen gemeenschaps- en leveranciersondersteuning had, faalde en werd verlaten, waardoor downstream-gebruikers, inclusief iedereen op OpenFiler, in de steek werden gelaten zonder het ecosysteem dat nodig was om hen te ondersteunen. Het gebruik van een NAS-OS betekent niet alleen vertrouwen in de grote, enterprise en welbekende primaire besturingssysteemleverancier die het basisbesturingssysteem maakt, maar ook vertrouwen in de NAS-OS-leverancier. En de NAS-OS-leverancier is ordes van grootte waarschijnlijker om te falen dan dat zij hun producten baseren op basisbesturingssystemen van enterpriseklasse.
Opslag is een kritieke functie en mag niet onzorgvuldig worden behandeld en mag niet worden genegeerd alsof de kritische aard ervan niet bestond. NAS-besturingssystemen verleiden ons om snel te installeren en te vergeten, in de hoop dat er nooit iets misgaat of dat we volledig naar andere functies of bedrijven kunnen overstappen voordat er nare dingen gebeuren. Het zet ons op voor een mislukking daar waar mislukking de grootste impact heeft. Wanneer een typische applicatieserver faalt, kunnen we altijd de bestanden van de opslag ervan kopiëren en opnieuw beginnen. Wanneer opslag faalt, gaan gegevens verloren en gaan systemen plat.
“John Hammond: Alle grote pretparken hebben vertragingen. Toen ze Disneyland in 1956 openden, werkte er niets!
Dr. Ian Malcolm: Ja, maar, John, als de Pirates of the Caribbean het begeeft, eten de piraten de toeristen niet op.”
Wanneer opslag faalt, falen bedrijven. Het nemen van de gemakkelijke weg bij het opzetten van opslag en het negeren van de langetermijnondersteuningsbehoeften en het inwinnen van advies bij gemeenschappen die de ervaren opslag- en systeemingenieurs eruit hebben gefilterd, verhoogt het risico dramatisch. Helaas is de aard van een NAS-OS dat juist de reden waarom mensen zich ertoe wenden (gebrek aan diepgaande technische kennis om de systemen te bouwen) precies de reden is waarom zij het moeten vermijden (een nog grotere behoefte aan ondersteuning). De mensen voor wie NAS-besturingssystemen feitelijk veilig zijn om te gebruiken, degenen met zeer diepgaande en brede opslag- en systeemkennis, zouden deze producten zelden overwegen omdat ze voor hen geen voordelen bieden.
Uiteindelijk klinkt het concept van een NAS-OS weliswaar geweldig, maar is het geen wondermiddel en de waarde van een NAS draagt niet over van de wereld van de fysieke appliance naar de wereld van het geïnstalleerde besturingssysteem, en de waarde van standaardbesturingssystemen is veel te groot voor NAS-besturingssystemen om effectief reële waarde toe te voegen.
“Dr. Alan Grant: Hammond, na enige overweging heb ik besloten uw park niet te steunen.
John Hammond: Ik ook.”

