Cela fait quelques années qu'une petite musique se fait entendre dans les entreprises et monte en puissance ces derniers mois : le cloud ne serait pas une ressource si bon marché que cela. Au contraire même, dans certains cas elle s'avérerait plus coûteuse qu'une bonne vieille et traditionnelle infrastructure on-premise. Au point qu'un mouvement s'observe - vu par en France par le Cigref - de réinternalisation de certaines ressources cloud pour mieux en maitriser les coûts voire les réduire. 

Dans une logique d'optimisation des coûts, mieux vaut dès lors pour les entreprises optant pour une écurie cloud de s'assurer que les ressources mobilisées servant à faire tourner notamment des - très tendance - clusters Kubernetes soient optimisées au maximum. C'est à dire que les capacités cloud dédiées à ces processus ne soient pas sous-utilisées pour cet effet. Or, il ressort que dans la vraie vie, la situation apparait loin d'être idyllique comme le montre une dernière étude publiée par Cast. 

Les mega clusters épargnés par la sous-utilisation de ressources 

Pour son benchmark, le fournisseur s'est appuyé sur l'analyse de 4000 clusters tournant sur AWS, GCP et Microsoft Azure entre le 1er janvier et le 31 décembre 2023 en comparant l'utilisation de CPU et de mémoire au regard des ressources K8s provisionnées, les clusters de moins de 50 CPU ayant été exclus. La surprise a été de taille : « Seulement 13 % des CPU qui ont été provisionnés ont été en moyenne utilisés », indique Cast. « L'utilisation de mémoire a été légèrement meilleure autour de 20 % ». Pour les plus grands clusters (+ 1000 CPU), la situation n'est guère meilleure avec un taux de provisionnement de 17 % ; seuls les clusters géants (+ 30 000 CPU mais représentant moins de 1 % du panel) font mieux en grimpant à 44 %. 

« Ces résultats soulignent que de nombreuses sociétés faisant tourner des applications sur Kubernetes sont toujours à un stade peu avancé d'optimisation. Elles luttent avec la complexité de gestion d'une infrastructure cloud native et répètent les mêmes erreurs qui ont causées leur excès de dépenses en 2022 ». Les types de cloud changent-ils la donne ? Manifestement pas grand chose : « l'utilisation CPU varie peu entre AWS et Azure et sont proches de 11 %. Le gaspi cloud est moins élevé chez Google, à 17 % [...] Pour la mémoire, les différences d'utilisation sont faibles entre fournisseurs : GCP (18 %), AWS (20 %) et Azure (22 %) ». 

Conseils et bonnes pratiques 

Cast a pointé des responsables à cette situation de dépassement. Notamment que les clusters sont provisionnés avec davantage de capacités qui ne devraient l'être, et que les requêtes CPU et mémoire sont paramétrées à un plus haut niveau que ce que nécessitent en fait les applications Kubernetes, débouchant alors sur du gâchis de capacités.  

Alors quelles réponses apporter à ce couteux problème ? Cela passe par provisionner le bon type, taille et nombre de machines virtuelles, régler correctement les requêtes pour les workloads et autoscaler les noeuds pour combattre le gaspillage de ressources CPU. Des instances Spot peuvent aussi être privilégiées, présentant selon Cast une opportunité très intéressante pour réduire les coûts, sans chiffres à l'appui pour autant.