Was ist eigentlich Object Storage?

Die Begriffe Object Storage und die dazugehörigen Protokolle S3 und Swift sind zurzeit allgegenwärtig. Meistens wird Object Storage als sicherer und flexibler Cloud-Speicher beworben. Doch was genau bedeutet das?
In diesem Blog-Beitrag möchte ich dies einfach erklären, indem ich zunächst auf die Vor- und Nachteile von Object-Storage im Vergleich zu anderen Speicherarten eingehe und anschließend kurz erläutern, wie man Object Storage sinnvoll implementieren kann.

Speicherarten

Starten wir mit einem Überblick über die gängigsten Möglichkeiten Daten auf zentralen Netzwerk-Speichersystemen abzulegen:

Objekt Storage, Speicherarten

Block Storage

Die klassischen Protokolle für Block Storage sind Fibre-Channel und iSCSI. Die Daten werden hier auf einer Art „Remote-Festplatte“ gespeichert. Das jeweilige Betriebssystem steuert dabei direkt die Festplatte, Block für Block, als wäre sie im Server direkt eingebaut.

File Storage

Die bekanntesten Protokolle sind hier wohl NFS (für Linux) und SMB/CIFS (für Windows). Der Fokus hierbei liegt meist auf dem gemeinsamen Nutzen von Datei-Freigaben über das Netzwerk. Das Betriebssystem agiert hier auf Datei Ebene. Der Client hat keinen Einfluss, wie genau die Blöcke einer Datei auf die Server-Festplatte geschrieben wird. Er gibt die Anweisung „Öffne X:\Firmenablage\Urlaub.xlsx“ und der Server liefert die entsprechenden Daten aus. Der Vorteil ist, dass mehrere Clients gleichzeitig auf einem Share Arbeiten können. Dabei muss man sich stets über die Strukturierung der Daten (z.B. Ordner-Struktur) Gedanken machen. Vor allem viele Dateien in einer Ebene können sonst Probleme machen.

Object Storage

Im Vergleich zum File-Storage wird bei Object Storage nicht nur die Datei, sondern auch die dazugehörigen Metadaten betrachtet, also das ganze Objekt. Das macht es einfacher Daten zu strukturieren.
Metadaten sind Attribute, um Dateien besser zu organisieren, indem sie den Dateiinhalt näher beschreiben. Ein mögliches Attribut ist z.B. der Ort, an dem ein Foto aufgenommen wurde. Das Foto ist die Datei, der Ort zählt zu den Metadaten. Zusammen ergibt dies ein Objekt. Nachdem auch die Metadaten Platz verbrauchen, ist der Overhead für jede Datei entsprechend minimal höher als beim File- oder Block-Storage.

Für was und wie nutzt man Object Storage?

Für Backup

Der S3 Protokoll-Standard von Amazon wird von sehr vielen Backup-Anwendungen (wie z.B. Commvault) mittlerweile als generischer Standard unterstützt. Es basiert auf dem HTTP(S)-Protokoll und ist somit leicht zu implementieren und die Übertragung ist direkt verschlüsselt. Die Backup-Anwendung legt die Daten einfach ab. Der Object Store kümmert sich im Hintergrund automatisch um die redundante Speicherung der Daten und ggf. sogar um eine Replikation an einen weiteren Standort.
Für den Fall das eine Backup Software noch keinen Object Storage unterstützt, gibt es Produkte wie die NetApp Altavault, die als Schnittstelle fungiert.

Für Softwareentwickler

Als Softwareentwickler muss man sich oft Gedanken machen, wie man die Daten seiner Applikation sinnvoll strukturiert, repliziert und indexiert und die Integrität sicherstellt. Oft bieten sich Datenbanken an. Hat man es aber mit Bildern oder PDF-Dateien zu tun, sind diese aber nicht das Mittel der Wahl. Also legt man diese Daten direkt auf der Festplatte ab und sammelt alle weiteren Informationen in einer Datenbank. Die Anwendung führt diese Informationen dann zusammen. Diese komplette Arbeit kann einem ein Object Store für diese Art von Daten abnehmen.
Nehmen wir eine Bücherei als Beispiel, wie man Daten strukturieren kann. Neben dem eigentlichen Text in einem Buch sind noch viele weitere Informationen wichtig. Der Autor, Verlag, Datum der Veröffentlichung etc. all dies wären Metadaten. Beim Object Storage werden diese nicht wie bisher in einer separaten Datenbank gespeichert, sondern direkt mit der eigentlichen Datei. Aufgrund der generischen Schnittstelle kann jede Anwendung sofort darauf zugreifen, ohne zusätzlich noch an eine extra Datenbank angebunden zu sein.
Nachdem es für alle gängige Programmiersprechen bereits vorbereitete SDKs gibt ist es möglich Object Storage in seine Anwendung zu implementieren.
Object Storage spart einem so viel Arbeit und Zeit beim Programmieren.

Object Storage bei Teamix

Nachdem wir einige Technologien evaluiert haben, setzen wir auf StorageGRID Webscale  von NetApp. So bieten wir auf unserer bewährten und zertifizierten  Backup as a Service Plattform Flexvault ebenfalls „Cloud Object Storage“ an.

Haben Sie Fragen zum Thema Integration von Object Storage in Ihre Umgebung oder möchten Sie unseren Flexvault Object Storage kostenfrei testen? Nehmen Sie einfach Kontakt mit uns auf.

Patrick Müller

Patrick Müller ist seit 2015 für die teamix GmbH in Nürnberg tätig. Er beschäftigt sich hauptsächlich mit der Konzeption, Weiterentwicklung und dem Betrieb der teamix Cloud Services, ist aber auch als Consultant im Bereich Open Source und Netzwerk unterwegs.
Vor seiner Zeit bei teamix war Patrick für ein Bankrechenzentrum tätig.

 
Kommentare

Noch keine Kommentare vorhanden.

Hinterlassen Sie einen Kommentar