Deux développeurs regardant un écran d’ordinateur

Qu’est-ce que le stockage persistant pour les conteneurs ?

Définition : stockage persistant pour les conteneurs

Le stockage permanent pour les conteneurs permet de conserver les données au-delà du cycle de vie de chaque conteneur, ce qui garantit la disponibilité des informations critiques.

Essentiels au développement d’applications cloud natives, les conteneurs sont des unités logicielles légères et portables qui regroupent une application et ses dépendances, les rendant simples à déployer sur toute l’infrastructure informatique moderne.

Les conteneurs sont par nature éphémères. Ils sont conçus pour être temporaires, se lançant et s’arrêtant en fonction des besoins. Bien que cette flexibilité les rende très souples et évolutifs, toutes les données générées par les conteneurs sont perdues lorsque le conteneur cesse de fonctionner. Le stockage persistant résout ce problème en maintenant les données disponibles indépendamment de chaque conteneur individuel.

Sans stockage persistant, les systèmes critiques tomberaient en panne. Par exemple, la base de données de transactions d’une banque fonctionnant dans des conteneurs perdrait des soldes clients lors des mises à jour régulières ou une plateforme e-commerce perdrait des paniers à chaque redémarrage.

Alors que les entreprises continuent de s’orienter vers des architectures cloud natif et microservice, les conteneurs sont devenus centraux pour le déploiement et la gestion des applications, rendant le stockage persistant des conteneurs essentiel pour exécuter des applications avec état à l’échelle. Selon un récent rapport de Strategic Market Recherche, le marché mondial des conteneurs d’application était évalué à environ 2,1 milliards de dollars en 2024. Il est prévu qu’il atteindra 6,9 milliards de dollars d’ici 2030, avec un taux de croissance annuel composé (TCAC) de 21,1 %.¹

Dans les environnements d’entreprise, le stockage persistant prend la forme de stockage de fichiers, de blocs et d’objets, chacun adapté à des workloads différents. Les entreprises fournissent généralement ces solutions de stockage par le biais d’une combinaison de systèmes matériels et de plateformes de stockage défini par logiciel (SDS) conçues pour prendre en charge les environnements de cloud hybride et de cloud distribué.

Présentation de la conteneurisation et de Kubernetes

La conteneurisation consiste à empaqueter du code logiciel avec uniquement les bibliothèques et les dépendances du système d’exploitation (OS), généralement basées sur Linux, nécessaires à son exécution. Ce processus crée une unité légère unique, telle qu’un conteneur, qui peut fonctionner de manière cohérente dans n’importe quelle infrastructure.

Alors que l’entreprise est passée des machines virtuelles (VM) au conteneur, la nécessité de gérer le workload conteneurisé à l’échelle s’est accrue. Docker, introduit en 2013, a rendu les conteneurs largement accessibles en offrant aux développeurs un moyen standardisé de les construire et de les partager. Mais orchestrer des centaines voire des milliers de conteneurs à travers des environnements multicloud hybrides nécessite une manière de gérer la complexité. Par conséquent, Kubernetes a été développé pour automatiser le déploiement, la mise à l’échelle et la gestion des applications conteneurisées.

Créé par Google en 2014, Kubernetes est une plateforme open source soutenue par la Cloud Native Computing Foundation (CNCF). Les principaux fournisseurs de cloud tels qu’AWS, Microsoft Azure, Google Cloud et IBM Cloud prennent en charge la plateforme.

Kubernetes exécute des conteneurs dans des pods, qui sont déployés à travers le nœud dans un Kubernetes cluster. Il gère la configuration et la communication entre les composants via des interfaces de programmation d’applications (API), assurant l’orchestration automatisée à travers divers systèmes. Aujourd’hui, Kubernetes est la norme de facto pour l’orchestration de conteneurs.

En matière de stockage de données, un aspect important du fonctionnement de Kubernetes consiste à comprendre la distinction entre les applications sans état et les applications avec état. Les applications sans état (par exemple, les serveurs web gérant les requêtes API) gèrent chaque requête de manière indépendante. Par conséquent, les données ne sont pas conservées entre les sessions. En revanche, les applications avec état (par exemple, les bases de données) conservent des données et dépendent des informations issues d’interactions précédentes pour fonctionner correctement.

De plus, les conteneurs et les pods de Kubernetes sont éphémères et peuvent être arrêtés, redémarrés ou reprogrammés à tout moment. Pour les applications sans état, ce comportement ne pose pas de problème. Cependant, dans les applications avec état, lorsqu’un conteneur s’arrête, toutes les données qui y sont stockées sont perdues. C’est ici que le stockage persistant joue un rôle essentiel dans les environnements conteneurisés en séparant les données du cycle de vie du conteneur.

Outre le transfert des applications traditionnelles vers des conteneurs, les workloads à forte intensité de données, telles que les bases de données, l’IA et ML, sont de plus en plus basées sur le cloud. Ces workload nécessitent un stockage persistant pour garantir que les données survivent à la terminaison du conteneur, maintiennent l’état au sein des systèmes distribués et fournissent les performances à haut débit et à faible latence que l’entraînement du modèle exige.

IBM DevOps

Qu’est-ce que le DevOps ?

Andrea Crawford présente le DevOps, démontre sa valeur, et explique de quelle façon les pratiques et les outils DevOps vous aident à faire progresser vos applications dans l’ensemble du pipeline de livraison logiciel, de l’idéation à la production. Dirigé par des leaders d’opinion d’IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires pour donner la priorité aux investissements dans l’IA capables de stimuler la croissance.

Comment fonctionne le stockage persistant pour les conteneurs ?

Le stockage persistant pour les conteneurs repose sur un ensemble de composants qui fonctionnent ensemble pour séparer les données des conteneurs. Dans Kubernetes, les administrateurs configurent l’infrastructure de stockage, tandis que les développeurs et les applications y accèdent par le biais de simples requêtes.

Ces composants comprennent :

  • Volumes et montages liés
  • PersistentVolume (PV, volume persistant)
  • PersistentVolumeClaim (PVC, demande de volume persistant)
  • Classes d’archivage
  • Interface de stockage de conteneurs (CSI)

Volumes et montages liés

Il existe deux façons principales d’attacher le stockage aux conteneurs : les montages par liaison et les volumes nommés (par exemple, les volumes Docker).

  • Les montages par liaison connectent un fichier ou un répertoire spécifique depuis la machine hôte directement dans un conteneur.
  • Les volumes gagnent en flexibilité, car Kubernetes les gère sur différents systèmes de stockage.

Un volume est un emplacement de stockage accessible aux conteneurs dans un pod. Contrairement au stockage éphémère dans un conteneur, qui disparaît lorsque le conteneur s’arrête, un volume persiste pendant toute la durée de vie du pod. Cela signifie que si un conteneur tombe en panne et redémarre dans le même pod, les données dans le volume restent disponibles.

Les volumes peuvent se connecter à différents types de périphériques de stockage, y compris les disques locaux, le stockage en réseau via des protocoles tels que le Network File System (NFS) ou les services de stockage basé sur le cloud.

PersistentVolume (PV, volume persistant)

Un PersistentVolume fournit un espace de stockage au sein du cluster Kubernetes et est créé manuellement ou automatiquement.

La principale différence entre un volume normal et un volume persistant est la durée de vie. Un PersistentVolume existe indépendamment de tout pod. Cette configuration signifie que le stockage persiste même si le pod qui y accède est supprimé ou déplacé vers une autre machine.

Les PersistentVolumes ont leur propre cycle de vie, distinct de celui des pod qui les utilisent. Les administrateurs peuvent les configurer avec une capacité de stockage spécifique, des autorisations d’accès en lecture/écriture (par exemple, ReadWriteOnce pour un accès à un seul pod ou ReadWriteMany pour un accès partagé).

PersistentVolumeClaim (PVC, demande de volume persistant)

Une PersistentVolumeClaim est une requête de stockage effectuée par une application ou un utilisateur. Au lieu de se connecter directement à un PersistentVolume, un pod utilise un PersistentVolumeClaim comme couche intermédiaire. La demande précise la capacité de stockage et le mode d’accès requis. Kubernetes l’associe ensuite à un PersistentVolume disponible. Cette séparation signifie que les développeurs peuvent demander du stockage sans avoir à comprendre l’infrastructure de stockage sous-jacente.

Lorsqu’un claim est connecté à un PersistentVolume, le pod peut lire et écrire des données comme il le ferait avec n’importe quel système de fichiers. Si le pod est déplacé ou redémarré, il peut toujours accéder à la même demande et aux mêmes données persistantes.

StorageClasses

Dans les environnements d’entreprise, la création manuelle de volumes de stockage pour chaque application devient complexe et impossible à gérer. Kubernetes résout ce défi grâce aux StorageClasses, qui définissent différents types de stockage (par exemple, solid state drive haute performance) et utilisent un provisionneur pour créer automatiquement des volumes de données à la demande.

Lorsqu’une application demande du stockage et fait référence à une StorageClass, Kubernetes fournit le volume approprié sans avoir besoin de configuration manuelle. Cette fonctionnalité simplifie la gestion globale du stockage.

Interface de stockage des conteneurs (CSI)

L’interface de stockage de conteneurs (CSI) est une API standardisée et indépendante des fournisseurs qui permet à Kubernetes d’interagir avec divers systèmes de stockage.

La CSI permet aux plateformes des fournisseurs de stockage (par exemple, IBM Storage Fusion, NetApp) de développer et de mettre à jour leurs propres plug-ins de manière indépendante. Ces plug-ins gèrent le cycle de vie complet du stockage : création, attachement, approvisionnement et suppression de volumes selon les besoins.

Avantages du stockage persistant pour les conteneurs

Le stockage persistant pour les conteneurs permet aux entreprises d’exécuter des applications avec état dans des environnements conteneurisés, offrant ainsi les avantages suivants :

  • Durabilité et résilience des données : les données écrites sur chaque volume persistant survivent aux pannes, aux redémarrages et aux reprogrammations des conteneurs, empêchant ainsi la perte de données et garantissant la résilience des applications avec état même lorsque l’infrastructure de conteneurs sous-jacente évolue.
  • Opérations simplifiées : le provisionnement dynamique et la gestion automatisée du stockage réduisent le workload manuel. Les équipes chargées de la plateforme définissent les règles de stockage une seule fois, ce qui permet aux applications d’utiliser le stockage comme une ressource en libre-service au sein de leur espace de noms.
  • Haute performance et évolutivité : le stockage persistant pour les conteneurs offre le débit, la faible latence et l’évolutivité nécessaires pour des workloads à forte intensité de données, telles que la formation IA/ML et l’analyse en temps réel.
  • Flexibilité et portabilité : les volumes persistants et les pilotes CSI de Kubernetes assurent l’abstraction du stockage, ce qui permet aux entreprises d’exécuter des applications dans des infrastructures sur site, des environnements de cloud privé et de cloud public, prenant ainsi en charge les stratégies de cloud hybride.
  • Sécurité et conformité : les volumes persistants soutenus par les systèmes de stockage d’entreprise offrent des fonctionnalités de protection des données, notamment le chiffrement, la réplication et les capacités de sauvegarde nécessaires pour répondre aux exigences de conformité et de réglementation.
  • Rentabilité : le provisionnement dynamique ajuste le stockage à la hausse ou à la baisse en fonction de la demande, tandis que la hiérarchisation automatisée des données déplace les données rarement utilisées vers des niveaux de stockage économiques, aidant ainsi les entreprises à optimiser leurs coûts.
  • Accès partagé : le stockage persistant pour les conteneurs permet à plusieurs pods de lire et d’écrire simultanément les mêmes données, permettant ainsi des workflows collaboratifs sans dupliquer les ressources de stockage.

Outils de stockage persistant pour les conteneurs

Les entreprises peuvent accéder au stockage persistant pour les conteneurs grâce à une gamme d’outils et de solutions :

  • Plateformes d’orchestration de conteneurs
  • Solutions de stockage d’entreprise
  • Fournisseurs de cloud public 

Plateformes d’orchestration de conteneurs

Les plateformes d’orchestration de conteneurs (par exemple, Red Hat OpenShift) permettent une gestion intégrée du stockage persistant, avec une prise en charge intégrée des pilotes CSI et un provisionnement dynamique du stockage.

Ces plateformes simplifient le déploiement et les opérations pour les entreprises exécutant des workloads conteneurisées à l’échelle.

Solutions de stockage Enterprise

Les plateformes de stockage Enterprise (par exemple, IBM Storage Fusion) proposent des solutions de stockage natives pour les conteneurs avec des services de données avancés, notamment des snapshots, le clonage, la réplication et la reprise après sinistre.

Ces plateformes s’intègrent directement à Kubernetes par le biais de pilotes CSI, offrant une sécurité, des capacités de conformité et des contrôles d’accès partagés pour les applications avec état.

Fournisseurs de cloud public

Les fournisseurs de cloud public, notamment AWS, Microsoft Azure, Google Cloud et IBM Cloud, proposent des services Kubernetes gérés avec des options de stockage persistant natives, telles qu’Amazon Elastic Block Store (EBS) et IBM Cloud Block Storage.

Cas d’utilisation du stockage persistant dans les conteneurs

Le stockage persistant pour les conteneurs prend en charge les cas d’utilisation suivants :

  • Bases de données et gestion des données
  • Workloads d’IA
  • DevOps et CI/CD
  • Sauvegarde et reprise après sinistre (BDR) 
Bases de données et gestion des données

Les bases de données relationnelles et NoSQL nécessitent un stockage persistant pour les conteneurs afin de préserver l’intégrité des données. Les volumes persistants garantissent que l’état de la base de données reste constant même en cas de modification du système sous-jacent.

Workloads d’IA

Les workloads IA d’aujourd’hui dépendent d’un stockage persistant pour les jeux de données d’apprentissage, les points de contrôle des modèles et les résultats d’inférence. La formation de modèles à l’échelle nécessite un accès à haut débit aux jeux de données, tandis que les applications de service de modèles ont besoin d’un accès rapide et fiable aux modèles formés.

DevOps et CI/CD

Les pipelines CI/CD utilisent un stockage persistant pour les conteneurs afin de conserver les artefacts de construction et les données de test. Les volumes persistants permettent aux équipes DevOps et autres de conserver l’historique des constructions et de maintenir des environnements de test cohérents.

Sauvegarde et reprise après sinistre (BDR)

Les stratégies de sauvegarde et de reprise après sinistre reposent sur le stockage permanent des conteneurs afin de capturer l’état des applications. Les entreprises peuvent prendre des instantanés de volume, répliquer les données sur des sites secondaires et restaurer rapidement les workloads en cas de panne.

Auteurs

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Solutions connexes
IBM Instana Observability

Exploitez le pouvoir de l’IA et de l’automatisation pour résoudre de manière proactive les problèmes de la pile d’applications.

Découvrir IBM Instana Observability
Solutions DevOps

Utilisez les logiciels et outils DevOps pour construire, déployer et gérer des applications cloud natives sur plusieurs appareils et environnements.

Découvrir les solutions DevOps
Services de conseil en cloud

Renforcez l’agilité et la croissance de votre entreprise. Modernisez en continu vos applications sur n’importe quelle plateforme grâce à nos services de conseil cloud.

Découvrir les services de conseil cloud
Passez à l’étape suivante

De la détection proactive des incidents avec IBM Instana aux informations en temps réel sur l’ensemble de votre pile, garantissez la fiabilité de vos applications cloud-native.

  1. Découvrez IBM Instana
  2. Découvrir les solutions DevOps
Notes de bas de page

¹ Application Container Market Report, Strategic Market Research, août 2025.