L'IA, une piste pour contenir les coûts de Kubernetes

L'utilisation croissante et les mauvais choix en matière de provisioning poussent de nombreuses organisations à se tourner vers l'IA et autres outils d'automatisation pour gérer leurs déploiements Kubernetes et en réduire le coût de revient.
PublicitéLes applications conteneurisées offrent aux entreprises toute une série d'avantages dans le cloud, mais l'un des petits secrets du secteur réside dans leur coût de gestion. Selon une récente étude, une grande majorité des organisations utilisant Kubernetes pour l'orchestration de conteneurs ont dépensé davantage qu'escompté au cours de l'année écoulée, et beaucoup se tournent désormais vers l'IA pour les aider à gérer leurs coûts.
Environ 88 % des professionnels interrogés par Spectro Cloud, fournisseur de solutions de gestion Kubernetes, déclarent que le coût de revient de leurs environnements conteneurisés a augmenté au cours de l'année écoulée, tandis que 92 % affirment investir dans des outils d'optimisation des coûts basés sur l'IA.
Certes, ces hausses de coûts s'accompagnent souvent d'une utilisation croissante de Kubernetes, également connu l'appellation K8. Mais l'augmentation des dépenses va au-delà de celle relative au matériel, aux services cloud et aux contrats d'assistance, souligne Jeremy Oakey, directeur technique chez Spectro Cloud.
Les coûts liés au personnel sont un facteur important de cette inflation, les salaires des ingénieurs de plateformes avoisinant souvent les 200 000 dollars par an aux Etats-Unis, ajoute-t-il. D'autres coûts peuvent inclure les dépenses d'ingénierie sur le terrain pour le déploiement et la maintenance des clusters périphériques, ainsi que les pertes de productivité lorsque les développeurs passent trop de temps à gérer les clusters.
Prolifération des clusters
Si l'utilisation croissante de la technologie est un facteur important d'augmentation globale des budgets sur les plateformes conteneurisées, d'autres problèmes, tels que le surprovisionnement, peuvent également aggraver la situation, selon le directeur technique. « Prévoir les besoins en ressources Kubernetes reste difficile, et les développeurs définissent souvent des paramètres de configuration généreux par mesure de précaution, dit Jeremy Oakey. À grande échelle, ce comportement entraîne une prolifération importante des clusters. »
Selon lui, les décisions d'architecture constituent un autre facteur d'inflation des coûts. Les entrées et sorties de données entre cloud peuvent s'avérer coûteuses, et l'exécution de clusters multi-noeuds en Edge peut aussi faire grimper la facture.
Les équipes Kubernetes doivent faire preuve de discipline dans leur utilisation de la technologie, selon Jeremy Oakey. Il recommande ainsi d'envisager de mettre hors service les clusters inutilisés, de réduire les ressources attribuées aux clusters, de définir des seuils d'autoscaling appropriés et de revoir les politiques telles que celles concernant la conservation des logs et la configuration du stockage.
PublicitéDéployer sans compétences associées
Yashin Manraj, PDG de la société de conseil et de migration vers le cloud Pvotal Technologies, considère que les mauvaises configurations, le surprovisionning et les ressources non optimisées sont les principaux problèmes des organisations qui voient les dépenses de leurs environnements Kubernetes enfler.
« Les gens ont tendance à considérer K8 comme des machines virtuelles ou des serveurs statiques, ce qui entraîne la création de nombreux actifs orphelins et une incompréhension de ce que cette technologie est réellement censée faire, explique-t-il. Je pense que le principal responsable est la pression exercée pour utiliser Kubernetes sans disposer d'une équipe qui comprend les subtilités de l'orchestration ou d'un plan de contrôle permettant de gérer efficacement les clusters. »
Le surprovisionning est souvent le mode de déploiement par défaut, et la plupart des équipes provisionnent le CPU et la mémoire avec une marge confortable pour éviter d'être réveillées au milieu de la nuit, souligne Yasmin Rajabi, directrice des opérations chez CloudBolt Software, fournisseur de plateformes de gestion du cloud. « Les incitations ciblant les développeurs et celles des ingénieurs de plateforme ne sont pas alignées, note-t-elle. Les développeurs sont évalués en fonction de la rapidité avec laquelle ils peuvent déployer de nouvelles applications et faire progresser l'entreprise. Ils ne sont pas poussés à être efficaces sur la gestion des coûts, donc la chose la plus simple et la plus sûre pour eux est de s'assurer qu'il existe une marge en matière de ressources pour supporter confortablement les applications. » Mais ces coûts générés par les marges prises par les uns ou les autres peuvent rapidement s'accumuler avec des environnements K8 supportant des centaines, voire des milliers d'applications, ajoute Yasmin Rajabi.
Déploiement rapide et gestion complexe
De plus, les besoins des applications dynamiques sont difficiles à prévoir, et la plupart des organisations ne disposent pas des outils nécessaires pour ajuster en permanence les demandes et limites de ressources en fonction de l'évolution des besoins, explique la PDG de Pvotal. Parallèlement, le redimensionnement est un processus manuel et chronophage.
« Le déploiement sur Kubernetes est facile, mais la gestion ne l'est pas, souligne-t-elle. Kubernetes permet aux entreprises de déployer des applications ayant un impact sur leurs activités à la vitesse dont elles en ont besoin, avec la flexibilité nécessaire pour innover et commercialiser leurs produits rapidement. Cependant, la facilité et la rapidité promises contrastent avec la complexité de la gestion de Kubernetes à grande échelle et les coûts qui en découlent. »
Dispersion des responsabilités, inflation des coûts
L'agence de marketing numérique Newmedia.com a vu ses dépenses liées à K8 augmenter de 18% au cours de l'année dernière, explique Steve Morris, son fondateur et PDG. Les principaux facteurs ont été les coûts de main-d'oeuvre et ce que le dirigeant appelle la dispersion des choix de passage à l'échelle. Lorsque l'entreprise a fait le bilan, elle a constaté que 31% des applications fonctionnaient à moins de 25% d'utilisation du processeur pendant 95% de la journée.
« Lorsque les équipes de publication gèrent leurs propres clusters et définissent leurs propres règles [d'autoscaling], cela conduit à un surprovisionning par conservatisme, qui se retrouve verrouillé dans les fichiers de configuration, explique-t-il. Les ingénieurs étaient réticents à réduire les ressources, car ils craignaient que cela ne provoque des incidents ou ne compromette le respect des SLA. »
Les coûts de main-d'oeuvre peuvent s'accumuler lorsque deux ingénieurs de plateforme passent la moitié de leur semaine à ajuster la capacité et à gérer de multiples alertes, explique Steve Morris. « Les frais généraux liés aux opérations augmentent avec chaque nouveau service, et pas seulement lorsque le trafic augmente, ajoute-t-il. Lorsque vous laissez les équipes prendre leurs propres décisions en matière de ressources, cela accélère la livraison des services, mais cela éclate également la responsabilité sur les coûts et masque le gaspillage. »
Les promesses de l'IA
Kubernetes étant au coeur des infrastructures informatiques de nombreuses entreprises, la hausse des coûts est là pour durer, selon Yashin Manraj de Pvotal. « Nous pensons que ce problème ne fera que s'aggraver à mesure que l'adoption de la technologie se généralise, avec la prolifération d'outils mal conçus et la dépendance vis-à-vis de tiers », explique-t-il.
Pvotal n'a pas encore trouvé de solution automatisée pour gérer les coûts de K8. « Nous testons régulièrement tous les nouveaux outils et technologies, souligne Yashin Manraj. Malheureusement, nous n'en avons trouvé aucun qui apporte une valeur ajoutée à notre entreprise ou à nos clients, à part un tableau de bord cosmétique qui suit mieux l'utilisation que les outils par défaut de GCP. »
La complexité de la gestion de Kubernetes incite certains praticiens à envisager des outils basés sur l'IA. « L'allocation des ressources est compliquée et multidimensionnelle, ce qui signifie en réalité qu'il s'agit d'un problème mathématique complexe, explique Yasmin Rajabi de CloudBolt. Les outils d'IA et d'apprentissage automatique peuvent aider à résoudre ce problème consistant à déterminer les ressources à définir et à les combiner avec l'automatisation pour configurer réellement les workloads avec les paramètres appropriés. »
La convergence de la supervision et du FinOps
Une poignée de fournisseurs proposent désormais un redimensionnement autonome et une mise à l'échelle automatique intelligente, souligne ainsi Jeremy Oakey de Spectro Cloud. « Nous assistons à une évolution rapide du paysage des outils d'optimisation basés sur l'IA, avec la convergence des fournisseurs issus à la fois des domaines de la gestion Kubernetes et du FinOps, explique-t-il. « Du côté de la gestion, ces outils surveillent en permanence l'utilisation des pods en temps réel, apprennent à partir des modèles d'usage historiques et ajustent automatiquement les demandes de ressources, le dimensionnement des noeuds et même l'équilibre entre les instances spot et à la demande. »
Les fournisseurs FinOps, quant à eux, intègrent désormais des capacités d'IA et d'apprentissage automatique pour mettre en oeuvre des mesures proactives de contrôle des coûts. « Bien que toutes ces capacités ne représentent pas l'IA dans sa forme la plus avancée, nous assistons à une évolution claire vers l'intégration d'une intelligence et d'une automatisation accrues dans l'ensemble de la chaîne d'outils, souligne Jeremy Oakey. Cette convergence donne naissance à une approche plus sophistiquée et proactive de l'optimisation des coûts Kubernetes, qui allie contrôle opérationnel et responsabilité financière. »
Les DSI doivent utiliser toutes les stratégies disponibles pour contenir les coûts, y compris la négociation avec les fournisseurs de cloud et l'utilisation des capacités d'autoscaling, ajoute le responsable. Il recommande également aux DSI d'aligner les décisions architecturales sur les objectifs métiers de l'organisation. Ces décisions peuvent inclure le remplacement des contrats de location de datacenters par des dépenses opérationnelles dans le cloud ou la réduction des effectifs informatiques grâce à l'automatisation des opérations.
Les DSI doivent toutefois veiller à faire la distinction entre coûts et investissements, en particulier à l'ère de l'IA, ajoute-t-il. « Le déploiement de clusters Kubernetes pour prendre en charge des applications transformatrices et génératrices de revenus n'est pas seulement une dépense, c'est un investissement dans l'innovation et un avantage concurrentiel, explique Jeremy Oakey. La question centrale est alors de savoir si votre infrastructure Kubernetes est exploitée de manière à offrir une valeur maximale en termes de rapidité, de choix et de flexibilité à vos équipes applicatives. »
Article rédigé par
Grant Gross, CIO US (adapté par Reynald Fléchaux)
Commentaire
INFORMATION
Vous devez être connecté à votre compte CIO pour poster un commentaire.
Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire