KubeCon + CloudNativeCon EU 2019 – Day 0

Nous vous en parlions la semaine dernière : cette semaine se tient à Barcelone la « KubeCon + CloudNativeCon EU 2019 », soit 2 conférences en une : la KubeCon, conférence dédiée à Kubernetes, et la CloudNativeCon, évènement consacré à l’environnement « Cloud Native » gravitant en particulier autour de la CNCF (Cloud Native Computing Foundation).

Ayant la chance d’être 3 Xebians parmi les milliers de participants, nous vous livrerons nos retours sur ce blog, et ceci démarre dès maintenant avec le « Jour 0« . L’évènement ne commence en effet que ce mardi, le lundi étant néanmoins occupé par divers regroupements, ateliers, ainsi qu’une session de lightning talks à laquelle nous avons eu le plaisir d’assister.

Le programme :

Atterrissage à Barcelone

Mesdames, messieurs, veuillez attacher vos ceintures, nous partons pour la KubeCon et vous embarquons avec nous.

Avant même d’avoir atterri, nous voyons déjà des conteneurs… depuis les nuages. Cette KubeCon + CloudNativeCon s’annonce bien

La logistique de la KubeCon + CloudNativeCon bat des records cette année : avec 8000 personnes attendues, le retrait des badges peut se faire directement à l’aéroport en quelques secondes; un QRCode envoyé par mail à l’inscription, une tablette et c’est parti : on scanne et on récupère son badge avant même d’avoir quitté l’aéroport !

Bienvenue à la KubeCon + CloudNativeCon EU 2019

Quelques formalités plus tard, nous voici enfin à l’endroit tant attendu : le Fira Gran Via de Barcelone, lieu de cette KCCNC EU 2019.

On remarque dès l’arrivée l’événement qui marquera le thème de cette édition : les 5 ans de Kubernetes.

Les premiers pas à l’intérieur laissent sans voix les Xebians y assistant pour la première fois. Les plus chevronnés ne sont pas en reste non plus : l’événement est passé de 4500 personnes en 2018 à 8000 cette année. Une croissance aussi impressionnante que logique. Même le hall des sponsors n’en est que plus impressionnant :

 

C’est d’ailleurs une des différences majeures de la KubeCon + CloudNativeCon par rapport à d’autres « grandes » conférences pour nous : les sponsors sont pertinents et acteurs de l’écosystème. C’est donc un plaisir de parler avec eux – au delà du traditionnel « oui, vous pouvez scanner mon badge si vous me filez un t-shirt cool… ».

C’est toujours un plaisir de voir quelque chose croître sans pour autant perdre en qualité !

Mais assez visité, passons au concret.

Lightning Talks

Durant 2 heures, nous avons vu passer un grand nombre de sujets, chaque talk ne durant pas plus de 5 minutes. En voici un bref résumé, plus ou moins détaillé selon l’intérêt que le talk a suscité chez nous.

Beatriz Martínez Rubio (IBM) ouvre le bal avec une présentation d’eBPF en nous décrivant cette technologie comme l’équivalent « du moteur JavaScript pour un navigateur web » rapporté au traitement des paquets réseau du kernel Linux. Nous retiendrons notamment l’utilisation des bibliothèques comme bcc et bpftrace pour faciliter la communication avec eBPF, équivalent des frameworks JS que l’on connaît.

Vladimir Vivien (VMware) poursuit en nous parlant de systèmes distribués et de ses expérimentations avec un système inspiré du modèle d’Acteurs pour exposer l’API de Kubernetes d’une manière plus saine et extensible. Il introduit un pattern Coordinateur/Observateur qui va permettre l’émission d’événements pouvant alors être captés et traités par un callback.

Fernando Diaz (IBM) et son sujet autour des tests unitaires pour les clients Kubernetes sont la première nuance de craft (dès le 3e talk !) de cette KCCNC. À cette fin, il nous parle de Go-Client Fake Client – le lien est un dépôt de démo, le réel code est intégré au dépôt du vrai client. Il s’agit d’un mock du client Go de Kubernetes facilitant ainsi les tests unitaires de n’importe quelle brique qui aurait à interagir avec ce client Go : plus besoin d’avoir un vrai cluster derrière !

James Wen (Spotify) nous a quant à lui conté l’histoire du pattern de sidecar et d’une problématique qui en découle : que faire du pod lorsque le job principal est terminé, mais que le sidecar ne l’est pas ? La solution : un « hack » magistral à base de communication via un volume partagé entre l’application et le sidecar, dans lequel un fichier est créé à l’arrêt de l’application, alors détecté par le sidecar. Une chose est sûre, il y aura probablement bientôt des avancées sur ce sujet qui ne peut pas décemment rester en l’état, par exemple via la KEP (Kubernetes Enhancement Proposal) à ce sujet.

Hannah Foxwell (Pivotal) vient nous parler de « HumanOps ». En version condensée d’un de ses talks de la VelocityConf London 2018, elle nous parle des mauvaises pratiques d’ingénierie et de leur impact potentiel sur nos vies (notions de psychological safety, de performance au sens rythme soutenable, etc.). Plus précisément, elle nous rappelle les notions de SLA / SLO / SLI / Error Budget et de comment la mise en place de ces mesures d’une manière saine contribue à mieux vivre aux côtés d’une démarche SRE centrée sur l’humain. Le message à retenir : « failure is normal, reliability is fundamental ».

 

Ruben D Orduz (Notebook) a proposé une démo sympa d’inspection de l’état d’un cluster Kubernetes plutôt originale. Le combo : le client Kubernetes Python pour interroger le cluster + Jupyter Lab pour faire tourner le code et expérimenter + Sqlite pour stocker les données + Pandas pour les calculs + Bokeh pour la visualisation.

Kaslin Fields (Oracle) nous parle de… Cookies ! Et voilà.

Risha Mars (Buoyant) nous rappelle qu’aussi fan de CLI que nous soyons, certains préfèrent malgré tout les GUI. Il ne s’agit pas d’un choix à effectuer : faisons les deux ! À cette occasion, elle nous a également partagé une vision intéressante de l’impact sur les contributions à un projet open source que peut avoir la présence d’une GUI. Souvent, certains contributeurs commencent par ajouter/modifier de simples informations dans un dashboard avant de contribuer plus sérieusement à un projet.

Zach Arnold (Ygrene) nous souffle l’idée que Istio/Envoy pourrait être l’endroit approprié pour implémenter un cache de requêtes réseau. Pourquoi pas ? On retiendra dans tous les cas le Track Host de la session et son « Istio est un des projets dont on parle le plus à la KubeCon + CloudNativeCon même si ce n’est pas un projet de la CNCF – allez savoir pourquoi ».

Joel Speed (Pusher) adresse de son côté le sujet du changement de Config Maps. En effet, celles-ci n’ont qu’une relation unidirectionnelle avec les Deployments. Si une ConfigMap est mise à jour mais que l’application n’en est pas informée et ne la recharge pas dynamiquement, elle ne prendra pas en compte le changement de configuration. Certains contournements sont possibles, mais Joel nous propose Wave, qui s’occupe lui-même de mettre à jour un Deployment en fonction du hash de la ConfigMap et des Secrets associés, créant ainsi une relation bidirectionnelle entra la configuration et le Deployment.

Enfin, Renaud Gaubert (Nvidia) parle cette année de l’intégration de drivers dans Kubernetes. Pourquoi ne pas faire tourner des drivers dans des conteneurs privilégiés ? Sujet à réflexion.

Conclusion

La conférence n’a même pas encore réellement commencé que nous nous extasions déjà. Vivement la suite, qui sera elle aussi sur ce blog !

Publié par Alexis "Horgix" Chotard

Alexis "Horgix" Chotard est DevOps chez Xebia et s'intéresse particulièrement à tout ce qui est infrastructure moderne et dynamique (infra-as-code, containérisation, automatisation, self-healing, déploiement continu, ...). Alexis est également formateur au sein de Xebia Training .

Publié par Jean-Pascal Thiery

Java Craftsman et agiliste pratiquant. Jean-Pascal a arpenté les voies de l'intégration continue jusqu'à intégrer la mouvance DevOps. Il aime : Java, Docker, Mesos, et la qualité des livrables. Il n'aime pas : les phrases qui commence par "Normalement, ...".

Commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Xebian, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.