Les grandes choses ne sont jamais faites par une seule personne, elles sont faites par toute une équipe. Cette première édition du KCD Paris n’échappe pas à cette règle.
Réunis depuis 2016 autour des sujets d’orchestration de conteneurs, un petit groupe de passionnés s’est lancé en 2019 le défi d’organiser une version parisienne des Kubernetes Community Days.
L’idée directrice était d'offrir un événement résolument orienté vers la technique agrémenté de retours de terrain pointus et uniquement en français ! Malgré un manque d’expérience dans l'événementiel, force est de constater que le pari a été réussi.
WeScale était là pour cette première édition en tant que participant, partenaire et speaker. A travers cet article, nous souhaitons vous partager les conférences qui ont retenu notre attention.
En guest stars pour la keynote, nous avions Jérôme Petazzoni, un des grands artisans des conteneurs tels qu’on les connaît aujourd’hui, présent en tant qu’animateur de conférence, et Solomon Hykes, fondateur de Docker. Sous forme d’interview, ils nous ont donné quelques anecdotes sur leur vécu dans ce milieu avant de s'interroger sur les futures tendances. La discussion était très orientée autour des notions de graphes acycliques orientés (ou DAG), une modélisation que l’on retrouve souvent dans tous les outils du domaine de l’automatisation, du provisionning, de la CI et de la CD, que nous utilisons tous les jours. Les deux speakers se sont ensuite arrêtés sur le nouveau produit de Hykes, dagger.io qui s’inscrit dans cette mouvance.
La keynote a continué par une présentation de l’Education Nationale sur leur automatisation de la correction des copies des examens du Bac 2022 et en cours de généralisation à tous les examens en France. Cela représente des millions de copies scannées, passées dans des outils d’OCR pour associer la copie au bon candidat et récupérer les corrections et notations. Le tout étant géré sur des plateformes Kubernetes évidemment.
Il était compliqué d’envisager un KCD sans parler de Cilium. Porte drapeau de la révolution eBPF, Isovalent n’est pas juste l’éditeur de Cilium (implémentation de la Container Network Interface). C’est en réalité le porteur d’une suite d'outils cohérents pour gérer le réseau, l’observabilité et la sécurité de sa plateforme. C’est ce qu’est venu nous conter Raphaël Pinson, Solution Architect chez Isovalent.
Après avoir rappelé l’intérêt de la technologie eBPF et comment Cilium en tire partie, nous avons passé en revu les différents cas d’usage où la suite Isovalent apporte son lot de nouveautés. Que ce soit avec Cilium, pour gérer le réseau Kubernetes, Hubble, pour observer vos interactions entre Pods, ou Tetragon, pour contrôler les appels systèmes du noyau, Raphaël a fait preuve de pédagogie pour aider l’auditoire à prendre mesure des cas d’usage offerts.
On regrettera de ne pas avoir évoqué le besoin de potentiellement payer pour ce genre de fonctionnalité, mais nous reconnaissons volontiers que nous étions entre gens de la technique et que cela peut bien attendre un premier “wahou effect” :)
https://www.kcdfrance.fr/programme/revolution-ebpf-un-noyau-linux-dynamique
Le concept est intéressant, c’est un jeu de piste dans un cluster Kubernetes, sur base d’exercices d’entretien de recrutement. Ce n’est pas nouveau évidemment mais le projet est bien abouti avec un système de niveaux permettant de rajouter des exercices au fur et à mesure. Chaque exercice cible une problématique bien précise d’un environnement Kubernetes pour permettre non seulement de mettre en pratique ses connaissances mais aussi d’en acquérir de nouvelles. Ce qui m’a intéressé notamment dans cette approche c’est l’aspect gymnastique. Je me suis fait cette réflexion sur l’utilité d’une plateforme d’apprentissage assez large pour couvrir différents environnements, outils et pratiques. Un tel outil et une petite discipline de groupe, sous forme de daily par exemple, peut permettre à une équipe ou une communauté de ne pas perdre la main. Cela permet d’apprendre progressivement, garder et partager des bonnes pratiques. C’est d’ailleurs un peu ce que nous faisons déjà régulièrement chez WeScale, notamment avec les WeShares ou les groupes de préparation de certification par exemple.
https://www.kcdfrance.fr/programme/kescape-par-agaetis-un-escape-game-pour-kube-lovers
Dans cette conférence, on fait la comparaison de 3 Container Network Interfaces (CNI), à savoir Calico, Cilium et Antrea. Comme objet de comparaison, Jérôme prend la Maximum Transmission Unit et le chiffrement pour vérifier les différences que l’on peut rencontrer après avoir changé de driver réseau. Ses démos sont effectuées sur AWS EKS qui propose lui même dans sa version managée, une CNI maison. On se rend alors compte des overheads possibles sur les trames réseau, et on prend la mesure des problèmes ou inconvénients qu’il est possible de rencontrer par la suite, d’autant que changer de driver réseau sur une prod de plus grosse envergure peut être un casse-tête à effectuer sans interruption. La présentation prend également une tournure amusante quand le comparatif est amené sous forme de conte pour enfants.
https://www.kcdfrance.fr/programme/goldie-dor-et-les-trois-cni
La notion de Service Mesh est bien connue des utilisateurs Kubernetes car elle promet de gérer des notions de sécurité et logging au niveau des couches réseaux L3/L4, plutôt que de le déléguer aux applicatifs. Cela apporte une couche de fédération salvatrice lorsque nous parlons de centaines d'applications à gérer.
Istio est une approche du Service Mesh qui s’appuie sur la notion de sidecar container, sorte de reverse proxy qui capte tout le trafic à destination de vos conteneurs applicatifs en vue d’y appliquer des politiques de sécurité, de logging, de tracing, etc.
Cette approche a l'inconvénient d’avoir une augmentation de consommation RAM/CPU de nos nœuds qui croit linéairement avec le nombre de pods applicatifs, sans mentionner le coût opérationnel associé.
Denis Jannot, Director of Field Engineering chez Solo.io, nous a présenté une nouvelle approche d’Istio qui se passe des sidecar containers, nommée Istio Ambient.
Ce nouveau mode de fonctionnement regroupe les fonctionnalités réseau des couches L3 à L7 dans un nouveau proxy au niveau du nœud plutôt que du pod : l’agent zero trust tunnel. Ainsi les fonctionnalités de sécurité réseau, d’authentification, de gestion de trafic et d’observabilité des routes sont maintenant gérées au niveau de ce proxy complètement décorrélé des pods applicatifs.
Il est à noter que cette version d’Istio n’est toujours pas production-ready mais devrait le devenir dans les 6 prochains mois, ce qui devrait en ravir plus d’un.
https://www.kcdfrance.fr/programme/istio-ambient-mesh-deep-dive
La sécurité ce n'est pas juste le chiffrement des communications ou la détection d'attaques externes, c'est aussi s'assurer que rien de dangereux ne soit déjà dans les murs. Il n’est plus seulement question de chiffrer les communications ou de se protéger d'attaque sur le runtime. L’épisode de SolarWinds a douloureusement rappelé l’importance de valider l’authenticité des différentes dépendances que nous consommons lors du build de nos applications.
Mohamed Abdennebi nous a présenté l’approche SLSA, qui couplée avec Sigstore, permet d’atteindre différents niveaux de maturité pour vous prémunir d’intégrer du code malicieux dans vos builds applicatifs.
Ce talk, mêlant habilement théorie et pratique, a su rendre accessible un sujet qui devrait avoir de plus en plus d’écho dans le monde de l’entreprise.
Nous ressortons de ce KCD avec le sentiment d’avoir assisté à un événement réussi. Tant sur la qualité technique des sujets, l’aisance des speakers et l'accueil des participants au Centre Pompidou, cet événement a su se hisser, dès sa première édition, au niveau des grandes conférences du milieu.
Il faut à ce titre saluer le travail de l’équipe organisatrice qui s’est lancée dans une aventure qui était tout sauf une formalité. De notre côté, tous les voyants sont au vert pour réitérer l’expérience l’année prochaine.
Rendez-vous l'année prochaine !