Le projet Kepler, ou "Kubernetes-based Efficient Power Level Exporter'', a été créé par l'équipe chargée des technologies émergentes chez Red Hat et a pu se développer grâce aux premières contributions des sociétés IBM Research et Intel.
Ce projet open source et dirigé par la communauté a pour but de recueillir les mesures de consommation énergétique sur un large éventail de plateformes, en se concentrant notamment sur le reporting, la réduction et la régression, afin que les entreprises puissent mieux comprendre en quoi consiste la consommation énergétique.
Kepler utilise des méthodologies et des technologies cloud native éprouvées, telles que l'Extended Berkeley Packet Filter (eBPF), les compteurs de performance des CPU et des modèles de machine learning, pour faire une estimation de la consommation énergétique des workloads et l'exporter sous forme de mesures. Ces dernières sont ensuite utilisées pour la programmation, la mise à l'échelle, la création de rapports et la visualisation, permettant ainsi aux administrateurs système de disposer d'informations sur l'empreinte carbone de leurs workloads cloud native. Le Kepler Model Server ajuste et perfectionne continuellement ses modèles pré-entraînés en utilisant les « node data » des agents d'estimation de puissance électrique de Kepler. Kepler peut ainsi adapter ses calculs pour satisfaire au mieux les besoins spécifiques de l'utilisateur, notamment en matière de systèmes.
Red Hat et IBM Research ont fait don de Kepler à la Cloud Native Computing Foundation, où les contributeurs peuvent explorer les façons d'intégrer Kepler à leurs propres cas d'usage.
Les mesures de Kepler sont des séries chronologiques qui peuvent être utilisées pour créer des tableaux de bord présentant la consommation énergétique à différents niveaux, notamment pour les conteneurs, les pods, les espaces de noms ou les différents nœuds de calcul du cluster. Elles peuvent être couplées par l'utilisateur avec l'indicateur d'efficacité énergétique (ou « PUE ») de son datacenter et l'intensité carbonique de l'électricité pour calculer l'empreinte carbone estimée du workload. Il est de plus possible de les utiliser par un planificateur Kubernetes pour placer le workload à venir sur le nœud de calcul qui devrait améliorer les performances par watt, réduisant ainsi la consommation énergétique au niveau du cluster. De même, les autoscalers de Kubernetes peuvent utiliser les mesures de consommation énergétique de Kepler dans les algorithmes d'autoscaling des clusters afin de déterminer les ressources nécessaires pour obtenir une meilleure efficacité énergétique. Kepler peut également être utilisé dans le cycle de vie du développement logiciel pour aider à produire des logiciels plus durables. Par exemple, Kepler peut être déployé dans des pipelines d'intégration et de développement continus (CI/CD) pour la phase de test des logiciels, ainsi que pour leur diffusion. Les mesures de consommation énergétique de Kepler permettent ainsi d'aider les développeurs à mesurer, à analyser et à optimiser les piles logicielles des entreprises.