Kubecost : un projet open core pour optimiser le coût des architectures de conteneurs

kubecost

À travers l’outil Kubecost, la start-up Clusterwatch propose aux entreprises de contrôler les coûts liés à leurs déploiements Kubernetes.

C’en est fini de la KubeCon 2019. L’événement a fermé ses portes ce 21 novembre.

Dans la liste des start-up partenaires de l’événement, on trouvait Clusterwatch.

Ses fondateurs – des anciens de Google – la présentent plus volontiers sous le nom Kubecost, en référence à leur produit : un logiciel destiné à optimiser les coûts des déploiements Kubernetes.

Il s’agit d’un projet open core. Fondé en l’occurrence sur un modèle ouvert développé à l’origine par un ingénieur britannique.

Pour faire remonter des données vers ce modèle d’estimation des coûts, Kubecost utilise Prometheus ; pour les visualiser, Grafana (optionnel).

On peut installer le modèle directement sur un cluster Kubernetes (version 1.8 et ultérieures). Ou déployer l’offre de Clusterwatch dans son ensemble avec Helm* (les installations existantes de Prometheus et de Grafana sont prises en charge).

Les coûts peuvent être attribués à différentes « unités » Kubernetes : un conteneur, un nœud, un service, etc. Leur évaluation se fait en connexion avec les API de facturation d’AWS, d’Azure et de GCP. Une grille tarifaire paramétrable est disponible pour les installations on-premise.

kubecost-dashboard

Chasse au superflu

Kubecost analyse quatre types de ressources au sein des clusters : CPU, GPU, RAM et stockage persistant.
On peut, pour le moment, le connecter à deux types de ressources externes : les instances de base de données (RDS sur AWS ; Cloud SQL sur GCP) et le stockage (compartiments S3 sur AWS ; Cloud Storage sur GCP).

Un module optionnel estime les coûts liés à la consommation réseau.

Pour la RAM et le CPU, Kubecost signale aussi les ressources non utilisées.
Clusterwatch fait une observation sur ce point : ses utilisateurs visent en moyenne un taux d’utilisation de 50 à 65 % pour le CPU ; de 40 à 60 % pour la RAM ; de 65 à 80 % pour le disque.
Sa recommandation : faire des ressources non utilisées une priorité dans l’optimisation des déploiements Kubernetes.

Par défaut, l’installation de Kubecost réserve 32 Go d’espace. Prometheus conserve les données pendant 15 jours.

* L’usage est gratuit pour un maximum d’un cluster et de 20 nœuds.
L’offre Business commence à 199 $ par mois pour 50 nœuds, avec un nombre illimité de clusters, des rapports pour les équipes et un support dédié.
L’offre Enterprise (tarifs sur demande) ajoute la sauvegarde et la restauration. Ainsi que l’authentification SSO/SAML et les intégrations personnalisées.

Illustrations © Kubecost