Shared Storage und Storage Container
An der Container-Technologie führt kein Weg vorbei
Shared Storage für Applikations-Container
Mit einem verteilten Filesystem, das Speichergrößen im Petabereich unterstützt, lassen sich gemeinsam genutzte Daten oder auch Konfigurationsdaten für Stateful Container bereitstellen. In einem solchen Fall kommt es den Applikationen nicht auf einen isolierten Datenspeicher an. Sie benötigen vielmehr ein Shared Persistent Filesystem zur Speicherung und gemeinsamen Nutzung der Daten durch mehrere, auf verschiedenen Hosts verteilte Applikations-Container. Weit verbreitet sind Implementierungsmodelle, bei denen große Datenmengen von mehreren Clients beziehungsweise Tenants gemeinsam verwendet werden wie zum Beispiel zur Datenanalyse.
Einige Applikationen benötigen jedoch eine Datenisolierung oder nur eine geringe Speicherkapazität für individuelle Applikations-Container. In diesem Fall sollte das Storage auch Block Devices über ein Cluster-Orchestrierungs-Framework wie Kubernetes bereitstellen.
In konventionellen Implementierungen, bei denen Applikations-Container auf eigens dafür optimierten Infrastrukturplattformen laufen, kommen zum Zugriff auf Storage Cluster oder Storage Appliances Protokolle und Schnittstelen wie NFS, iSCSI oder Fibre Channel zu Einsatz. Storage wird dabei im File- oder Block-Format bereitgestellt.
Storage Appliances stehen im deutlichen Gegensatz zum dynamischen Ansatz von Containern. Mit traditionellen Storage-Lösungen geht es meist nicht so leicht, schnell einmal ein paar zusätzliche Storage-Einschübe hinzufügen, um eine neue Multi-Tier-Anwendung zu testen. Eine Software-basierte Storage Lösung hat hier erhebliche Vorteile.