Der Jurassic-Park-Effekt
„Wenn ich darf… Ähm, ich sage Ihnen, worin das Problem mit der wissenschaftlichen Macht liegt, die Sie hier einsetzen: Es bedurfte keinerlei Disziplin, um sie zu erlangen. Sie haben gelesen, was andere geleistet hatten, und den nächsten Schritt getan. Sie haben sich das Wissen nicht selbst erarbeitet, also übernehmen Sie auch keine Verantwortung dafür. Sie standen auf den Schultern von Genies, um so schnell wie möglich etwas zustande zu bringen, und noch bevor Sie überhaupt wussten, was Sie da hatten, haben Sie es patentiert und verpackt und auf eine Plastik-Brotdose geklatscht, und nun …“ – Dr. Ian Malcolm, Jurassic Park
Wenn man den Aufbau eines Storage-Servers oder NAS in Betracht zieht, herrscht häufig das Gefühl, dass man ein „NAS-Betriebssystem“ benötige. Das ist eine eigenartige Reaktion, finde ich, denn der Begriff NAS bedeutet nichts weiter als ein „Fileserver mit einer dedizierten Storage-Schnittstelle“. Oder mit anderen Worten: schlicht ein Fileserver mit eingeschränkt nach außen zugänglicher Funktionalität. Der Grund, warum wir uns für physische NAS-Appliances entscheiden, ist der integrierte Support und manchmal eine spezielle, proprietäre Funktionalität (NetApp ist hierfür ein zentrales Beispiel und bietet umfangreiche SMB- und NFS-Integration sowie einige wirklich einzigartige RAID- und Dateisystemoptionen, oder Exablox, das vollständig verwalteten, skalierbaren File-Storage und Schutz im RAIN-Stil bietet). Ein NAS zu verwenden, um einen herkömmlichen Fileserver zu ersetzen, ist größtenteils ein recht junges Phänomen und eines, das, wie ich festgestellt habe, oft von Missverständnissen oder dem Eindruck getrieben wird, dass die Verwaltung eines Fileservers – einer der grundlegendsten IT-Workloads – etwas Besonderes oder Schwieriges sei. Fileserver gelten allgemein als die grundlegendste Form eines Servers und traditionell meinten die Leute genau das, wenn sie den Begriff Server verwendeten, sofern keine zusätzliche Beschreibung hinzugefügt wurde, und es ist die einzige Form, die üblicherweise in den Desktop integriert ist (jeder Mac-, Windows- und Linux-Desktop kann als Fileserver fungieren, und es ist sehr verbreitet, dies zu tun).
Es ist natürlich nichts dagegen einzuwenden, sich für ein NAS statt eines herkömmlichen Fileservers zu entscheiden, um die eigenen Storage-Anforderungen zu erfüllen, zumal einige moderne NAS-Optionen, wie Exablox, Scale-out- und Storage-Optionen bieten, die in den meisten Betriebssystemen nicht verfügbar sind. Doch es scheint, dass der Trend, ein NAS statt eines Fileservers zu verwenden, zu einigem eigenartigen Verhalten geführt hat, wenn IT-Fachleute sich wieder Fileservern zuwenden. Ein Kaskadeneffekt, vermute ich, bei dem die Gründe, warum ein NAS manchmal bevorzugt wird, und das auf Ziele ausgerichtete Denken verloren gehen und die daraus resultierende Vorstellung „Ich sollte ein NAS haben“ zurückbleibt, sodass beim erneuten Betrachten von Fileserver-Optionen ein Drang besteht, „ein NAS zu haben“, unabhängig davon, ob es einen logischen Grund für das Gefühl gibt, dass dies notwendig sei, oder nicht.
Zunächst müssen wir bedenken, dass das allgemeine Konzept eines NAS ein einfaches ist: Man nehme einen herkömmlichen Fileserver, vereinfache ihn durch das Entfernen von Optionen und packe ihn zusammen mit der gesamten notwendigen Hardware zu einer vereinfachten Appliance, mit vollständig inbegriffenem Support von der Schnittstelle bis hinunter zu den sich drehenden Laufwerken und allem dazwischen. Storage kann knifflig sein, wenn Anwender RAID-Level und Laufwerkstypen bestimmen, effektiv überwachen müssen usw. Ein NAS begegnet dem, indem es die Hardware in die Plattform integriert. Das macht die Dinge einfach, kann aber Risiken hinzufügen, da man weniger Support-Optionen hat und weniger Möglichkeiten, Dinge selbst zu reparieren oder zu ersetzen. Ein Wechsel von einem Fileserver zu einer NAS-Appliance dreht sich wahrhaftig nahezu ausschließlich um Support und ist im Allgemeinen eine sehr starke Bindung an einen einzigen Anbieter. Sie haben sich für den NAS-Ansatz entschieden, weil Sie sich bei allem auf einen Anbieter verlassen wollen.
Wenn wir zu einem Fileserver übergehen, schlagen wir die entgegengesetzte Richtung ein. Ein Fileserver ist ein herkömmlicher Enterprise-Server wie jeder andere. Sie kaufen Ihre Server-Hardware von einem Anbieter (HP, Dell, IBM usw.) und Ihr Betriebssystem von einem anderen (Microsoft, Red Hat, Suse usw.). Sie legen die Teile und die Konfiguration fest, die Sie benötigen, und Sie haben das gängigste Computing-Modell der gesamten IT. Mit diesem Modell verwenden Sie im Allgemeinen standardisierte Standardkomponenten, was es Ihnen ermöglicht, problemlos zwischen Hardware-Anbietern und zwischen Software-Anbietern zu migrieren. Sie haben Optionen zur „Anbieterredundanz“ und im Allgemeinen wird alles über offene Standardprotokolle abgewickelt. Sie erhalten große Flexibilität und können Ihren Fileserver wie jedes andere Mitglied Ihrer Server-Flotte verwalten und überwachen, einschließlich der Möglichkeit, ihn vollständig zu virtualisieren. Sie geben die vertikale Integration des NAS im Austausch gegen horizontale Flexibilität und Standardisierung auf.
Eigenartig ist daher, wenn man zum Standardmodell zurückkehrt, aber das sucht, was umgangssprachlich als NAS-Betriebssystem bekannt ist. Gängige Beispiele hierfür sind NAS4Free, FreeNAS und OpenFiler. Diese Produktkategorie ist im Allgemeinen nichts weiter als ein Standardbetriebssystem (oft FreeBSD, da es eine ideale Lizenzierung hat, oder Linux, weil es gut bekannt ist) mit einer aufgesetzten „Storage-Schnittstelle“ und ohne spezielle oder zusätzliche Funktionalität, die mit dem normalen Betriebssystem nicht existieren würde. Theoretisch sind sie ein Betriebssystem mit „einer einzigen Funktion“, das nur eine Sache tut. Doch das ist nicht die Realität. Es sind Allzweckbetriebssysteme mit einer zusätzlichen, obenauf gesetzten GUI-Verwaltungsschicht. Dasselbe könnte man über die meisten physischen NAS-Produkte selbst sagen, doch diese beinhalten typischerweise eigene Entwicklungsarbeit selbst auf Storage-Ebene, besondere Funktionen und, am wichtigsten, einen integrierten Support-Stack und eine echte Isolierung von der „Allgemeinheit“ des zugrunde liegenden Betriebssystems. Ein „NAS-Betriebssystem“ ist keine einfachere Version eines Allzweckbetriebssystems, es ist eine komplexere und zugleich weniger funktionale Version davon.
Zusätzlich eigenartig ist, dass Allzweckbetriebssysteme, mit seltenen Ausnahmen, bereits mit sehr einfachen, äußerst bekannten und vollständig unterstützten Storage-Schnittstellen ausgeliefert werden. Nahezu jede Variante von Windows- oder Linux-Servern beispielsweise hat seit sehr langer Zeit einfache grafische Schnittstellen für diese Funktionen beinhaltet. Diese mitgelieferten GUIs werden von Systemadministratoren oft gemieden, weil sie für einen einfachen Fileserver zu „schwergewichtig und unnötig“ seien. Daher ist es sogar noch ungewöhnlicher, dass das Hinzufügen einer GUI eines Drittanbieters – einer, die nicht vom Betriebssystem-Team gepatcht und getestet wird und nicht standardmäßig bekannt und unterstützt ist – dann gewünscht würde, da dies den gängigen Idealen und Praktiken der Server-Nutzung zuwiderläuft.
Und hier kommt der Jurassic-Park-Effekt ins Spiel – die Betriebssystem-Anbieter (Red Hat, Microsoft, Oracle, FreeBSD, Suse, Canonical u. a.) sind Giganten mit erstaunlichen Engineering-Teams, Code-Reviews, Tests, Aufsicht und Enterprise-Support-Ökosystemen. Die „NAS-Betriebssystem“-Anbieter hingegen sind im Allgemeinen sehr kleine Unternehmen, manche mit nur einer Teilzeitkraft, die auf den Schultern dieser Giganten stehen und etwas bauen, von dem sie wussten, dass sie es könnten, aber nie innehielten, um zu fragen, ob sie es sollten. Die resultierenden Produkte sind im Vergleich zu ihren reinen Betriebssystem-Pendants durch und durch negativ; sie machen das Systemmanagement nicht einfacher, noch füllen sie eine Lücke im Dienstleistungsangebot des Marktes. Solider, zuverlässiger, einfach zu bedienender Storage ist bereits verfügbar; es braucht keine weiteren Anbieter, um diesen Platz im Markt zu füllen.
Die Logik, die häufig bei der Betrachtung eines NAS-Betriebssystems angewendet wird, lautet, dass sie „einfach einzurichten“ seien. Das mag stimmen oder auch nicht, denn einfach muss hier ein relationaler Begriff sein. Damit ein NAS-Betriebssystem überhaupt einen Wert hat, muss es einfach sein im Vergleich zur Standardversion desselben Betriebssystems. Im Falle von FreeNAS würde dies also FreeBSD bedeuten. FreeNAS müsste merklich einfacher einzurichten sein als FreeBSD für dieselben, dedizierten Funktionen. Und das trifft ohne Weiteres zu: Die Einrichtung eines NAS-Betriebssystems ist im Allgemeinen recht einfach. Doch diese Leichtigkeit ist nur ein Allheilmittel und eines, dessen sich IT-Fachleute durchaus bewusst sein müssen. Etwas einfach einzurichten zu machen, ist in der IT keine Priorität; etwas zu schaffen, das einfach zu betreiben und bei Problemen zu reparieren ist, ist das, was zählt. Einfach einzurichten ist schön, aber wenn es zum Preis dafür kommt, nicht zu verstehen, wie das System konfiguriert ist, und betriebliche Reparaturen erschwert, ist es eine sehr, sehr schlechte Sache. NAS-Betriebssystem-Produkte machen es regelmäßig gefährlich einfach, ein Produkt für eine Storage-Rolle in Produktion zu bringen – was fast immer die kritischste oder nahezu kritischste Rolle eines jeden Servers in einer Umgebung ist –, die die IT weder zu warten noch zu betreiben noch, am wichtigsten, zu reparieren weiß, wenn etwas schiefgeht, und für die sie wahrscheinlich auch nicht das Können besitzt. Wir brauchen genau das Gegenteil: ein System, das einfach zu betreiben und zu reparieren ist. Das ist es, worauf es ankommt. So haben wir einen zweiten Fall des „Stehens auf den Schultern von Giganten“ und des Bauens eines Systems, von dem wir wussten, dass wir es könnten, aber nicht wussten, ob wir es sollten.
Was dieses Problem verschärft, ist, dass genau jene Menschen, die das Bedürfnis verspüren, sich einem NAS-Betriebssystem zuzuwenden, um „Storage einfach zu machen“, schon allein durch die Natur des NAS-Betriebssystems genau jene Menschen sind, für die der operative Support und die Reparatur des Systems am schwierigsten sind. Systemadministratoren, die mit dem zugrunde liegenden Betriebssystem vertraut sind, würden ein NAS-Betriebssystem naturgemäß nicht als Vorteil ansehen und es größtenteils meiden. Es sind ausgerechnet jene Menschen, für die es am gefährlichsten ist, eine nicht vollständig verstandene Storage-Plattform zu betreiben, die es wahrscheinlich versuchen werden. Und natürlich verdienen die meisten NAS-Betriebssystem-Anbieter ihr Geld, wie wir vorhersagen könnten, mit Support-Anrufen nach der Installation von Kunden, die das System bereitgestellt haben und steckengeblieben sind, sobald es in Produktion war, sodass sie den Anbietern bei überzogenen Support-Preisen ausgeliefert sind. Es liegt im Interesse der Anbieter, die Installation einfach und die Reparatur schwer zu machen. Hier arbeitet alles gegen den IT-Profi.
Wenn wir ein gängiges Beispiel heranziehen und uns FreeNAS ansehen, können wir erkennen, wie schlecht die „Schwierigkeiten“ hier aufeinander abgestimmt sind. FreeNAS ist FreeBSD mit einer zusätzlichen, obenauf gesetzten Schnittstelle. Alles, was FreeNAS kann, kann FreeBSD auch. Durch den Wechsel zu FreeBSD geht keine Funktionalität verloren. Wenn etwas ausfällt, muss der Systemadministrator in beiden Fällen über fundierte Arbeitskenntnisse von FreeBSD verfügen, um Reparaturen durchzuführen. Dem entkommt man nicht. FreeBSD-Kenntnisse sind in der Branche verbreitet, und externe Hilfe zu bekommen ist relativ einfach. Die Verwendung von FreeNAS fügt mehrere Komplikationen hinzu, wobei die größte darin besteht, dass sämtliche durch die FreeNAS-GUI vorgenommenen Anpassungen Spezialwissen sind, das für die Fehlersuche benötigt wird, zusätzlich zu dem Wissen, das bereits zum Betrieb von FreeBSD erforderlich ist. Es handelt sich also um ein umfangreiches Wissensgebiet sowie um mehr Dinge, die ausfallen können. Es ist zudem ein relativ ungewöhnliches Wissensgebiet, da FreeNAS ein Nischen-Storage-Produkt eines kleinen Anbieters ist und FreeBSD eine bedeutende Enterprise-IT-Plattform (zudem ist jede Nutzung von FreeNAS eine Nutzung von FreeBSD, aber nur ein winziger Prozentsatz der FreeBSD-Nutzung ist FreeNAS). Wir können also erkennen, dass die Verwendung eines NAS-Betriebssystems schlicht immer und immer wieder Risiken hinzufügt.
Dasselbe Problem überträgt sich auf die Communitys, die rund um diese Produkte entstehen. Wenn man sich für Orientierung und Unterstützung an die Communitys rund um FreeBSD, Linux oder Windows wendet, hat man es mit einer großen Zahl von IT-Fachleuten, versierten Systemadministratoren und solchen mit geschäftlicher und unternehmerischer Erfahrung zu tun. Natürlich beteiligen sich auch Hobbyisten, Uninformierte und andere, aber dies sind die Enterprise-IT-Plattformen, und das gesamte Wissen der Branche steht Ihnen bei der Implementierung dieser Produkte zur Verfügung. Vergleichen Sie dies mit der Community eines NAS-Betriebssystems. Schon ihrer Natur nach würden nur Menschen, die mit der Administration eines Standardbetriebssystems und/oder den Storage-Grundlagen ringen, sich ein NAS-Betriebssystem-Paket ansehen, und so filtert dies die Mitgliedschaft in deren Communitys naturgemäß so, dass sie nur jene Menschen umfasst, von denen wir am besten keinen Rat einholen sollten. Dies schafft eine isolierte Kultur der Fehlinformation und der Missverständnisse rund um Storage und Storage-Produkte. Mythen gibt es zuhauf, Ratschläge werden oft leichtsinnig und gefährlich, und Best Practices der Branche werden ignoriert, als hätten Jahrzehnte angesammelter Erfahrung nie stattgefunden.
Ein NAS-Betriebssystem führt zudem häufig zu Verzögerungen beim Patchen und bei Updates. Ein NAS-Betriebssystem wird seinem übergeordneten Betriebssystem bei Sicherheits- und Stabilitätsupdates fast immer und fast zwangsläufig hinterherhinken und bei wichtigen Funktionen sehr oft Monate oder Jahre hinterherlaufen. In einem sehr bekannten Szenario, OpenFiler, wurde das Produkt auf einer vorgelagerten, nicht für den Enterprise-Einsatz bestimmten Basis (RPath Linux) aufgebaut, der es an Community- und Anbieter-Support mangelte, die scheiterte und aufgegeben wurde, wodurch die nachgelagerten Anwender, einschließlich aller OpenFiler-Nutzer, ohne das zu ihrer Unterstützung notwendige Ökosystem im Stich gelassen wurden. Die Verwendung eines NAS-Betriebssystems bedeutet, nicht nur dem großen, etablierten und namhaften primären Betriebssystem-Anbieter zu vertrauen, der das Basisbetriebssystem herstellt, sondern auch dem NAS-Betriebssystem-Anbieter zu vertrauen. Und der NAS-Betriebssystem-Anbieter wird mit um Größenordnungen höherer Wahrscheinlichkeit scheitern, wenn er seine Produkte auf Basisbetriebssystemen der Enterprise-Klasse aufbaut.
Storage ist eine kritische Funktion und sollte nicht achtlos behandelt und nicht ignoriert werden, als existierte seine Kritikalität nicht. NAS-Betriebssysteme verleiten uns dazu, schnell zu installieren und zu vergessen, in der Hoffnung, dass niemals etwas schiefgeht oder dass wir zu anderen Rollen oder Unternehmen weiterziehen können, bevor schlimme Dinge geschehen. Es bereitet uns auf ein Scheitern dort vor, wo das Scheitern die größten Auswirkungen hat. Wenn ein typischer Anwendungsserver ausfällt, können wir die Dateien jederzeit von seinem Storage kopieren und von vorn beginnen. Wenn Storage ausfällt, gehen Daten verloren und Systeme fallen aus.
„John Hammond: Alle großen Themenparks haben Verzögerungen. Als Disneyland 1956 eröffnete, funktionierte gar nichts!
Dr. Ian Malcolm: Ja, aber, John, wenn Fluch der Karibik kaputtgeht, fressen die Piraten nicht die Touristen.“
Wenn Storage versagt, versagen Unternehmen. Den einfachen Weg bei der Einrichtung von Storage zu nehmen, den langfristigen Support-Bedarf zu ignorieren und Rat von Communitys einzuholen, die die erfahrenen Storage- und Systems-Ingenieure herausgefiltert haben, erhöht das Risiko dramatisch. Traurigerweise besteht die Natur eines NAS-Betriebssystems darin, dass genau der Grund, aus dem sich Menschen ihm zuwenden (Mangel an tiefem technischem Wissen, um die Systeme zu bauen), genau der Grund ist, aus dem sie es meiden müssen (noch größerer Support-Bedarf). Die Menschen, für die NAS-Betriebssysteme faktisch sicher zu nutzen sind – jene mit sehr tiefem und breitem Storage- und Systemwissen – würden diese Produkte selten in Erwägung ziehen, weil sie ihnen keinerlei Vorteile bieten.
Letzten Endes ist das Konzept eines NAS-Betriebssystems zwar wunderbar klingend, aber kein Allheilmittel, und der Wert eines NAS überträgt sich nicht aus der Welt der physischen Appliances in die Welt des installierten Betriebssystems, und der Wert von Standardbetriebssystemen ist viel zu groß, als dass NAS-Betriebssysteme effektiv einen echten Mehrwert hinzufügen könnten.
„Dr. Alan Grant: Hammond, nach einigem Nachdenken habe ich beschlossen, Ihren Park nicht zu befürworten.
John Hammond: Das habe ich auch.“

