Datadog s’attelle au bon dimensionnement des clusters Kubernetes
Le spécialiste de l’observabilité ne permet plus seulement de superviser les clusters Kubernetes, mais propose des recommandations et des moyens automatisés pour gérer la mise à l’échelle des ressources. L’objectif : aider les clients à réduire leurs coûts dans le cloud.
Datadog avait donné le ton en publiant son rapport « State of Cloud Costs » quelques jours avant sa conférence annuelle. Le document souligne la difficulté pour les entreprises de gérer leurs coûts dans le cloud et plus particulièrement, ceux liés à Kubernetes. À l’occasion de DASH 2024, Datadog a annoncé la bêta privée de Kubernetes Autoscaling. Cette fonctionnalité liée à Datadog Container Monitoring cible l’un des problèmes les plus flagrants signalés par l’éditeur dans son rapport : d’après les données récoltées sur AWS, 83 % des dépenses liées aux conteneurs sont « gaspillées » au repos.
« Dans nos dernières recherches, nous avons observé que plus de 65 % des conteneurs Kubernetes surveillés par Datadog utilisent encore moins de la moitié des ressources mémoire et CPU allouées », renchérit Danny Driscoll, responsable senior de la gestion produit, supervision conteneur et Kubernetes chez Datadog, lors de la conférence.
Les ressorts de cette sous-optimisation des infrastructures K8s sont à la fois techniques et culturels, selon Yrieix Garnier, vice-président produits chez Datadog. « Quand les développeurs et les “App owners” déploient leurs charges de travail, ils définissent un nombre de pods, de CPU et une quantité de mémoire de manière approximative », déclare-t-il auprès du MagIT. « Ils ne savent pas réellement ce dont ils ont besoin et ils ont tendance à “tailler plus large” pour que cela fonctionne mieux ».
Yrieix GarnierVice-président Produits, Datadog
Automatiser le bon dimensionnement des charges de travail Kubernetes
Kubernetes Autoscaling s’appuie d’abord sur deux tableaux de bord. Le premier liste les clusters, indique le nombre de nœuds, le taux d’utilisation CPU, RAM et renseigne une estimation du coût des ressources consommées au repos. Les coûts sont également ventilés sur une période donnée. Le second s’intéresse aux charges de travail, en indiquant en sus des données de consommation le nombre de pods mobilisés par cluster.
Depuis le tableau de bord des workloads, Datadog fournit des recommandations d’optimisation de la mise à l’échelle des clusters.
« Une fois que vous avez décidé de mettre en œuvre une recommandation, vous pouvez agir directement à partir du panneau Charge de travail, en appliquant la recommandation en tant qu’optimisation ponctuelle ou en activant l’automatisation pour garantir que la charge de travail reste réglée en permanence », écrit Danny Driscol dans un billet de blog.
Toujours selon Yrieix Garnier, de plus en plus d’entreprises connaissent les outils open source et appliquent les méthodes pour mieux gérer l’échelle des infrastructures Kubernetes.
« Les utilisateurs de Kubernetes disposent d’équipes capables de mettre en œuvre le VPA (Vertical Pod Autoscaling) et le HPA (Horizontal Pod Autoscaling), ce qui permet d’ajuster la taille et la capacité des pods, ou d’augmenter le nombre de pods dans leurs conteneurs. Il existe également le Cluster Autoscaler, qui examine les ressources inactives dans le cluster et permet de réduire la taille ou le nombre de nœuds nécessaires en fonction des besoins des pods », note-t-il. Il faut également ajouter Karpenter, un « node autoscaler », responsable de l’ajout ou de la suppression automatique de nœuds en fonction des besoins de l’application.
« Ces outils sont couramment utilisés par les clients », ajoute Yrieix Garnier.
Or, d’après Danny Driscol, la bonne mise en place de ces outils requiert des efforts importants pour les équipes responsables de la plateforme et des applications.
De son côté, Datadog combine ces outils sous la forme d’une définition de ressource spécifique (CRD) et qui s’appuie sur des analyses effectuées depuis sa plateforme, selon le vice-président produit.
« La grande différence réside dans l’utilisation des informations disponibles dans Datadog sur l’utilisation des différents pods et conteneurs pour déterminer comment les ressources évolueront », avance-t-il. « Nous avons commencé l’année dernière à fournir des recommandations sur la mémoire et le CPU utilisés par les pods de nos clients, initialement pour réduire les coûts en identifiant les ressources sous-utilisées. Aujourd’hui, nous allons plus loin en offrant des ajustements en temps réel grâce à notre implémentation managée de VPA, de HPA et du cluster autoscaling », précise-t-il.
Il s’agit là de la mise à disposition d’une solution développée originellement pour des besoins internes. « Nous utilisons cette solution en interne pratiquement depuis les débuts de Datadog. Nous gérons un énorme cluster Kubernetes qui s’exécute sur des centaines de milliers de serveurs », renseigne Yrieix Garnier. « Pour la proposer à nos clients, nous avons dû l’adapter à des clusters plus petits, mais ce n’est pas forcément le sujet de la taille qui nous a réclamé le plus de travail, c’est la simplification des processus pour des utilisateurs moins aguerris à la gestion de clusters, de pods et de conteneurs ».
C’est d’ailleurs la première population ciblée par Kubernetes Autoscaling. Pour l’instant, l’éditeur n’a pas renseigné le modèle tarifaire de ce service.
À lire également :
Mieux surveiller les coûts des plateformes de gestion de données
Toujours du côté de la surveillance des coûts, Datadog est en train de mettre à jour Cloud Cost Management (CCM), une solution en disponibilité générale depuis octobre 2022.
En sus de la surveillance des coûts de GCP, Azure et AWS, dernièrement, l’éditeur a proposé des intégrations natives avec Snowflake, Databricks, MongoDB, Confluent Cloud, OpenAI, Fastly, Elastic Cloud et Twilio. Il est par ailleurs possible de charger des fichiers au format FOCUS ou connecter le service à surveiller par API.
« Les infrastructures cloud et les plateformes de gestion de données sont parmi les sources de coûts les plus importantes pour nos clients », justifie Yrieix Garnier.
Par ailleurs, Datadog propose des recommandations d’optimisation des coûts des ressources AWS à partir des données d’observabilité et de facturation du cloudiste.
Ce service disponible en bêta ouverte émet des recommandations sur l’arrêt de ressources inutilisées ou orphelines, à commencer par les instances EC2 avec moins de 5 % d’utilisation CPU et de 10 % de RAM, les volumes EBS détachés ou connectés à des instances EC2 à l’arrêt, les clusters Redshift, Openshift et Redis vides, des brokers MQ sans connexion, des images ECR vieilles de plus de 180 jours, des répartiteurs de charges Elastic (Classic ou Network) et passerelle NAT sans trafic ou encore des adresses IP Elastic au repos.
L’outil peut aussi effectuer des préconisations pour migrer des instances EC2 Legacy, des volumes EBS GP2 et l01 vers des machines EC2 et des volumes GP3 plus récents (et moins chers, selon Datadog).
Pour l’instant, l’éditeur s’intéresse à l’optimisation des ressources utilisées par ses clients, mais il étudie également la possibilité de proposer un moyen de gérer les contrats cloud et de proposer des recommandations financières.
Gérer les dépenses dans Datadog… depuis Datadog
Yrieix GarnierVice-président, Product Management, Datadog
Outre la surveillance des coûts du cloud et des plateformes de gestion de données, Datadog entend proposer des moyens de superviser les dépenses liées à… Datadog.
« Étant donné que Datadog représente une ligne de coût assez importante pour certains clients, nous allons leur proposer une optimisation, une gestion et une visibilité accrues sur les dépenses associées à notre plateforme », annonce Yrieix Garnier.
Le service en bêta privé permet de « visualiser et créer des alertes sur les coûts quotidiens de Datadog – en fonction des équipes et des services – afin que les équipes d’ingénieurs puissent s’approprier et optimiser leurs coûts dans le cadre de leurs flux de travail quotidiens », avance l’éditeur dans un billet de blog.
« Les utilisateurs peuvent voir les coûts de Datadog dans les tableaux de bord, les carnets de notes, les moniteurs de coûts, le catalogue de services, les pipelines de balises, etc. ».