Recherche
Langues
<
9 min read

Stockage Kubernetes : répondre aux exigences des charges de travail IA

Performance, persistance et efficacité des coûts
Dc Puls Bp Illustration de héros

L’IA fait évoluer les réflexions autour des infrastructures. Certes, de nombreux environnements d’entraînement dépendent encore de systèmes spécialisés, de performances bare-metal, de stockage de fichiers à haute vitesse et de clusters GPU étroitement gérés. Toutefois, Kubernetes prend une place de plus en plus importante dans les infrastructures dédiées à l’IA.Ai Solutions Icon

À mesure qu’elles dépassent le stade de l’expérimentation, les entreprises ont besoin de moyens fiables et reproductibles pour déployer, dimensionner, gérer et mettre à jour les services liés à l’IA. Cela inclut les environnements de développement de modèles, les applications d’inférence, les pipelines de données, les bases de données vectorielles, les services d’analyse et les applications de support, qui sont souvent conteneurisés. Kubernetes permet dans ce contexte de s’appuyer sur un même plan de contrôle pour déployer et administrer ces différents composants, quel que soit l’environnement dans lequel ils sont exécutés.

Alors que les charges de travail d’IA sont rarement simples ou sans état, alors qu’elles dépendent des données, des points de contrôle (checkpoints), des modèles, des métadonnées, des journaux et des services persistants, le stockage devient un élément central de l’architecture IA.

L’IA rend Kubernetes plus orienté vers les données

Kubernetes était à l’origine associé à des applications sans état : services web, API et microservices pouvant être redémarrés ou replanifiés sans grande considération pour les données locales. Ce n’est pas le cas en ce qui concerne les charges de travail IA.

Une application de service de modèles peut avoir besoin d’un accès rapide aux fichiers de modèle. Une base de données vectorielle requiert des volumes persistants. Un pipeline de données peut nécessiter un stockage fiable pour les sorties intermédiaires. Un flux d’entraînement peut générer des points de contrôle qui ne peuvent pas être perdus. Une équipe de développement peut avoir besoin d’espaces de travail partagés entre les notebooks, les outils et les services.

Dans ces environnements, un conteneur n’est pas simplement une unité de calcul jetable. Il fait partie d’un flux de travail plus vaste qui dépend d’un état persistant. Cela crée une exigence simple mais importante : le stockage doit évoluer au rythme de Kubernetes sans perdre la fiabilité attendue d’une infrastructure d’entreprise.

AI Makes Kubernetes More Stateful

L’enjeu de la performance

Les équipes IA sont souvent sensibles à la performance. Un stockage lent peut retarder la préparation des données, ralentir l’itération des modèles, augmenter la latence d’inférence ou laisser des ressources GPU coûteuses sous-utilisées.

Toutes les charges de travail d’IA basées sur Kubernetes ne nécessitent pas une performance extrême, mais beaucoup ont besoin d’une performance prévisible. Cela signifie que le stockage doit prendre en charge une forte demande d’E/S, une faible latence lorsque nécessaire, et un accès cohérent dans des conditions de charge variables.

La performance doit également être prise en compte sur l’ensemble du flux de travail. L’infrastructure d’IA ne se limite pas à l’entraînement. Elle comprend l’ingestion des données, le prétraitement, l’expérimentation, le service de modèles, la surveillance et le réentraînement. Chaque étape peut imposer des exigences différentes au stockage.

Une plateforme de stockage performante dans un seul scénario peut ne pas suffire. Le stockage Kubernetes doit prendre en charge un mélange de bases de données, de pipelines, de services applicatifs et d’outils d’IA sans obliger les équipes à recourir à des solutions de contournement complexes.

Le risque d’une persistance fragile

Pour les charges de travail d’IA exécutées sur Kubernetes, la persistance n’est pas optionnelle. Alors que les pods peuvent se déplacer, les nœuds peuvent tomber en panne et les applicatioIcon Kubernetesstoragens peuvent redémarrer, la couche de stockage se doit de préserver les données. Cela est particulièrement important pour les composants d’IA à état, tels que les bases de données, les feature stores, les services de métadonnées, les référentiels de modèles et les backends d’application. Perdre l’état peut signifier du travail perdu, des pipelines corrompus, des services interrompus ou des déploiements de production échoués.

La couche de stockage doit ainsi prendre en charge des volumes persistants fiables, la réplication, les snapshots et des options de récupération. Il est impératif que, lorsque Kubernetes replanifie une charge de travail, les données suivent de manière sûre et prévisible.

L’ultime question de l’opérationnel

Dans le contexte où les équipes IA gèrent déjà de nombreuses complexités, le stockage ne devrait pas ajouter une charge opérationnelle supplémentaire. Pour les environnements Kubernetes, il doit s’intégrer naturellement via un provisionnement dynamique, une intégration via les interfaces Kubernetes standard, une gestion adaptée à l’automatisation, et une visibilité claire sur la capacité et la performance.

Les développeurs et les ingénieurs de plateforme ne devraient pas avoir à ouvrir des tickets de stockage manuels chaque fois qu’ils ont besoin d’un volume persistant. Ils devraient pouvoir demander du stockage via Kubernetes et obtenir rapidement les bonnes ressources, tandis que les équipes d’infrastructure conservent le contrôle des politiques, de la protection et de l’utilisation. Cet équilibre est essentiel. Les équipes IA veulent de la rapidité. Les équipes IT ont besoin de gouvernance. Un bon stockage Kubernetes doit répondre aux deux besoins.

Kubernetes Storage Has to Be Operationally Simple

La résilience fait partie de la plateforme d’IA

À mesure que l’IA se rapproche de la production, la résilience devient plus importante. Les charges de travail expérimentales peuvent tolérer certaines perturbations. Les services d’inférence en production, les applications destinées aux clients et les analyses critiques pour l’activité ne le peuvent pas. Le stockage doit prendre en charge la disponibilité et la récupération au niveau requis par la charge de travail, ce qui peut inclure la réplication, le basculement (failover), les snapshots et la capacité à récupérer rapidement après des pannes ou des erreurs.

Les snapshots sont particulièrement utiles dans les environnements d’IA, car les équipes ont souvent besoin de préserver des états stables connus, de protéger des jeux de données clés ou de revenir en arrière après des modifications. À mesure que les flux de modèles et de données se complexifient, les points de récupération deviennent partie intégrante de la discipline opérationnelle. L’objectif n’est pas seulement de maintenir les applications en fonctionnement mais de protéger les données et les artefacts qui donnent de la valeur au travail d’IA.

La portabilité et les environnements hybrides

De nombreuses organisations exploiteront l’IA dans un mélange d’environnements. Certaines charges de travail peuvent rester sur site en raison du caractère des données, des besoins de performance, de la conformité ou des coûts. D’autres peuvent s’exécuter dans le cloud pour l’élasticité ou l’accès à des services managés. Certaines équipes utiliseront les deux.

Kubernetes peut aider à créer une cohérence entre ces environnements, mais le stockage devient souvent le facteur limitant. Si les données persistantes sont difficiles à déplacer, à protéger ou à gérer au-delà des frontières de l’infrastructure, la portabilité reste théorique. Les stratégies de stockage pour l’IA doivent tenir compte de l’endroit où résident les données, de la manière dont les applications y accèdent, et de ce qui se passe lorsque les charges de travail doivent être déplacées. Plus une charge de travail est à état (stateful), plus l’architecture de stockage devient importante.

Le coût ne peut pas être ignoré

Enfin, il importe de rappeler que l’infrastructure d’IA peut rapidement devenir onéreuse et les coûts de stockage sont particulièrement faciles à sous-estimer. Les charges de travail d’IA génèrent souvent de grandes quantités de données et si le stockage cloud peut être pratique, son coût à long terme, les niveaux de performance et les frais de déplacement de données peuvent s’accumuler.

Pour les charges de travail d’IA basées sur Kubernetes, les équipes ont besoin d’un stockage qui prenne en charge la performance et la résilience sans les contraindre à un modèle de coût insoutenable. Cela signifie regarder au-delà de la commodité du déploiement initial et considérer le coût total dans la durée.

Ce que le stockage Kubernetes doit offrir pour l’IA

Les charges de travail d’IA exécutées sur Kubernetes ont besoin d’un stockage persistant, performant, résilient et simple à exploiter. Elles ont besoin d’un stockage qui s’intègre à Kubernetes plutôt que de coexister maladroitement à ses côtés. Elles ont besoin d’un provisionnement dynamique pour les développeurs, d’un contrôle des politiques pour les opérateurs, et de fiabilité pour les charges de travail de production.

La couche de stockage native pour conteneurs doit s’adapter à la façon dont les équipes travaillent réellement : itération rapide, déploiements fréquents, charges de travail mixtes et besoins en données croissants. Kubernetes peut fournir la couche d’orchestration pour les applications d’IA conteneurisées. Mais sans la bonne fondation de stockage, les équipes peuvent avoir du mal à passer des projets pilotes à des environnements de production fiables.

What Kubernetes Storage Needs to Deliver for AI

La place de DataCore Puls8

DataCore Puls8 est conçu pour les organisations exécutant des charges de travail à état (stateful) sur Kubernetes. Il fournit un stockage persistant natif pour conteneurs avec un pilote CSI, un provisionnement dynamique, des performances IOPS élevées, la réplication, les snapshots et une simplicité opérationnelle pour les environnements Kubernetes.

Pour les équipes qui intègrent des charges de travail liées à l’IA dans des conteneurs, Puls8 aide à combler l’une des plus grandes lacunes d’infrastructure : offrir aux applications Kubernetes un stockage persistant, rapide, résilient et plus facile à gérer.

L’IA ne rend pas le stockage moins important. Elle le rend plus visible. Et à mesure que davantage de services d’IA, de bases de données, de pipelines et d’applications s’exécutent dans Kubernetes, la couche de stockage devient un élément essentiel pour rendre ces charges de travail pratiques, fiables et rentables.

Optimisez le potentiel
de vos données

Vous recherchez une plus haute disponibilité, de meilleures performances, une sécurité renforcée et des options d'infrastructure flexibles ?

Contactez-nous dès à présent

Publications associées
 
Des PVC à l’ingénierie de plateforme : le stockage comme problème d’expérience développeur
Vinod Mohan
Des PVC à l’ingénierie de plateforme : le stockage comme problème d’expérience développeur
 
Comment assurer le fonctionnement des sites Edge quand le matériel est difficile à obtenir
Vinod Mohan
Comment assurer le fonctionnement des sites Edge quand le matériel est difficile à obtenir
 
OpenShift Storage pour les charges de travail stateful : résoudre les défis de performance et de latence
Ville Juhola
OpenShift Storage pour les charges de travail stateful : résoudre les défis de performance et de latence