En direct d'Amsterdam - Pour cette édition 2023 de la KubeCon Europe, à Amsterdam cette année après une étape à Valencia l’an dernier, les développeurs, les administrateurs/opérateurs, les sponsors et les exposants sont venus nombreux à l’évènement organisé par la Cloud Native Computing Foundation. 10 000 personnes sont ainsi attendues durant les quatre jours de la convention (du 18 au 21 avril), contre 8 000 l’an dernier. Les sessions techniques et les certifications affichent complet avec des participants studieux dans les ateliers Istio ou Argo. Absente pour cause d’un heureux évènement à venir, Priyanka Sharma, directrice générale de la CNCF, qui pilote le développement de la plateforme Kubernetes, a laissé la main à son CTO Chris Aniszczyk pour assurer avec brio la keynote principale le 19 avril. Il a ainsi expliqué que 58% des participants à cette convention venaient pour la première fois à une KubeCon et surtout que la prochaine édition européenne se tiendra à Paris du 19 au 22 mars 2024. Un succès à venir quand on se souvient de la réussite de la première Kubernetes Community Days (KDC) à Paris le 7 mars dernier lors d’un jour de grève :  1 000 personnes sont venues assister aux conférences et échanger avec les partenaires (OVHCloud, Red Hat, Scaleway, Mirantis, etc…) de cet événement.

Chris Aniszczyk, CTO de la CNCF, a dressé un bilan autour des très nombreux projets de la fondation. (Crédit S.L.)

À la CNCF, les membres se bousculent également avec 800 partenaires, dont 172 entreprises (Adidas, Allianz Direct, Audi, Blackrock, Bloomberg, Boeing, Golman Sachs, JP Morgan, La Mobilière, la SNCF, Mastercard, Mercedez-Benz, Porsche ou encore Toyota). Toutes développent et mettent en production des clusters de containers pour opérer leurs applications maison en mode cloud natif. Avec des projets cloud de plus en complexes, la question de la gestion des ressources devient toutefois prégnante chez les administrateurs et les développeurs. Selon le Gartner, en 2021, une note technologique de l'ACM estimait que le secteur des technologies de l'information et de la communication (TIC) représentait entre 1,8 % et 3,9 % des émissions de carbone dans le monde. Une fourchette très large, qui ne va pas en s’amenuisant. L'Agence internationale de l'énergie estime que l'augmentation du nombre de charges de travail dans les datacenters a entraîné une hausse de 10 à 30 % par an de la consommation d'énergie, ce qui représente 1 à 1,5 % de la consommation mondiale d'énergie. S’il n’est pas question d’inciter les utilisateurs à envoyer moins d’emails ou de chatter un peu moins sur Teams, d’autres mesures peuvent être mises en place comme mesurer l’efficacité du code employé ou de calculer la consommation des clusters en fonction des CPU utilisés.

Les participants à la KubeCon sont très studieux dans les ateliers. (Crédit CNCF)

Mesurer l'efficacité énergétique des clusters

Le projet Kepler avec Red Hat et IBM Research vient ainsi recueillir les mesures de consommation énergétique des serveurs dans les datacenters. Kepler utilise le filtre de paquets Berkeley étendu (eBPF) dans le noyau Linux, les compteurs de performance du processeur et les modèles d'apprentissage automatique pour estimer la consommation d'énergie par les charges de travail. Les données peuvent ensuite être exportées comme un ensemble de métriques Prometheus pour le suivi des empreintes carbone. Kepler qui a été donné à la Cloud Native Computing Foundation (CNCF) ajuste et affine continuellement ses modèles préentraînés en se servant des données de nœuds provenant d'agents d'estimation de la puissance fonctionnant sur des serveurs. Ces mesures peuvent ensuite être combinées avec les données relatives à l'efficacité de l'utilisation de l'énergie (PUE) et à l'intensité carbone de l'électricité pour calculer l'empreinte carbone d’une charge de travail. Ensuite les administrateurs peuvent utiliser un planificateur Kubernetes pour placer les charges de travail à venir sur le nœud de calcul qui devrait améliorer la performance par watt et permettre aux algorithmes de mise à l'échelle automatique de déterminer les ressources nécessaires pour atteindre une meilleure efficacité énergétique. Enfin, Kepler peut également être intégré aux pipelines d'intégration CI/CD afin d'optimiser la consommation d'énergie tout au long du cycle de vie du développement d’un logiciel.

Kepler permet de suivre l'activité et la consommation des pods pour optimiser la répartition des charges de travail. 

Lors de la keynote du mercredi 19 avril, Jorge Palma de Microsoft (sponsor de la KubeCon), est venu expliquer qu’il était temps de construire un monde durable et sensible au carbone. « Même si les logiciels font tourner le monde, il faut beaucoup d'électricité pour y parvenir. Il s'agit maintenant de s'assurer que le code est efficace au premier niveau, puis de s'intéresser à l'efficacité du matériel et de s'assurer que les machines sont efficaces jusqu'à chaque composant, et il y a un troisième domaine de sensibilisation au carbone qui intègre une compréhension plus large de ce qu'il faut faire pour travailler avec des énergies propres ». L’intensité carbone est la mesure de la quantité de carbone produite pour créer l'énergie dont un datacenter à besoin. Lorsque l'énergie solaire et éolienne n’est pas suffisante, il est nécessaire d’ajouter de l’énergie sale (des combustibles fossiles comme le charbon, le gaz et le pétrole) dans le mélange d'intensité carbone. Voilà pourquoi Microsoft pousse le projet Keda (Kubernetes Event-driven Autoscaling) sur Azure pour travailler avec des techniques d'échelonnement de la demande qui équilibrent les charges de travail de manière à ce qu'elles utilisent la quantité minimale d'énergie sale. Microsoft a incubé ce projet Keda au sein de la CNCF pour accélérer son adoption.

Alors que de plus en plus de réglementations exigent des équipes informatiques qu'elles exécutent plus efficacement les workload, ce n'est qu'une question de temps avant qu'elles ne doivent tenir compte de la quantité d'énergie consommée par les applications cloud natives. La communauté open source se rassemble donc pour atteindre cet objectif en utilisant un ensemble de technologies communes.