Zwei Entwickler, die auf einen Computerbildschirm schauen

Was ist persistenter Speicher für Container?

Persistenter Speicher für Container, definiert

Persistenter Speicher von Containern speichert Daten über den Lebenszyklus einzelner Container hinaus, was sicherstellt, dass kritische Informationen verfügbar bleiben.

Container sind für die Entwicklung cloudnativer Anwendungen unerlässlich. Es handelt sich um leichtgewichtige, portable Softwareeinheiten, die eine Anwendung und ihre Abhängigkeiten verpacken und so die Bereitstellung in modernen IT-Infrastrukturen vereinfachen.

Container sind von Natur aus kurzlebig. Sie sind als temporäre Systeme gedacht, die je nach Bedarf gestartet und abgeschaltet werden. Diese Flexibilität macht sie zwar hochflexibel und skalierbar, aber alle generierten Containerdaten gehen verloren, wenn der Container nicht mehr läuft. Persistenter Speicher löst dieses Problem, indem die Daten unabhängig von einzelnen Containern verfügbar bleiben.

Ohne persistenten Speicher würden wichtige Systeme ausfallen. Zum Beispiel würde die Transaktionsdatenbank einer Bank, die in Containern läuft, bei routinemäßigen Aktualisierungen Kundenkontosalden verlieren oder eine E-Commerce-Plattform bei jedem Neustart Einkaufswagen verlieren.

Da Unternehmen zunehmend auf cloudnative und Microservice-Architekturen umsteigen, sind Container zu einem zentralen Bestandteil der Anwendungsbereitstellung und -verwaltung geworden, wodurch persistenter Speicher für Container unerlässlich wird, um zustandsbehaftete Anwendungen in großem Umfang ausführen zu können. Laut einem aktuellen Bericht von Strategic Market Research wurde der globale Markt für Anwendungscontainer im Jahr 2024 mit etwa 2,1 Milliarden USD bewertet. Es wird prognostiziert, dass der Markt bis 2030 auf 6,9 Milliarden USD anwachsen wird, was einer durchschnittlichen jährlichen Wachstumsrate (CAGR) von 21,1 % entspricht.¹

In Unternehmensumgebungen kommt persistenter Speicher in Form von Datei-, Block- und Objektspeicher vor, die jeweils für unterschiedliche Arbeitslasten geeignet sind. Unternehmen stellen diese Speicherlösungen typischerweise durch eine Kombination aus Hardware-Systemen und softwaredefinierten Speicherplattformen (SDS) bereit, die für hybride Cloud- und verteilte Cloud- Umgebungen ausgelegt sind.

Überblick über Containerisierung und Kubernetes

Containerisierung besteht darin, Softwarecode mit nur den Betriebssystem- (OS-)Bibliotheken und Abhängigkeiten – typischerweise Linux-basierten – zu verpacken, die zum Ausführen erforderlich sind. Durch diesen Prozess entsteht eine einzige leichte Einheit, wie zum Beispiel ein Container, die konsistent in jeder Infrastruktur ausgeführt werden kann.

Als Unternehmen von virtuellen Maschinen (VMs) zu Containern wechselten, wuchs der Bedarf, containerisierte Workloads in großem Maßstab zu verwalten. Docker, 2013 eingeführt, machte Container allgemein zugänglich, indem es Entwicklern eine standardisierte Methode bot, sie zu erstellen und zu teilen. Aber das Orchestrieren von Hunderten oder Tausenden von Containern in hybriden Multicloud-Umgebungen erfordert eine Möglichkeit, mit Komplexität umzugehen. Daher wurde Kubernetes entwickelt, um die Bereitstellung, Skalierung und Verwaltung containerisierter Anwendungen zu automatisieren.

Kubernetes wurde 2014 von Google entwickelt und ist eine Open-Source-Plattform, die von der Cloud Native Computing Foundation (CNCF) betrieben wird. Große Cloud-Provider wie AWS, Microsoft Azure, Google Cloud und IBM Cloud unterstützen die Plattform.

Kubernetes führt Container in Pods aus, die über Knoten in einem Kubernetes-Cluster verteilt werden. Es verwaltet die Konfiguration und Kommunikation zwischen Komponenten über Application Programming Interfaces (APIs) und unterstützt automatisierte Orchestrierung über verschiedene Systeme hinweg. Heute ist Kubernetes der de facto-Standard für Container-Orchestrierung.

Im Zusammenhang mit Datenspeicher ist ein wichtiger Aspekt der Funktionsweise von Kubernetes das Verständnis der Unterscheidung zwischen zustandslosen und zustandsbehafteten Anwendungen. Zustandslose Anwendungen (zum Beispiel Webserver, die API-Anfragen bearbeiten) bearbeiten jede Anfrage unabhängig. Als Ergebnis speichern sie keine Daten zwischen den Sitzungen. Im Gegensatz dazu speichern zustandsbehaftete Anwendungen (zum Beispiel Datenbanken) Daten und sind auf Informationen aus früheren Interaktionen angewiesen, um ordnungsgemäß zu funktionieren.

Außerdem sind Container und Pods in Kubernetes flüchtig und können jederzeit gestoppt, neu gestartet oder neu geplant werden. Bei zustandslosen Anwendungen stellt dieses Verhalten kein Problem dar. In zustandsvollen Anwendungen gehen jedoch beim Stoppen eines Containers alle darin gespeicherten Daten verloren. Hier spielt persistenter Speicher eine wichtige Rolle in containerisierten Umgebungen, indem er Daten vom Container-Lebenszyklus trennt.

Neben traditionellen Anwendungen, die auf Container umgestellt werden, sind datenintensive Workloads wie Datenbanken, künstliche Intelligenz (KI) und maschinelles Lernen (ML) zunehmend cloudbasiert. Diese Workloads erfordern einen persistenten Speicher, um sicherzustellen, dass die Daten das Beenden des Containers überstehen, den Zustand innerhalb verteilter Systeme aufrechterhalten und die hohe Leistung und geringe Latenz, die das Modelltraining erfordert, bieten.

IBM DevOps

Was ist DevOps?

Andrea Crawford erklärt, was DevOps ist, welchen Wert DevOps hat und wie DevOps-Praktiken und -Tools Ihnen dabei helfen, Ihre Anwendungen durch die gesamte Delivery Pipeline der Softwareentwicklung von der Idee bis zur Produktion zu bringen. Das von führenden IBM Experten geleitete Programm soll Führungskräften das nötige Wissen vermitteln, um Prioritäten für KI-Investitionen zu setzen, die zu mehr Wachstum führen.

Wie funktioniert persistenter Speicher für Container?

Persistenter Speicher für Container basiert auf einer Reihe von Komponenten, die zusammenarbeiten, um Daten von den Containern zu trennen. In Kubernetes konfigurieren Administratoren die Speicherinfrastruktur, während Entwickler und Anwendungen über einfache Anfragen darauf zugreifen.

Zu diesen Komponenten gehören:

  • Volumes und Bind-Mounts
  • PersistentVolume (PV)
  • PersistentVolumeClaim (PVC)
  • Speicherklassen
  • Container-Speicherschnittstelle (CSI)

Volumes und Bind Mounts

Es gibt zwei Hauptmöglichkeiten, Speicher an Container anzuhängen: Bind Mounts und benannte Volumes (zum Beispiel Docker-Volumes).

  • Bind Mounts verbinden eine bestimmte Datei oder ein Verzeichnis vom Host-Rechner direkt in einen Container.
  • Volumes gewinnen an Flexibilität, da Kubernetes sie über verschiedene Speichersysteme hinweg verwaltet.

Ein Volume ist ein Speicherort, auf den die Container in einem Pod zugreifen können. Im Gegensatz zu einem kurzlebigen Speicher innerhalb eines Containers, der verschwindet, wenn der Container zum Stillstand kommt, bleibt ein Volume für die gesamte Lebensdauer des Pods erhalten. Das bedeutet, dass bei einem Ausfall und Neustart eines Containers innerhalb desselben Pods die Daten im Volume verfügbar bleiben.

Volumes können mit verschiedenen Arten von Speichergeräten verbunden werden, darunter lokale Festplatten, Network-Attached Storage über Protokolle wie das Network File System (NFS) oder cloudbasierte Speicherdienste.

PersistentVolume (PV)

Ein PersistentVolume stellt Speicher innerhalb des Kubernetes-Clusters bereit und wird entweder manuell oder automatisch erstellt.

Der Hauptunterschied zwischen einem regulären Volume und einem PersistentVolume liegt in der Lebensdauer. Ein PersistentVolume existiert unabhängig von jedem Pod. Diese Einrichtung bedeutet, dass der Speicher auch dann erhalten bleibt, wenn der Pod, der darauf zugriff, gelöscht oder auf einen anderen Rechner verschoben wird.

PersistentVolumes haben ihren eigenen Lebenszyklus, getrennt von den Pods, die sie verwenden. Administratoren können sie mit einer bestimmten Speicherkapazität sowie Lese-/Schreibzugriffsberechtigungen konfigurieren (z. B. „ReadWriteOnce“ für den Zugriff auf einen einzelnen Pod oder „ReadWriteMany“ für den gemeinsamen Zugriff).

PersistentVolumeClaim (PVC)

Ein PersistentVolumeClaim ist eine Speicheranforderung, die von einer Anwendung oder einem Benutzer gestellt wird. Anstatt sich direkt mit einem PersistentVolume zu verbinden, verwendet ein Pod einen PersistentVolumeClaim als Zwischenschicht. Der Anspruch spezifiziert die erforderliche Speicherkapazität und den erforderlichen Zugriffsmodus. Kubernetes ordnet es dann einem verfügbaren PersistentVolume zu. Diese Trennung bedeutet, dass Entwickler Speicher anfordern können, ohne die zugrundeliegende Speicherinfrastruktur verstehen zu müssen.

Wenn ein Anspruch mit einem PersistentVolume verbunden ist, kann der Pod Daten lesen und schreiben, genau wie bei jedem Dateisystem. Wenn der Pod verschoben oder neu gestartet wird, kann er weiterhin auf denselben Anspruch und dieselben persistenten Daten zugreifen.

StorageClasses

In Unternehmensumgebungen wird die manuelle Erstellung von Speicher-Volumes für jede Anwendung komplex und unüberschaubar. Kubernetes löst diese Herausforderung durch StorageClasses, die verschiedene Arten von Speicher definieren (zum Beispiel Hochleistungs-Solid-State Drives) und einen Bereithalter nutzen, um Datenvolumen bei Bedarf automatisch zu erstellen.

Wenn eine Anwendung Speicher anfordert und eine StorageClass referenziert, stellt Kubernetes das entsprechende Volume bereit, ohne dass eine manuelle Einrichtung erforderlich ist. Diese Funktion vereinfacht die gesamte Speicherverwaltung.

Container Storage Interface (CSI)

Die Container Storage Interface (CSI) ist eine standardisierte, herstellerneutrale API, die es Kubernetes ermöglicht, mit verschiedenen Speichersystemen zu interagieren.

CSI ermöglicht es den Plattformen von Speicheranbietern (zum Beispiel IBM Storage Fusion, NetApp), eigenständig eigene Plug-ins zu entwickeln und zu aktualisieren. Diese Plug-ins verwalten den gesamten Speicherlebenszyklus: Sie erstellen, verbinden, provisionieren und entfernen Volumes nach Bedarf.

Vorteile der dauerhaften Speicherung für Container

Persistenter Speicher für Container ermöglicht Unternehmen, Anwendungen in containerisierten Umgebungen auszuführen, was die folgenden Nutzen bietet:

  • Datenbeständigkeit und -widerstandsfähigkeit: Daten, die auf jedes persistente Volume geschrieben werden, überstehen Containerausfälle, Neustarts und Neuterminierungen, verhindern Datenverluste und stellen sicher, dass zustandsbehaftete Anwendungen auch dann resilient bleiben, wenn sich die zugrunde liegende Containerinfrastruktur verändert.
  • Vereinfachte Operationen: Dynamische Bereitstellung und automatisiertes Speichermanagement reduzieren die manuelle Arbeitsbelastung. Plattformteams definieren Speicherrichtlinien einmal, sodass Anwendungen Speicher als Self-Service-Ressource innerhalb ihres Namensraums nutzen können.
  • Hohe Leistung und Skalierbarkeit: Dauerhafte Speicherung für Container liefert den Durchsatz, geringe Latenz und Skalierbarkeit, die für datenintensive Workloads wie KI/ML-Training und Echtzeitanalysen erforderlich sind.
  • Flexibilität und Portabilität: Kubernetes-Persistent-Volumes und CSI-Treiber abstrahieren den Speicher, sodass Unternehmen Anwendungen über lokale Infrastrukturen, Private Cloud- und Public Cloud-Umgebungen ausführen und somit Hybrid Cloud-Strategien unterstützen können .
  • Sicherheit und Compliance: Persistente Datenvolumen, die von Unternehmensspeichersystemen unterstützt werden, bieten Datenschutzfunktionen, darunter Verschlüsselung, Replikation und Backup, die zur Erfüllung von Compliance- und regulatorischen Anforderungen erforderlich sind.
  • Kosteneffizienz: Dynamische Bereitstellung skaliert den Speicher je nach Nachfrage hoch oder herunter, während automatisiertes Daten-Tiering selten genutzte Daten auf kosteneffiziente Speicherebenen verschiebt und so Unternehmen hilft, die Kosten zu optimieren.
  • Gemeinsamer Zugang: Persistente Speicher für Container ermöglicht es mehreren Pods, dieselben Daten gleichzeitig zu lesen und zu schreiben, wodurch kollaborative Workflows ohne doppelte Speicherressourcen unterstützt werden.

Tools für persistenten Speicher von Containern

Unternehmen können auf dauerhafte Speicherung für Container über eine Reihe von Tools und Lösungen zugreifen:

  • Plattformen für die Container-Orchestrierung
  • Speicherlösungen für Unternehmen
  • Public Cloud-Provider 

Plattformen für die Container-Orchestrierung

Container-Orchestrierungsplattformen (zum Beispiel Red Hat OpenShift) bieten integriertes persistentes Speichermanagement mit integrierter Unterstützung für CSI-Treiber und dynamische Speicherbereitstellung.

Diese Plattformen vereinfachen die Bereitstellung und den Betrieb für Unternehmen, die containerisierte Workloads in großem Maßstab ausführen.

Enterprise-Speicherlösungen

Unternehmensspeicherplattformen (zum Beispiel IBM Storage Fusion) liefern container-native Speicherlösungen mit fortschrittlichen Datendiensten, darunter Snapshots, Klonen, Replikation und Notfallwiederherstellung.

Diese Plattformen integrieren sich über CSI-Treiber direkt in Kubernetes und bieten Sicherheit, Compliance-Funktionen und gemeinsame Zugriffskontrollen für zustandsbehaftete Anwendungen.

Öffentliche Cloud-Provider

Öffentliche Cloud-Provider, einschließlich Microsoft Azure, Google Cloud und IBM Cloud, bieten verwaltete Kubernetes-Dienste mit nativen persistenten Speicheroptionen an, wie Amazon Elastic Block Store (EBS) und IBM Cloud Block Storage.

Anwendungsfälle für persistenten Container-Speicher

Persistenter Speicher für Container unterstützt die folgenden Anwendungsfälle:

  • Datenbanken und Datenmanagement
  • KI-Workloads
  • DevOps und CI/CD
  • Backup und Notfallwiederherstellung (BDR) 
Datenbanken und Datenmanagement

Relationale und NoSQL-Datenbanken benötigen persistente Speicher für Container, um die Datenintegrität zu erhalten. Persistente Volumes gewährleisten, dass der Datenbankstatus auch bei Änderungen des zugrunde liegenden Systems konsistent bleibt.

KI-Workloads

Die heutigen KI-Workloads sind auf die dauerhafte Speicherung für das Training von Datensätzen, Modell-Checkpoints und Ergebnissen angewiesen. Das Trainieren von Modellen in großem Maßstab erfordert einen hohen Durchsatz beim Zugriff auf Datensätze, während Anwendungen, die Modelle bereitstellen, schnellen und zuverlässigen Zugriff auf trainierte Modelle benötigen.

DevOps und CI/CD

CI/CD-Pipelines verwenden persistente Speicher für Container, um Build-Artefakte und Testdaten zu pflegen. Persistent Volumes ermöglichen es DevOps und anderen Teams, die Build-Historie zu bewahren und konsistente Testumgebungen zu pflegen.

Backup und Notfallwiederherstellung (BDR)

Backup- und Notfallwiederherstellungsstrategien basieren auf persistentem Speicher für Container, um den Anwendungszustand zu erfassen. Organisationen können Volume-Snapshots erstellen, Daten auf sekundäre Standorte replizieren und Workloads bei Ausfällen schnell wiederherstellen.

Autoren

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Verwandte Lösungen Lösungen
IBM Instana Observability

Nutzen Sie die Leistungsfähigkeit von KI und Automatisierung, um Probleme im gesamten Anwendungs-Stack proaktiv zu lösen.

IBM Instana Observability kennenlernen
DevOps-Lösungen

Verwenden Sie DevOps-Software und -Tools, um cloudnative Anwendungen für mehrere Geräte und Umgebungen zu erstellen, bereitzustellen und zu verwalten.

DevOps-Lösungen erkunden
Cloud-Beratungsleistungen

Geschäftsagilität und -wachstum beschleunigen: Modernisieren Sie Ihre Anwendungen mit unseren Cloud-Consulting-Services durchgehend auf jeder Plattform.

Erkunden Sie Cloud-Beratungsleistungen
Machen Sie den nächsten Schritt

Von proaktiver Erkennung mit IBM Instana bis hin zu Echtzeit-Erkenntnissen in Ihrem Stack können Sie cloudnative Anwendungen zuverlässig am Laufen halten.

  1. Entdecken Sie IBM Instana
  2. DevOps-Lösungen erkunden
Fußnoten

¹ Application Container Market Report, Strategic Market Research, August 2025.