Im Unternehmensumfeld hat sich neben den klassischen File- und Block-basierten Speichern Object-Storage als Alternative etabliert. Anders als NAS und SAN bieten Objektspeicher nahezu grenzenlose Skalierbarkeit. Dies ist besonders für große Mengen an unstrukturierten Daten, beispielsweise in der Cloud, von Vorteil.
Für Unternehmen bieten sich verschiedene Methoden, um Daten zu speichern und für Nutzer bereitzustellen. Für die klassischen Varianten File- und Block-Speicher gibt es seit langem eine Vielzahl an NAS- und SAN-Lösungen. Object-Storage hat sich als jüngere Alternative dazu gesellt und wird typischerweise in oder zumindest mit der Cloud umgesetzt.
Alle drei Ansätze haben spezifische Charakteristika und dementsprechend besser und schlechter geeignete Einsatzbereiche. Während SAN dabei eher als Ergänzung gesehen wird, gelten Objektspeicher vor allem als Alternative zu NAS und Scale-out-NAS. Das hat Gründe.
Block- und File-Storage
Bei Block-Storage sind die Daten in einzelnen Blöcken organisiert. Der Datenzugriff erfolgt über ein Betriebssystem, das den Datenträger Block für Block steuert. Dies eignet sich vor allem für den Zugriff auf sich häufig ändernde Daten wie etwa in Datenbanken. Die gängigen Protokolle beim Zugriff via Block-Storage sind Fibre-Channel, iSCSI oder auch SATA.
File-Storage eignet sich in erster Linie für den gemeinsamen, geteilten Zugriff auf Dateien über ein Netzwerk. Auch hier erfolgt der Zugriff über ein Betriebsystem, das auf Datei-Ebene agiert. Für den zugreifenden Client ist es dabei irrelevant, in welchen Blöcken die Datei auf der Festplatte abgelegt ist. Die gängigen Protokolle beim Zugriff via File-Storage sind beispielsweise SMB, NFS oder CIFS.
Neben SAN und NAS hat sich Objekt-Speicher als Alternative für die effektive Bereitstellung und Sicherung von unstrukturierten Daten etabliert.
Was ist Object-Storage?
Anders als bei oben genannten, wird beim Object-Storage das gesamte Objekt betrachtet. Diese Speicherlösung eignet sich vor allem für relativ statische Dateien, große Datenmengen (Big Data) sowie Cloud-Storage.
Bei den Objekten handelt es sich um Komplettpakete mit den eigentlichen Daten selbst, zahlreichen Metadaten und einer eindeutigen Identifikation (ID). Dazu werden die Daten als »Objekte« in einem flachen Adressraum gespeichert. Alle Objekte liegen in einem einzigen großen Verzeichnispool ohne hierarchische Baumstruktur. Dieser Aufbau ermöglicht eine flache Struktur, statt in einer komplexen Ordnerhierarchie liegen Daten bei einem Object-based Storage nebeneinander. Der tatsächliche Speicherort (lokal oder entfernt) oder das Speichermedium sind dabei unerheblich.
Die Cloud-Speicherlösung Object-Storage hilft dabei, große Mengen an unstrukturierten Daten besser zu organisieren und einfacher zu verwalten. Der Zugriff auf die Daten, also die Kommunikation mit dem Speicher, geschieht meist per Hypertext Transfer Protocol (HTTP) meist über eine REST-API. REST steht für REpresentational State Transfer, eine Programmierschnittstelle, die über http kommuniziert. Das macht die Verbindung von Client und Object-Storage einfach, denn mit dem Web-Protokoll kann eigentlich jeder Rechner umgehen. Mit wenigen Kommandos lässt sich so der Speicher ansprechen: PUT erzeugt, GET liest und DELETE löscht ein Objekt, LIST listet alle Objekte auf.
Vorteile von Object-based Storage
Der wesentliche Vorteil ist die einfache Nutzung sowie die nahezu grenzenlose Skalierbarkeit. Diese Art der Speicherlösung ist unabhängig vom Client-Dateisystem und gewährt einen verteilten Zugriff auf Dateien. Der Anwender bezieht das Objekt, ohne wissen zu müssen an welchem physischen Standort sich die Daten befinden.
Die flache Struktur ermöglicht schnellen Zugriff. Statt den Speicherplatz selbst zu bestimmen, übernimmt das System diesen Schritt. Damit eignet sich diese Art vor allem in Cloud-Umgebungen. Objekte können direkt im Web oder in Containern verfügbar gemacht werden. Speicherplatz lässt sich so optimal ausnutzen. Benötigt man mehr Ressourcen, kann der IT-Manager neue Kapazitäten in Form eines neuen Speicherknotens relativ einfach hinzufügen.
Neben schnellem Zugriff und einfacher Erweiterung ergeben sich mit der Speicherart neue Möglichkeiten, Metadaten zu erzeugen. Doch wozu?
Wozu individualisierte Metadaten?
Anders als beim klassischen Speicher sind die Metadaten für die Objekte im Storage frei wählbar. Informationen zum Namen, Erstellungsdatum, Dateityp oder Ähnliches können für jedes Objekt individuelle Metadaten ergänzt werden.
So lassen sich beispielsweise Informationen der zugehörigen Anwendung integrieren oder Nutzerdaten einfügen, der Grad des Datenschutzes oder ein Verfallsdatum definiert werden. Dies ermöglicht ein professionelles Lifecycle-Management sowie eine Versionierung von Objekten. Auch für Analyse-Zwecke lassen sich Objekte dadurch optimieren, da diese direkt in den gespeicherten Daten ausgeführt werden können.
Charakteristika für Objektspeicher sind:
- Einfache Organisation und Verwaltung für große Mengen an unstrukturierten Daten
- maßgeschneiderte Metadaten
- nicht-limitierte Skalierbarkeit
- Zugriff via Internet-Protokollen anstelle von Storage-Befehlen
- Einsatz herkömmlicher Komponenten ist möglich
Nachteile von Objektspeichern: Transaktionen & Performance
Reiner Objektspeicher ist als »Fixed Object« mit starren Inhalten konzipiert. Das bedeutet, dass sich zwar Objekte schnell und einfach erstellen, löschen und lesen lassen, aber nicht direkt aktualisieren oder modifizieren lassen. Statt Daten direkt zu ändern, gilt es jedes Mal ein komplett neues Objekt zu erzeugten. Dies geht auf Kosten der Performance bei Anwendungen, in denen häufig Änderungen vorgenommen werden (müssen), da das Schreiben von Objekten ein eher langsamer Prozess ist.
Auch gilt die Erstellung einer Applikation zur Verwendung einer Object-Storage-API als wesentlich komplexer im Vergleich zu von File-Storage. Deshalb erfolgt die Integration eines Objektspeichers meist via Web über dedizierte Nutzerportale oder über einen entsprechenden kompatiblen Client. Dies impliziert meist auch eine gewisse Abhängigkeit vom Anbieter.
Implementierung von Objektspeicher
S3 (aus den Amazon Web Services AWS) hat sich als Quasistandard für die Objekt-Storage-Schnittstelle etabliert. Auch S3 basiert auf HTTP(S), um die Anforderungen einer geografisch verteilten Infrastruktur umsetzen zu können. Alternativen gibt es zahlreiche, unter den großen Public-Cloud-Anbietern etwa Microsoft Azure Blob Storage oder Google Cloud Storage. Dazu zahllose überregionale und lokale Cloud-Services und klassische Storage-Anbieter mit Cloud-Lösungen. Datenmigrationen zwischen den Anbietern sind zwar möglich, oft aber auch komplex und nicht ohne weiteres reziprok. Das heißt, Clients helfen gerne in eine Cloud hinein, aber selten hinaus.
Prinzipiell kann Objektspeicher auf verschieden Arten implementiert werden. Am einfachsten dürfte die Verwendung einer Gateway-Lösung sein, um eine lokale Applikation an eine öffentliche Cloud zu koppeln. Insbesondere die großen Storage-Hersteller bieten Objekt-Speicher-Komplettlösungen, mit lokalen Elementen (Hard- und Software) und einer Cloud-Anbindung. Per Software-only lassen sich aber auch lokale Ressourcen (Server und vorhandener Block- oder File-Storage) ganz oder partiell als Object-Storage einrichten.
Hochverfügbarkeit und Redundanz mit Object-Storage
Bei traditionellen Speichersystemen wird Datensicherheit über Methoden wie Synchronisation oder Replikation erzielt. Dies kann vergleichsweise komplex (und kostspielig) werden, da dies stark abhängig von gegebenen Latenz- und Netzwerk-Bedingungen ist.
Der starre Object-Storage erreicht Redundanz und Hochverfügbarkeit zumindest relativ einfach, indem mehrere Kopien desselben Objekts auf multiplen Speicher-Nodes gesichert werden. Und diese sind technisch eher wenig kostenintensiv ausgelegt. Ein Objekt wird also auf einem Knoten erstellt und danach auf einen weiteren kopiert. Die Knoten können sich dabei im selben Rechenzentrum befinden oder geographisch getrennt sein.
Big-Data und Workflow-Integration
Object-Storage ist gerade für den Einsatz in einem Bereich interessant, den man etwas vergröbert als Big-Data bezeichnen kann: vom großen Medienarchiv über die Datenerfassung im Internet-of-Things (IoT) bis hin zu Big-Data-Analytics im Bereich Machine-Learning (ML). Ebenso eignet er sich für die Bereitstellung von statischen Inhalten, die Speicherung von Backup-Daten und auch für die Notfallwiederherstellung.
Typische Anwendungsfälle für Objektspeicher sind:
- Speicherung unstrukturierter Daten wie Multimedia-Dateien
- Backup-Target
- Auslagerung von kalten Daten
- Medienarchiv
- Bereitstellung statischer Webinhalte
- Erfassung von IoT-Sensordaten
- Permanent Storage für Stateless-Computing
- Trainings- und Produktionsdaten für Machine-Learning
Objektspeicher & die Kosten: Rechnung mit vielen Unbekannten
Aussagen zu den Kosten sind dabei äußerst schwierig bis kaum zu treffen, da zu viele Parameter bei der Abrechnung aufgerufen werden. Auch hier geht der Trend zu Pay-per-Use-Modellen. Die Vorteile liegen dementsprechend bei geringeren Investitionskosten (CAPEX), müssen langfristig aber mit den Betriebskosten (OPEX) abgeglichen werden. Und das ist im Einzelfall schwierig.
Denn zu den aufgerufenen Parametern gehören die Art und Zahl der Applikationen, User und Zugriffen, die genutzte Speichermenge der Objekte und ihrer diversen Versionen, ebenso die Art und Anzahl der Anforderungen (also der Kommandos wie PUT, LIST oder GET).
Komplexe Kostenkalkulatoren werden den größeren Anbietern offeriert und sind nützlich, wenn der Anwender seine Anforderungen genau kennt. Die generelle Aussage, Object-Storage sei im Vergleich zu File- und Block-Speicher prinzipiell günstiger, würden wir an dieser Stelle so nicht treffen.
Fazit: Object-Storage für große, statische Datenmengen
Object-Storage eignet sich für die Speicherung relativ statischer, großer Datenmengen in einer Cloud. Für häufig sich ändernde Daten oder gemeinsame Datenzugriffe ist diese Speicherlösung nicht optimiert. Auf welchem Speichermedium und an welchen Standorten die Inhalte liegen ist in der Regel nicht relevant, der Fokus liegt eher auf den Daten und den damit verbundenen, verwertbaren Mehrinformationen. In diesem Bereich hat sich Objekt-Speicher neben Block und File etabliert, in anderen nicht. Der IT-Manager muss sich letztlich orientieren und entscheiden, welches Konzept er für welche Geschäftsanforderung oder Applikation wählt.
- OpenIO – Object-Storage mit Open-Source
- Cloudian/Vmware: 50TByte-Objektspeicher für Medizineinrichtungen
- Doc Storage: Object-Storage – schon reif?
- Doc Storage: Wie sinnvoll sind Objektspeicher mit NAS-Funktion?
- Cloudian: »Deutsche Kunden am anspruchsvollsten«
- Cloudian Objektspeicher für Videoüberwachung
- Cloudian kombiniert NAS und Objektspeicher