Shared Storage und Storage Container

An der Container-Technologie führt kein Weg vorbei

11.07.2016
Von Gerald Sternagl
Persistenter Storage für Container, hyperkonvergente Infrastrukturen und Object Storage zählen zu den wichtigsten Trends, die Unternehmen beim Einsatz von Systemen im Storage-Umfeld berücksichtigen sollten.

Die Container-Technologie gewinnt immer stärker an Bedeutung. Obwohl die Container-Idee nicht neu ist, hat sie mit dem Aufkommen neuer Technologien zunehmend an Geltung gewonnen. Heute muss sich nahezu jeder größerer Softwarehersteller mit Container-Technologien befassen.

Zu den zentralen Merkmalen von Containern zählen die Isolierung der Laufzeitumgebung und die Ressourcenkontrolle. Mittlerweile gibt es das standardisierte Open-Container-Format. Vorbild dafür sind die seit den 1950er-Jahren gebräuchlichen Industrie-Container. Sie sind standardisiert und genormt und werden zum Gütertransport per Schiff oder Lkw genutzt. Dieser Ansatz hat sich heute auch in der Anwendungsentwicklung etabliert.

Die Stärke von Containern ist die Kapselung von Applikationslogik. Die nächste Entwicklungsstufe in Richtung Vereinfachung und Standardisierung zeichnet sich bereits ab. Im Laufe der Zeit werden sich Applikationen, die aus großen, komplexen Codeblöcken bestehen, in kleinere, unabhängig voneinander implementierbare Konstrukte - sogenannte Microservices - verwandeln. Container gelten weithin als Schlüsseltechnologie, die den Übergang zu Microservices ermöglichen.

Die Entwickler können sich mit Containern ihre virtuelle Server-Umgebung auf Basis von einfach zu erzeugenden Microservices selbst erstellen und sie sind dabei nicht mehr auf die Kollegen vom IT-Betrieb angewiesen. Damit wird eine vereinfachte Abstimmung zwischen der Applikationsentwicklung und dem IT-Betrieb möglich. Im Ergebnis führt dies zu kürzeren Testzyklen, einer höheren Softwarequalität und einem vereinfachten Applikations-Management. Container-Technologie schafft nach und nach die Voraussetzungen für eine schnellere Bereitstellung von Applikationen.

Ein zentrales Merkmal von Containern ist die Isolierung der Laufzeitumgebung und die Ressourcenkontrolle.
Ein zentrales Merkmal von Containern ist die Isolierung der Laufzeitumgebung und die Ressourcenkontrolle.
Foto: Red Hat

Gleichzeitig mit der Verbreitung der Container-Technologie in den Unternehmen erwarten IT-Administratoren eine Funktionalität, wie sie diese aus virtualisierten Umgebungen gewohnt sind. Eine der wichtigsten Anforderungen ist persistenter Storage. Lange Zeit gab es jedoch keine überzeugende Lösung, um Applikationsdaten über den gesamten Lebenszyklus eines Containers zu speichern.

Flüchtiger, lokaler Speicher reicht nicht aus. Zustandsbehaftete (stateful) Applikationen erfordern jedoch, dass Daten auch über den Lebenszyklus eines Containers hinaus verfügbar sind. Zwar erfüllen Cloud-Storage-APIs diese Anforderungen, aber nicht jeder will seine Anwendungen auf Cloud-APIs umschreiben und nicht jeder will oder darf seien Daten in der Cloud speichern.

Mit einer eingebauten Hardwareunabhängigkeit und Flexibilität wird Software Defined Storage (SDS) den Herausforderungen besser gerecht. Software Defined Storage lässt sich in physischen Umgebungen, virtualisiert und in der Cloud einsetzen und zwar wesentlich einfacher als traditionelles monolithisches Storage. Es unterstützt sowohl gängige Storage-APIs, wie zum Beispiel POSIX, als auch Block und Object Storage. Um persistente Daten für Applikation-Container bereitzustellen, lassen sich zwei Optionen unterscheiden: Shared Storage und Storage-Container.