Devoxx FR 2021 - Dans les đ de sega - Jour 1
Introduction - Dans mes đ
Pour ce CR de la Devoxx, je parle en disant âjeâ, je donne mon ressenti Ă moi, jâessaie de retranscrire lâambiance⊠De mon point de vue, lâintĂ©rĂȘt dâun article exhaustif et objectif est rĂ©duit : il aurait fallu que jâassiste Ă 6 crĂ©neaux * 5 tracks * 3 jours = 90 talks ! Alors asseyez-vous confortablement, et Ă©coutez mon histoire.
Imagine.
Nous sommes un jeudi matin de Septembre, je suis parti Ă 8h de chez moi, pour me frayer un chemin Ă vĂ©lo jusquâau Palais des CongrĂšs, dans le tumulte des klaxons parisiens.
Et surtout, il fait 10°C.
Une seule chose pouvait me donner lâĂ©nergie dâĂȘtre lĂ , Ă ce moment prĂ©cis : le retour de Devoxx France.
ApartĂ© - Devoxx, câest quoi ?
Devoxx, câest une confĂ©rence internationale, qui a lieu en Angleterre, en Ukraine, en Belgique, et donc Ă©galement en France. Elle parle historiquement de Java, et de bien dâautres sujets tech (Big Data, DevOps, IoT, Mobile, SĂ©curitĂ© âŠ) sous des formats Ă©galement variĂ©s (keynote, university, quickie, tools-in-action, confĂ©rence).
8h45, Ă lâaccueil, les visages des quelques motivĂ©s arrivĂ©s comme moi en avance sont fatiguĂ©s, et laissent transparaĂźtre la mĂȘme question.
âIls sont oĂč les croissants ??â
Pas de croissants, mais bien les grands sourires des nombreux bénévoles déjà présents.
Ne me laissant pas abattre par lâabandon de lâidĂ©e dâun petit-dĂ©jeuner, je file en Amphi Bleu, tout au bout du 2Ăšme Ă©tage. Lâobjectif : avoir les meilleures places pour assister Ă la Keynote.
đĄ Keynote - Pourquoi l'Open Data ne dispense pas de quelques notions de statistiques par Guillaume Rozier et Sacha Guilhaumou
Description du talk - Lien du replay
Jeudi est déjà le second jour de Devoxx France. Néanmoins, ce Jeudi 30 Septembre à 9h30, ce sont bien les 826 places de l'Amphithéùtre Bleu qui sont remplies.
Pourquoi ? En apprendre un peu plus sur ce projet qui a bouleversĂ© la France durant la pĂ©riode COVID, et avec encore plus de force lâOpen Data : covidtracker.fr
Câest tout devant, assis en plein milieu, que jâai la chance de dĂ©couvrir lâintro musicale de lâĂ©quipe des âgilets rougesâ de Devoxx, remix de âJe rĂȘvais dâun autre mondeâ. Sâensuit une prĂ©sentation des speakers relativement inutile pour Guillaume, mais qui nous permet de dĂ©couvrir Sacha, Ă©tudiant en pharmacie, et dĂ©veloppeur Python, parce que pourquoi pas.
Sacha et Guillaume nous parlent donnĂ©es, donc, mais sous le prisme de leur interprĂ©tation, pour changer ! LâOpen Data est fortement dĂ©veloppĂ©e en France (cocorico), mais attention, son analyse peut parfois mener Ă des interprĂ©tations biaisĂ©es, et donc fausses.
Je découvre grùce à eux le biais lié aux échelles, la différence entre corrélation et causalité, le théorÚme de Bayes, le biais de confirmation, le paradoxe de Simpson, ou encore le biais de faible effectif.
Des maths, mais fidĂšles Ă eux-mĂȘmes, expliquĂ©s avec pĂ©dagogie et exemples gagnants.
đż ConfĂ©rence - Lâintelligence artificielle au secours de lâaccessibilitĂ© par AurĂ©lie Vache et Guillaume Laforge
Description du talk - Lien du replay
30 minutes de pause, suffisantes pour aller dire bonjour aux copains du stand Accenture (coucou Nick !), et pour récupérer des bonbons par-ci par-là .
Et aprĂšs mâĂȘtre perdu dans les couloirs du Hall Paris et du Hall Neuilly, me voilĂ en 252 pour assister Ă la premiĂšre confĂ©rence.
AurĂ©lie dĂ©bute le talk par une introduction sur lâIA, traduite en direct en langage des signes par Guillaume. Le ton est donnĂ©, nous parlerons accessibilitĂ©.
Le joli t-shirt Google de Guillaume et leur disclaimer ânous sommes des devsâ viennent Ă©galement confirmer que nous verrons aujourdâhui plus de pratique que de thĂ©orie sur lâIntelligence Artificielle.
Google donc, qui propose de nombreuses solutions sur-étagÚre, comme celles que Guillaume nous fait découvrir dans cette démo impressionnante de leur confection.
De son cĂŽtĂ©, AurĂ©lie nous apporte la vision utilisateurs, Ă lâaide de cas dâusages intĂ©ressants et parfois surprenants.
LâIntelligence Artificielle apporte quatre outils pour aider les utilisateurs en situation de handicap, comme ceux pour qui ce nâest pas le cas (pensez rampe dâaccĂšs, ça aide tout le monde !).
- Speech-to-Text : pour transcrire un fichier audio en texte
- Text-to-Speech : pour transcrire un texte en fichier audio
- Vision : pour décrire une image
- Translate : pour traduire un texte dans une autre langue
Les cas dâusages sont tous extrĂȘmement remarquables, mais certains me marquent plus que les autres :
- Speech-to-Text : certains tĂ©lĂ©phones rĂ©cents (comme le Google Pixel) permettent de transcrire en live un appel tĂ©lĂ©phonique, Ă lâaide de sous-titres.
- Text-to-Speech : Numerama offre dĂ©sormais sur la plupart de ses articles la possibilitĂ© de lâĂ©couter plutĂŽt que de le lire
AurĂ©lie nous partage ensuite les âcouacsâ des outils modernes. Cela peut ĂȘtre une âfancy fontâ sur un tweet qui empĂȘche sa lecture par un lecteur. Ou encore des appareils comme Alexa ou Siri qui reconnaissent plus facilement une voix dâhomme plutĂŽt quâune voix de femme bĂšgue (par exemple).
Des initiatives voient justement le jour pour contrer les biais de donnĂ©es : Common Voice (Mozilla), Project Euphonia (Google), SEP-28K (Apple), ou encore Voiceitt (Amazon). Le fait quâAurĂ©lie nous prĂ©sente ces projets et les teste avec sa propre voix a un impact trĂšs fort.
đ„Ș BBL - Full-remote : comment rĂ©ussir Ă travailler en Ă©quipe ? par Lise Quesnel
Description du talk - Lien du replay - Lien des slides
Retour aux stands, pour dĂ©couvrir la file dâattente de 500 personnes qui attendent pour rĂ©cupĂ©rer leur panier repas. Pas le temps de traĂźner, je file en Amphi Maillot pour le BBL qui me donnait lâespoir dâenfin bien travailler en remote.
Devant un public de 350 personnes mĂąchant leur sandwich, Lise se prĂ©sente : dĂ©veloppeuse chez Zenika, sur le projet de lâĂ©tat Pix.fr, elle tĂ©lĂ©travaille depuis Nantes, et ce depuis 2019. Hors, 2019 câest lâan -1 avant COVID-19, nous avons donc affaire Ă une pionniĂšre !
En 15 minutes, Lise arrive Ă traiter les risques (solitude, flemme, Ă©quilibre pro/perso), et les clĂ©s (communication, confiance, qualitĂ© de lâenvironnement) classiques. Des choses simples comme dire Ă©crire bonjour (et au revoir !), faire du pair programming, se voir de temps en temps, avoir un bon matĂ©riel sonore ...
Mais la valeur du talk réside en deux autres points.
Le premier, câest la pyramide de la communication que nous prĂ©sente Lise.
crédit : slide du talk (slides ici)
Le message derriĂšre cette image, câest que monter dans la pyramide est un levier pour amĂ©liorer la communication : si un quiproquo ou un malentendu sâinstalle, il faut monter.
Cela paraĂźt Ă©vident, mais demande Ă ĂȘtre attentif Ă ceux-ci pour ne pas les laisser grandir.
Ce qui amĂšne au second point âŠ
⊠qui est lâeffort nĂ©cessaire pour bien tĂ©lĂ©travailler. Oui le tĂ©lĂ©travail câest du travail, et souvent mĂȘme plus difficile, surtout au dĂ©but. Le conseil de Lise est donc âfaites lâeffortâ : de communiquer, de se rendre disponible, de mettre en place un bon environnement de travail, de jouer le jeu en fait.
đ University - Build a photo sharing application with Google Cloud serverless technologies par Guillaume Laforge
Description du talk - Lien du replay - Lien du codelabs
Vite vite ! En courant, jâarrive avec 30 minutes de retard au second talk de Guillaume Laforge. Bien sĂ»r que 45 minutes nâĂ©taient pas suffisantes pour un dĂ©jeuner au restaurant avec les copains de Vite Ma Dose ...
Heureusement, le format âUniversitĂ©â correspond Ă un TP de 3 heures, sur une technologie spĂ©cifique. Jâarrive donc au dĂ©but du second lab sur un total de six, et je me rassure en me disant que je pourrai rattraper le cours sur le codelabs de Google Cloud.
Pourquoi ce talk ? Parce que câest un sujet que jâai dĂ©jĂ explorĂ© il y a deux ans, et je veux savoir oĂč en est Google Cloud dĂ©sormais.
En bon Developer Advocate et fier reprĂ©sentant de Google (attention, il sait aussi ĂȘtre critique parfois !), Guillaume fait du 100% Google Cloud durant ce talk.
Besoin dâun terminal avec les bons binaires ? Utilisons Google Cloud Shell !
Besoin dâun moteur de containers Docker et dâun registre dâimages ? Utilisons Google Cloud Build et Google Container Registry !
Lâapplication que nous produisons consiste en un site de partage de photos, qui analyse automatiquement celles-ci, entre autres traitements, tous serverless.
schĂ©ma dâarchitecture de notre application - source : codelabs
Cloud Functions
Le premier lab du cours a pour objectif dâanalyser chaque nouvelle image ajoutĂ©e au bucket Cloud Storage, Ă lâaide de Cloud Functions. Câest le cas dâusage classique du serverless, celui du Functions-as-a-Service (FaaS pour les pros), bien entendu.
Câest simple, on Ă©crit un bout de code en Node.js, qui rĂ©cupĂšre les metadata reçues en paramĂštre, et rĂ©alise un appel API Ă Cloud Vision, pour tout dĂ©poser dans une base de donnĂ©es Cloud Firestore.
OĂč est-ce que ça tourne ? Comment jâassemble mon image Docker ? Comment jâexpose ma mini-API ? On sâen fiche, câest Google qui rĂ©gale. Simple, on a dit.
Attention par contre, je pense dĂ©jĂ Ă des inconvĂ©nients tout de mĂȘme, comme par exemple le fait de nâavoir du feedback sur son bout de code quâune fois dĂ©ployĂ©âŠ
Cloud Run
DĂšs le second lab, on a besoin de plus de performance, plus de compute. Bref, plus quâun bout de code qui tourne dans un mini container de 256Mb, avec un timeout au bout dâune minute.
Ici, on fait du traitement dâimages, et câest plus gourmand quâun ou deux appels APIs. On utilise donc le service de Container-as-a-Service (CaaS, oui vous lâavez maintenant) de Google Cloud. BasĂ© sur knative, lâoutil est dĂ©sormais utilisable en production, avec une haute disponibilitĂ©, depuis dĂ©jĂ deux ans.
Quâavons-nous Ă faire dĂ©sormais ? Toujours notre bout de code, et y ajouter un fichier Dockerfile qui dĂ©crit le contenu de lâimage du container. Puis on mĂ©lange bien avec un gcloud run deploy
, et câest bon. Bon, ça demande un peu plus de travail, mais ça va.
App Engine
Finalement arrive le moment de faire un front pour lâapplication (ndlr, câest dingue comme on nĂ©glige tout le temps le frontâŠ).
Guillaume a prĂ©vu une SPA en VueJS, parce quâon est quand mĂȘme en 2021, et la dĂ©ploie Ă lâaide dâApp Engine.
Quâest-ce ? Un PaaS, comme le sont Ă©galement Heroku, Scalingo, ou AWS Elastic Beanstalk. Et pour ceux qui ne connaissent pas le principe, câest encore une fois trĂšs simple : tu lui donnes ton code, en prĂ©cisant le langage utilisĂ© (quoique parfois facultatif !), et le PaaS le fait tourner lui-mĂȘme.
App Engine possĂšde moins de fonctionnalitĂ©s quâun PaaS spĂ©cialisĂ©, mais prĂ©sente lâavantage dâĂȘtre serverless dans sa version standard. Ce qui signifie de maniĂšre pragmatique, aucun frais si aucun visiteur nâaccĂšde au site.
Une commande plus tard, notre SPA est exposée au monde entier, en haute disponibilité.
đż ConfĂ©rence - Choreography vs Orchestration in serverless microservices par Guillaume Laforge
Description du talk - Lien du replay - Lien des slides
ComplĂštement amoureux du monsieur, jâenchaĂźne sur le dernier talk du âmarathon Guillaume Laforgeâ. En plus, sans aucun remords, je lâassaille de questions Ă la fin de son university, ce qui fait que lui comme moi mangeons la maigre pause de 30 minutes.
Le premier exemple dâarchitecture est celui de tout bon noob des microservices : une succession dâappels Ă des APIs REST enchaĂźnĂ©s. Dans ce cas-lĂ , chaque service devient un SPOF, et il y a un couplage Ă©vident.
Je retrouve ensuite le concept de chorĂ©graphie, relativement commun dans de nombreux projets informatiques modernes, et une solution extrĂȘmement efficace pour dĂ©coupler ses services.
Le premier service effectue sa tùche et publie un événement dans un message broker, et le suivant réagira à cet événement, pour effectuer sa tùche et publier un autre événement, et ainsi de suite.
Ăa scale bien, mais il est difficile de monitorer le systĂšme dans sa globalitĂ©, et de savoir si tout notre processus mĂ©tier a fonctionnĂ©.
Finalement, je dĂ©couvre complĂštement le principe dâorchestration dans ce talk.
Alors oui, nos services sont indĂ©pendants, notre logique mĂ©tier est suivie de bout en bout, on fait du REST tout simple. MAIS. Nous avons un nouveau SPOF : lâorchestrator.
Alors que choisir ? Et bien, Guillaume me rĂ©pond avec un âça dĂ©pend đ€·ââïžâ.
Dans tous les cas, pour lâoutillage, nous sommes plus que servis sur la chorĂ©graphie : SQS/SNS, Pub/Sub, Kafka, RabbitMQ âŠ
En revanche, pour lâorchestration, je ne connais rien Ă part Apache Airflow⊠jusquâĂ ce que Guillaume me prĂ©sente Workflows.
Lâoutil semble trĂšs prometteur, dans lâĂ©ventualitĂ© oĂč on veut bien faire du 100% GCP. En tout cas, Guillaume mâa convaincu avec sa dĂ©mo, et avec le peu dâĂ©nergie quâil lui restait Ă ce moment-lĂ , cela en dit long sur les promesses de lâoutil.
đ Tools-in-Action - Les phoques au secours des baleines - Ă la dĂ©couverte de Podman par Benjamin Vouillaume
Description du talk - Lien du replay
Tout comme le speaker du talk prĂ©cĂ©dent, mon Ă©nergie commence Ă baisser. Alors, forcĂ©ment, lorsque le titre dâun talk parle dâanimaux (et de devops), câest celui-ci que je choisis.
Alors les baleines, ok câest Docker, mais les phoques, je ne connais pas.
Pour introduire le sujet, Benjamin présente Podman : un concurrent de Docker, open source, en golang, poussé par Redhat.
Jâai instantanĂ©ment lâeau Ă la bouche lorsquâil nous dit que lâoutil vise Ă ĂȘtre prochainement disponible sur OS X et Windows ⊠(Ă lâinverse de Docker, qui devient payant sur ces systĂšmes).
NB : la rédaction a vérifié par la suite, Podman déclare sur le sujet
Podman presently only supports running containers on Linux. However, we are building a remote client which can run on Windows and macOS and manage Podman containers on a Linux system via the REST API using SSH tunneling.â
Puis, pour démarrer tranquillement, Benjamin nous fait une démonstration classique des fonctionnalités de Docker. docker build
par-ci, docker run
par-lĂ .
Une fois celle-ci terminĂ©e, plot twist incroyable, il nous montre que sa machine nâa pas docker installĂ©, remplacĂ© par un subtil alias docker=âpodmanâ
...
On retrouve donc les mĂȘmes fonctionnalitĂ©s sur Podman que sur Docker, avec un CLI 100% compatible. Sur le comment, Podman sâappuie sur la spec OCI, et sur runc
, son implémentation de référence.
Plus spĂ©cifiquement encore, Docker lance 3 services pour son moteur : dockerd, containerd et donc runc. De son cĂŽtĂ©, Podman nâa pas de daemon en arriĂšre plan. Il est plus performant, et expose une surface dâattaque plus restreinte que Docker.
Et dans un dernier Ă©clat de concentration, je retiens que Podman utilise buildah pour construire une image, et Ă©galement quâun podman generate kube
permet simplement de déployer un pod avec son container.
Conclusion de la journée, et retour à la maison
A 18h, je me sens Ă©puisĂ©. Les talks sont tous extrĂȘmement intĂ©ressants, on est bousculĂ© dans ses idĂ©es, on a envie de tester plein de nouveaux outils.
Au bout de cette journĂ©e, jâai lâimpression dâen avoir vĂ©cu plusieurs.
Alors, je nâĂ©coute pas la vicieuse culpabilitĂ© qui me rappelle quâil reste encore un talk, je sors du Palais des CongrĂšs en traĂźnant les pieds et le sourire aux lĂšvres, et je rentre chez moi.
Sur mon vélo, je me promets une chose : je me suis assez fait plaisir avec des sujets devops sur ce premier jour, demain sera la journée des découvertes !
Mais demain, câest un autre jour.