iX 9/2017
S. 76
Report
Cloud-Storage
Aufmacherbild

Freie Objektspeichersoftware mit S3-API

Eimerweise

In den vergangenen Jahren sind etliche freie Objektspeicherdienste erschienen, die sowohl die Funktionen als auch die Schnittstelle des Amazon Simple Storage Service (S3) bieten. Beliebig austauschen lassen sie sich allerdings nicht.

Amazon hat mit dem Simple Storage Service (S3) seit über einer Dekade ein Angebot für einen skalierbaren Objektspeicherdienst. Dessen Funktionsumfang und die REST-Schnittstelle haben sich über die Jahre zu einer Art Standard für objektbasierte Cloud-Speicherdienste entwickelt.

Benutzer können beliebige Daten in Form von Objekten auf Amazons Speicherressourcen ablegen. Jedes Objekt kann maximal 5 TByte groß sein und zu jedem Objekt speichert S3 den Namen (den sogenannten Key) und 2 KByte Metadaten. Bei den Metadaten handelt es sich um das Datum des letzten Schreibzugriffs auf das Objekt, die Prüfsumme, den MIME-Type und die Länge des Objekts in Byte ohne Metadaten und Objektname.

Im flachen Namensraum von S3 weisen Anwender jedes Objekt einem sogenannten Bucket zu. Diese müssen eindeutige Namen haben und können keine weiteren Buckets enthalten. Benutzer können für Objekte und Buckets die Zugriffsberechtigung in Form einer Access Control List (ACL) festlegen. Objekte sind, sofern die ACL das erlaubt, global erreichbar. Der Zugriff erfolgt via REST oder SOAP. Die SOAP-API gilt allerdings als veraltet und wird nicht weiter gepflegt. Objekte lassen sich auch via BitTorrent erreichen, wenn dies der Kunde festgelegt hat.

Amazon garantiert für S3 eine Verfügbarkeit von 99,9 %: weniger als neun Stunden Ausfallzeit pro Jahr. Wird die garantierte Verfügbarkeit unterschritten, erhält der Kunde eine Gutschrift von 10 % (bei weniger als 99,9 %) oder 25 % (bei weniger als 99 %) auf den monatlichen Preis.

Die Popularität der S3-API zeigt sich auch darin, dass andere Unternehmen neben Amazon vergleichbare Dienste mit der S3-API anbieten. Beispiele hierfür sind Google Cloud Storage, Cloudian oder in Deutschland der Dunkel Cloud Storage. Der dynamische Markt bedeutet allerdings auch, dass einige Angebote wie HP Helion Public Cloud (bis 2016), Host Europe Cloud Storage (bis 2014) oder Nirvanix (bis 2013) schon wieder vom Markt verschwunden sind.

Private Cloud macht unabhängig

Aus verschiedenen Gründen ist es sinnvoll, S3-kompatible Storage-Alternativen zu haben, die sich für einen Einsatz im eigenen Netz eignen. Ein Fall sind Anwendungen, die wegen rechtlicher Anforderungen an Datenschutz oder Datensicherheit den Einsatz eines öffentlichen Dienstes ausschließen. Auch für Entwickler, die ihre Anwendungen mit der Schnittstelle testen wollen, ist ein eigener Server sinnvoll.

Das Angebot an freier Software für selbst gehosteten Storage mit S3-API ist umfangreich und darum zunehmend unübersichtlich. Die einzelnen Dienste implementieren die Funktionen des originalen S3 unterschiedlich präzise. Das Gleiche gilt für die API. Manche Unterschiede können einen reibungslosen Einsatz mit Drittsoftware oder selbst entwickelten Lösungen erschweren. Denkbar unterschiedlich sind bei den Produkten die nötigen Anstrengungen für Installation und Administration.

Tabelle: Freie Cloud-Speicherdienste mit der S3-API

Die Tabelle enthält eine Übersicht über die vorgestellte Software. Ein wichtiges Auswahlkriterium ist besonders die Fähigkeit, einen Cluster zu bilden. Ein nicht clusterfähiges System genügt, wenn lediglich ein Dienst gewünscht ist, der bei Entwicklung und Test einer eigenen Software unterstützen soll, oder ein leichtgewichtiger Speicherdienst für eine unkritische Anwendung gesucht ist. Ist das Ziel der Aufbau eines Produktivsystems mit einem hohen Maß an Ausfallsicherheit, muss der Speicherdienst die gespeicherten Objekte auf mehrere lokale Verzeichnisse und damit Speichergeräte verteilen und zusätzlich redundant laufen.

Elementar für die Datensicherheit ist der verwendete Massenspeicher. Jeder der in diesem Artikel beschriebenen Speicherdienste kann quasi als ein Frontend mit S3-API für ein oder mehrere Verzeichnisse an einem beliebigen Ort dienen. Die Daten können sich

 innerhalb eines POSIX-Dateisystems auf einem lokal verbundenen Speichergerät,

 innerhalb eines verteilten Dateisystems, das sich über mehrere physische Knoten erstreckt,

 innerhalb eines verteilten Network Attached Storage (NAS) oder

 innerhalb eines Speichernetzwerks – Storage Area Network (SAN) – befinden.