Cockpit io au Riviera days 2023

Rédigé par Mohamed Reda LARBI YOUCEF le 27/08/2023
Temps de lecture: 7 minutes

Du 10 au 12 juillet s’est tenu le Riviera Dev à Sophia Antipolis, et nous y étions avec Katia HIMEUR et Edouard RODRIGUEZ !

Cet événement s’est tenu sur 3 jours, avec une première journée orientée Workshops et Deep Dive. Les seconde et troisième journées contenaient des formats plus classiques, avec des conférences et des quickies. J’ai également assisté à des conférences et workshops dont je vous partage les résumés plus bas. Parlons de la keynote d’ouverture dans un premier temps.

Keynote d’ouverture

Cette dernière a été animée par Shirley Almosni Chiche qui nous a gratifié d’un talk autour des tendances du recrutement en 2023 mêlant à la fois expertise, analyse du marché et humour potache du meilleur effet :).

Suite à cette keynote nous avons profité du marché au poisson où chaque speaker venait nous “vendre” son talk en 30 secondes !

Devant tant de qualité, mon choix a été difficile mais j’ai décidé de suivre 10 talks/conférences dont voici les résumés.

Cassons des tokens JWT

J’ai démarré ce Riviera Dev par ce workshop, animé par Benjamin Merieau et Jean Verrons.

Nous avons commencé avec une partie théorique, où Benjamin et Jean nous ont très bien expliqué la théorie derrière les tokens JWT. Après cela, nous sommes passés à la pratique, à travers des exercices durant lesquels nous devions exploiter des failles liées au token JWT.

Ce workshop a été très utile pour moi. Il m’a permis d’en apprendre d’avantage sur le token JWT, qui est un élément de plus en plus utilisé de nos jours.

Le modèle des données, un chaos organisé

Cette fois-ci, j’ai assisté à un talk d’une durée de 3h présenté par Raphaël Chir.

Il s’agissait durant ce talk de voir l’évolution de la représentation des données. Nous sommes partis des méthodes utilisées durant les prémisses de l’humanité, jusqu’aux modèles modernes, en passant par le modèle relationnel ou le modèle NoSQL orienté documents.

Un talk très intéressant qui provoque une réflexion sur le stockage des données, enjeu majeur des métiers d’aujourd’hui.

Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes

Un petit mot sur ce workshop animé par notre CTO, Katia Himeur.

Durant ce workshop, Katia a rappelé ce qu’est le serverless, et les raisons qui peuvent nous pousser à disposer de sa propre plateforme, notamment pour éviter le vendor locking. S’en est suivi une série d’exercices pour montrer comment grâce à OpenFaaS, nous pouvons construire sa propre plateforme dès le poste de développement et les différentes possibilités offertes par cet outil.

Les exercices sont disponibles ici : https://gitlab.com/cockpit-io-public/openfaas-workshop

Les dessous du nom de domaine

J’ai démarré la deuxième journée de ce Riviera Dev par ce talk sur les noms de domaine, présenté par Thomas Fabre.

Thomas a commencé a rappelé un peu d’histoire, notamment sur la création d’internet, la création des fichiers hosts, puis la naissance du concept de DNS. Après cela, nous avons vu comment les DNS se présentent, quelles organisations permettent de les cadrer, et quelques problèmes de sécurité. Enfin, nous avons vu, au travers quelques anecdotes, quelques prérequis avant de choisir son nom de domaine.

Encore un talk très intéressant, sur un aspect fondamental de l’informatique.

Développer un opérateur Kubernetes en Java, challenge accepted !

J’ai enchaîné avec ce talk présenté par Stéphane Philippart.

Kubernetes est un sujet qui nous tient à cœur, et développer un opérateur est un sujet qui nous passionne. C’est ce que Stéphane nous a présenté durant ce talk. Il nous a montré les différentes étapes du développement de l’opérateur avec Java SDK Operator, à travers une démonstration.

Pour ma part, j’ai trouvé le talk très instructif. Le développement d’un opérateur paraît très simple avec Java SDK Operator.

Où stocker ses données en 2023 ?

Autre talk sur les données présenté par Cyril Gambis. Durant ce talk, Cyril nous a rappelé que le choix d’une base de données est souvent fait en fonction des habitudes d’une équipe, sans réelle étude. L’objet du talk est donc de montrer, à travers une étude faite à Décathlon, comment ils ont étudié les avantages et les inconvénients de plusieurs solutions, afin de trouver la ou les bases de données les plus adaptées à leurs besoins.

Nous avons revu un peu d’histoire, en partant des bases de données relationnelles. Nous avons également vu un rappel du théorème de CAP, théorème ô combien fondamental. Après cela, nous avons vu plusieurs solutions de base de données, avec leurs avantages et inconvénients selon les besoins.

Ce talk, très complet, m’a permis d’y voir plus clair sur la démarche à suivre pour choisir une base de données adaptée à nos besoins. J’ai également apprécié le fait que le critère Open Source pèse dans la balance pour le choix de la base de données.

Load testing with k6: Simplifying Performance Engineering

Dans ce talk présenté par Giuseppe Scaramuzzino, nous avons basculé sur un autre thème : les tests. Et plus particulièrement les tests de performance.

Giuseppe nous a rappelé les différents types de tests existants, ainsi que les différents types de tests de performances. Après cela, nous avons vu une présentation de l’outil k6 par Grafana Labs. Et enfin nous avons vu tout cela en pratique à travers une démonstration complète, partant de l’écriture des tests, jusqu’à l’affichage en direct des résultats dans un dashboard Grafana.

Ce talk m’a donc permis de découvrir un nouvel outil, qui a l’air simple et performant. Je ne manquerai pas de le tester pour me faire une idée plus approfondie.

Gérer les drifts des ressources Terraform grâce à la méthode GitOps

Après un workshop la première journée, Katia Himeur a donné un talk lors de cette seconde journée, cette fois sur Terraform, plus précisément sur la gestion des drifts Terraform.

Katia a commencé par exposé la problématique des drifts, qui sont toutes les différences entre l’état des ressources déclarées et l’état réel sur l’infrastructure. Elle a ensuite présenté plusieurs manières de résoudre ce problème en exposant les limites de ces méthodes, avant de nous faire une démonstration de la solution qu’elle a retenu qui consiste à utiliser le contrôleur Terraform tf-controller de Flux.

La CI/CD est plus notre problème ! L’InnerSource est notre ami

J’ai terminé la seconde journée par ce talk présenté par Aurelien Coget et Sébastien Longo.

Sébastien nous a présenté son rôle au sein de son organisation, dans laquelle il intervenait pour produire les pipelines de CI/CD de chaque projet. Il nous a montré ensuite comment il a basculé vers une approche basée sur l’Inner Source, dans laquelle il partageait plutôt des templates de CI/CD aux différentes équipes. Cela lui a permis d’harmoniser les pratiques et de donner plus d’autonomie aux équipes. Il a également rencontré Aurélien, qui a été confronté à la même problématique, qui s’est lancé dans la création de l’outil R2Devops avec Thomas Boni, pour y répondre.

Personnellement, j’ai trouvé ce talk particulièrement intéressant, étant donné que je suis confronté à la même problématique, et j’ai opté pour une solution très similaire. Et nous avons eu l’occasion de tester en interne R2Devops, nous recommandons son utilisation.

Un Dev, un Ops et Git - A quelle vitesse réussiront-ils à réparer la prod ?

Dernier talk auquel nous avons assisté à ce Riviera Dev, présenté par Fabrice Pipart et James Searby.

Durant ce talk, Fabrice et James nous ont présenté un outil et une approche que nous connaissons bien, qui est l’approche GitOps avec Argo CD. Nous avons vu aussi une présentation d’Argo CD.

Après cela, une mise en scène plutôt drôle sur la panne de leur application en production. À travers la démonstration, Fabrice et James se sont chargés de réparer la production à l’aide de l’approche GitOps. Mission réussie en quelques minutes suite à un commit et une pull request. Ils nous ont également montré le self heal d’Argo CD.

L’approche GitOps est une approche que j’aime beaucoup. Ce talk m’a permis de conforter mon idée. Ils ont également insisté sur l’importance du dialogue entre les développeurs/développeuses et les ops, chose que nous encourageons également.

Conclusion

Je suis rentré de ce Riviera Dev très satisfait. Certains talks m’ont permis de voir que certaines de nos pratiques ont également été adoptées par d’autres acteurs du marché. D’autres m’ont permis d’approfondir certaines choses que nous utilisons au quotidien. Et enfin, certains m’ont fait découvrir de nouveaux outils. Vous l’aurez compris, l’événement a été très enrichissant, nous n’hésiterons pas à revenir aux prochaines éditions :) .