Comme chaque année au printemps, ce que j’attends avec impatience ce n’est pas l’arrivée des beaux jours mais la KubeCon en Europe. L’année dernière en visio depuis mon canapé, c’est en présentiel cette fois ! Me voici donc en route pour les plages ensoleillées de Valencia en Espagne pour une semaine de tapas et une bonne dose de Kubernetes.

La KubeCon, c’est principalement pour moi l’occasion de discuter des projets open source que j’utilise au quotidien et de rencontrer leurs mainteneurs et leurs contributeurs. Dans ces échanges j’ai pu notamment découvrir le projet Pixie, un outil d’observabilité (https://github.com/pixie-io/pixie), parler un peu du futur de l’infrastructure as code en discutant avec des représentants des projets Pulumi et Crossplane (https://github.com/crossplane/crossplane) et échanger plus largement avec d’autres passionnés par Kubernetes et des projets de la CNCF. La communauté d’Argo (https://argoproj.github.io/), notamment ArgoCD un outil de continuous delivery GitOps dont je ne peux que vanter les atouts, a marqué les esprits en remplissant un amphithéâtre entier pour la session d’échange avec les principaux mainteneurs du projet.

Aujourd’hui la KubeCon attire plus de 7 000 personnes en présentiel et les projets de la CNCF sont devenus incontournables dans les entreprises. Des projets comme prometheus, gRPC ne sont même plus à présenter. C’est sans surprise qu’on voit aujourd’hui à la keynote de la KubeCon des entreprises qui dans le passé parlaient de l’open source comme le diable être aujourd’hui des acteurs majeurs aussi bien en tant qu’utilisateur que contributeur. C’est une petite victoire de voir Mercedes-Benz et Boeing venir remercier la communauté sur le main stage de la KubeCon. Cependant le chemin reste encore long sur les questions du financement de l’open source et du temps accordé aux développeurs pour contribuer sur ces projets open source au centre des solutions vendues par ces grands groupes. Une des conférences les plus attendues chaque année est la conférence réalisée par le CERN sur l’accélérateur de particules et leur emploi massif de cluster Kubernetes on-premise et dans le cloud de Google avec des chiffres à donner le tournis, plusieurs milliers de pods, 70 To de dataset à analyser à chaque expérience. (Pour ceux qui ne l’auraient pas encore vu un classique qui date de la KubeCon 2019 en attendant celles de 2022 : https://www.youtube.com/watch?v=CTfp2woVEkA).

Une petite ClusterQueue de 20To de mémoire et 10k cpu pour une démo, qui dit mieux ?

Au fil des versions Kubernetes est devenu très mature et la stabilité est au cœur de toutes les discussion., Cela se traduit souvent par moins de nouveautés, moins de fonctionnalités “flashy”. Néanmoins cette kubecon m’a permis de découvrir SIG Batch et SIG kueue (https://github.com/kubernetes-sigs/kube-batch, https://github.com/kubernetes-sigs/kueue) qui veulent réunir les projets et les initiatives pour permettre d’ajouter dans Kubernetes le moyen de lancer des tâches applicatives en opposition à des services tout le temps disponible. On ne parle pas de CronJob mais bien d’un système complet pour lancer des tâches avec une gestion de file d’attente, des priorités, des quotas et bien sûr de l’ordonnancement. Oui, vous avez bien entendu enfin un système de queueing dans Kubernetes. Fini les RabbitMQ à maintenir pour avoir simplement un moyen de dépiler des jobs. Les projets open source comme Kubeflow et Volcano des références dans ce domaine utilisent déjà kube-batch.

Au milieu de tous ces stands et ces conférences, une agréable surprise est la faible présence d’Openshift au profit des distributions open source plus proches de Kubernetes comme Rancher. Canonical a présenté MicroK8s (https://microk8s.io/) avec des clusters en ARM formés par plusieurs Raspberry Pi. Le monstre VmWare est venu avec leur solution Tanzu pour fournir aux entreprises un environnement complet et surtout le fameux support si cher aux grosses entreprises. Sans aucun doute Tanzu va s’imposer chez les grands comptes comme la solution pour Kubernetes en parallèle des solutions déjà bien connues des clouds publics. Personnellement je n’ai jamais accroché aux solutions ajoutant une surcouche à une solution déjà bien fournie. Je comprends la démarche de vouloir diminuer la complexité et favoriser l’adoption mais ma passion pour Kubernetes, comme pour beaucoup, est née en manipulant kubectl, en essayant de comprendre ces mécanismes complexes. C’est en comprenant dans le détail comment fonctionne Kubernetes que j’ai beaucoup progressé sur l’architecture logicielle car Kubernetes est au final une application de gestion comme peut l’être une application que vous développez.

Cette KubeCon a vu aussi l’apparition du “nodeless”, derrière ce nom très commercial comme toutes les appellations en “****less” se cache une volonté de déléguer la gestion d’une ressource informatique plus qu’une réelle disparition par magie. Après le “serverless”, voici donc le “nodeless” qui est la délégation de la création des nodes d’un cluster Kubernetes à une solution tiers. On a utilisé pendant longtemps aws-autoscaler, mais aujourd’hui AWS pousse son projet open source Karpenter (https://karpenter.sh/) permettant de gérer la création des nodes du cluster en fonction des besoins à un instant donné. Les nodes ne sont plus liées à la rigidité des nodes groupes (même caractéristiques au sein du même groupe). Karpenter pioche en spot ou en on-demand dans les instances proposées par AWS pour mieux satisfaire les besoins de votre cluster. Des solutions plus clé-en-main pour la gestion des nodes de votre cluster comme Cast.ia utilise l’intelligence artificielle pour déduire les comportements et les besoins de vos clusters en essayant d’anticiper le provisionnement des nodes. Au-delà du fait de mettre de l’IA partout, leur modèle économique de se rémunérer sur les gains réalisés par leurs clients en utilisant leur produit est une vision rafraîchissante dans l’écosystème SAAS des abonnements.

Les sujets liés à la sécurité abordés l’année dernière autour des OPA, de la supply chain et des SBOM sont devenus très matures et sont maintenant présents dans beaucoup de produits et solutions du marché. L’écosystème de la CNCF reste toujours impressionnant dans sa capacité et sa rapidité à absorber des nouveautés au point de les rendre de l’ordre du commun en une seule année. Sans faire une liste exhaustive de ce que j’ai pu voir, cette année était aussi marquée par la présence des entreprises de la télécommunication comme le géant Huawei pour leur intérêt autour de Kubernetes at edge et leur contribution sur de nombreux projets open source. J’ai été surpris de voir une si grande représentation de solutions permettant de déporter de la charge de travail au plus proche des industries en dehors des datacenters avec des solutions autour de Kubernetes et des “valises cluster” pour effectuer du on-premise-on-premise, en direct de l’usine ! Dans les points négatifs, le retour du mouvement visant à installer des bases de données dans les clusters Kubernetes et tout ce qui en découle sur le stateful, la gestion du stockage et des sauvegardes. Cette mode est portée par la maturité de Kubernetes sur le stateful et des besoins de performance en rapprochant la base de données des containers applicatifs mais aussi un énorme gain en coût vis à vis de l’offre managée des clouds publics. Mais aujourd’hui, à chaud, je vois encore ce retour comme une régression. Malgré un coût non négligeable, les bases de données managées offrent un confort de maintenance et de scalabilité qui était très difficile à obtenir dans le passé. Comme souvent après une KubeCon, on repart avec plein d’idées dans la tête et des projets à tester comme par exemple Yugabyte (https://download.yugabyte.com/cloud#k8s-operator) pour éventuellement changer d’avis sur les bases dans Kubernetes.

En conclusion

Cet événement reste un moment incontournable pour tout passionné de l’open source et de l’écosystème CNCF, j’ai appris  et découvert énormément durant cette semaine. Pour ceux qui n’ont pas pu faire le déplacement vous aurez la possibilité de voir les conférences dans les prochains jours sur la chaîne Youtube de la CNCF (https://www.youtube.com/c/cloudnativefdn). En espérant vous avoir donné envie de vous intéresser aux projets de la CNCF et au plaisir de vous faire part de mes retours ou de vous croiser en personne l’année prochaine à Amsterdam pour la prochaine KubeCon en Europe du 17 au 21 avril 2023.

Damien, devOps @Peaks