Maîtriser la prolifération de Kubernetes pour mieux prendre en charge les workloads IA

Les équipes d'ingénierie de plateforme font face à des difficultés sans précédent.

Le paysage des infrastructures s’est fondamentalement transformé avec l’émergence de technologies cloud natives, de microservices et, dernièrement, de workloads IA particulièrement exigeants en ressources. La gestion des applications monolithiques, auparavant relativement simple, consiste aujourd’hui à orchestrer des milliers de microservices répartis entre datacenters sur site et ressources cloud, tout en répondant simultanément aux exigences spécifiques des workloads IA et ML.

La révolution des infrastructures IA

Les nouveaux impératifs des workloads IA représentent un changement véritablement radical dans les contraintes qui pèsent sur l’infrastructure, en raison des facteurs ci-après :

  • Envergure sans précédent : il faut bien souvent davantage de puissance de calcul pour une seule passe d’entraînement d’un modèle d’IA qu’il n’en fallait, il y a encore quelques années, pour l’infrastructure web d’une entreprise toute entière.
  • Aspects économiques du matériel spécialisé : le coût de serveurs GPU étant approximativement dix fois supérieur à celui de serveurs standard, leur utilisation est névralgique.
  • Problèmes de sécurité spécifiques : les modèles sont à la merci d’attaques par empoisonnement en phase d’entraînement et d’attaques par inférence qui permettent de déduire des informations sensibles en assemblant des données isolées, sans lien apparent.

Les entreprises s’efforcent d’intégrer ces workloads IA en marge de leurs services de production et environnements de développement en place, ce qui crée des problématiques d’allocation des ressources d’une complexité inédite. Avec des serveurs GPU coûtant plus de 50 000 dollars pièce et de gigantesques clusters IA nécessitant facilement plusieurs millions de dollars d’investissements, elles doivent faire preuve de vigilance pour garantir une utilisation efficace des ressources. 

L’Open Source est incontournable

Les aspects économiques et la complexité de l’infrastructure moderne obligent à se tourner vers les technologies open source. Face aux limites des approches traditionnelles et propriétaires, plusieurs raisons essentielles expliquent l’intérêt croissant des entreprises pour ces technologies :

  • Innovation collective : aucun éditeur n’est en mesure de répondre seul aux contraintes d’une infrastructure en plein essor. Une démarche collective se révèle nettement plus prometteuse et efficace.
  • Capacités de personnalisation : les entreprises ont inévitablement besoin de modifier et d’étendre leurs outils d’infrastructure en raison de la spécificité de leurs contraintes.
  • Transparence en matière de sécurité : il s’agit de disposer d’une visibilité très complète sur les différentes technologies utilisées dans la création de l’infrastructure ainsi que sur les modalités de gestion et de protection des ressources.
  • Indépendance vis-à-vis des fournisseurs : liberté de s’adapter à mesure que les choix évoluent et que de nouveaux impératifs de déploiement se font jour.
  • Aspect économique du déploiement en périphérie : les entreprises ne peuvent endosser des coûts de licence exorbitants pour des logiciels s’exécutant sur des milliers d’équipements en périphérie qui, au demeurant, pourraient constituer une formule de déploiement intéressante pour la répartition des charges de calcul.

La communauté open source s’est avérée particulièrement efficace dans le développement de solutions axées sur le partage GPU, la programmation des workloads et l’abstraction matérielle, qu’il est possible de personnaliser pour des scénarios de déploiement spécifiques en préservant des interfaces de gestion homogènes.

Kubernetes a, par ailleurs, dépassé son rôle initial d’orchestrateur de conteneurs pour s’imposer comme une couche d’abstraction standard pour la gestion de l’infrastructure. À l’avenir, il occupera une position centrale dans l’orchestration de l’infrastructure et des services d’IA, en facilitant leur déploiement et leur intégration entre des fournisseurs hétérogènes.

  • Plan de contrôle constant : Grâce à des initiatives telles que Cluster API, les entreprises peuvent provisionner et gérer leur infrastructure directement via Kubernetes.
  • Extensions normalisées : les charts Helm, les CRD (Custom Resource Definitions) et les opérateurs offrent des schémas homogènes propices à l’extension des fonctionnalités.
  • Interfaces unifiées : plusieurs normes telles que CNI (Container Network Interface) et CSI (Container Storage Interface) garantissent la parfaite interopérabilité des configurations réseau et de stockage entre environnements.
  • Règles de sécurité exhaustives : des outils comme Open Policy Agent et Kyverno s’intègrent en mode natif avec le contrôleur d’admission Kubernetes.

Une infrastructure fondée sur Kubernetes et sur des standards ouverts constitue un socle solide pour permettre aux entreprises de concevoir des plateformes de développement internes (IDP) sans recourir à des abstractions personnalisées. Les équipes en charge des plateformes peuvent ainsi s’appuyer sur des modèles éprouvés et interopérables entre différents environnements, grâce à l’utilisation d’API standardisées de Kubernetes plutôt que d’interfaces propriétaires propres à chaque fournisseur.

La voie à suivre

Les entreprises continuent de faire face à des défis majeurs liés à la gestion de la complexité des infrastructures modernes. La multiplication des clusters — au service de divers environnements, équipes et charges de travail — entraîne une prolifération de déploiements Kubernetes, générant ainsi des coûts de gestion élevés, des politiques hétérogènes et un risque accru de non-conformité.

Parallèlement, la nécessaire prise en charge d’une infrastructure IA spécialisée en marge de workloads classiques soulève de nouveaux enjeux en termes d’allocation des ressources, de sécurité et d’efficacité opérationnelle. Les entreprises ont besoin de solutions pour :

  • unifier la gestion à l’échelle de divers clusters et environnements ;
  • normaliser les déploiements via des modèles et des schémas réutilisables ;
  • appliquer des règles de manière rigoureuse d’un bout à l’autre de l’infrastructure ;
  • optimiser les ressources à la fois pour les workloads classiques et IA ;
  • assurer une observabilité très complète à l’échelle de l’infrastructure toute entière.

Pour se donner les moyens de progresser, il faut repenser la façon d’aborder la gestion de l’infrastructure. Plutôt que de gérer chaque cluster comme une entité distincte, les entreprises doivent adopter une approche unifiée mettant à profit la normalisation de Kubernetes tout en remédiant à sa complexité opérationnelle.

Pour prendre en charge et gérer les diverses contraintes des applications modernes et des workloads IA, les entreprises doivent disposer des caractéristiques suivantes afin d’être en mesure de réaliser des opérations efficaces et cohérentes :

  • Plan de contrôle unifié : l’aptitude à gérer plusieurs clusters à l’échelle de différents fournisseurs via une seule et même interface.
  • Composition de plateforme déclarative : la définition d’une pile de plateforme complète sous forme de code au moyen de modèles réutilisables.
  • Allocation ingénieuse des ressources : l’optimisation de l’utilisation du matériel, tant standard que spécialisé.
  • Observabilité inter-clusters : la corrélation des événements et des indicateurs à l’échelle de l’infrastructure toute entière.
  • Gestion exhaustive des règles : l’application des exigences de sécurité et de conformité dans toute l’infrastructure.
  • Gestion en périphérie : la gestion efficace des déploiements à des emplacements centraux et en périphérie.

Les entreprises ont besoin de solutions open source qui reposent sur des modèles Kubernetes éprouvés tout en procurant l’évolutivité indispensable à la gestion des impératifs propres aux workloads. En adoptant des technologies offrant une gestion unifiée, des déploiements normalisés, des règles uniformes et une observabilité très complète, elles peuvent surmonter les difficultés que pose la prolifération de Kubernetes tout en répondant efficacement aux exigences de workloads IA gourmandes en ressources. 

Cette approche permet aux équipes de plateforme de proposer une infrastructure robuste et évolutive au service des applications traditionnelles et des systèmes IA de nouvelle génération, offrant aux entreprises toutes les chances de succès dans un environnement numérique toujours plus complexe.