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é.
Restez au fait des tendances les plus étonnantes du secteur dans le domaine de l’IA, de l’automatisation, des données et bien d’autres avec la newsletter Think. Consultez la Déclaration de confidentialité d’IBM.
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.
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 :
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).
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.
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é).
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.
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.
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.
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 :
Les entreprises peuvent accéder au stockage persistant pour les conteneurs grâce à une gamme d’outils et de solutions :
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.
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.
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.
Le stockage persistant pour les conteneurs prend en charge les cas d’utilisation suivants :
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.
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.
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.
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.
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.
Utilisez les logiciels et outils DevOps pour construire, déployer et gérer des applications cloud natives sur plusieurs appareils et environnements.
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.
¹ Application Container Market Report, Strategic Market Research, août 2025.