LCC 299 - Katia est dans la place !
Dans cet épisode de rentrée, Antonio et Arnaud ont le plaisir d’accueillir Katia Aresti dans l’équipe. Ils passent en revue les dernières nouveautés et sujets chauds de cette rentrée, notamment la sortie de Java 21, les nouvelles versions de Quarkus, Micronaut, Hibernate, NodeJS, Redis, et bien d’autres encore. Ils discutent de sujets plus généraux tels que l’observabilité, la nouvelle tendance “Platform Engineering”, et la productivité des développeurs. Ils abordent aussi les sujets sur la sécurité, tels que les failles sur les CPUs Intel et AMD, ainsi que la vie privée, avec les Tracking APIs de Chrome, Firefox et le projet de loi SREN. Le tout est agrémenté de sa dose d’IA, avec des librairies telles que Semantic Kernel, ainsi que des sujets plus haut niveau tels que Google Gemini, Meta GPT, LLama 2, et les biais et la consommation énergétique de l’IA.
Enregistré le 8 septembre 2023
Téléchargement de l’épisode LesCastCodeurs-Episode-299.mp3
News
Langages
Apache Groovy a 20 ans! https://twitter.com/ApacheGroovy/status/1695388098950217909
- L’annonce du lancement du projet par James Strachan https://web.archive.org/web/20030901064404/http://radio.weblogs.com/0112098/2003/08/29.html.
- Le projet a depuis énormément évolué et après plusieurs vies a été adopté par la fondation Apache en 2015.
Java 21 arrive le 19 septembre https://www.infoworld.com/article/3689880/jdk-21-the-new-features-in-java-21.html
- C’est la nouvelle LTS.
- Pas mal de nouvelles fonctionnalités comme les virtual threads, le pattern matching sur les switch, sequenced collections…
- Retrouvez le 19 septembre une interview de Jean-Michel Doudoux par Charles Sabourdin pour l’épisode 300 des Cast Codeurs !
Librairies
Semantic Kernel pour Java est (en train de) sortir : https://devblogs.microsoft.com/semantic-kernel/introducing-semantic-kernel-for-java/
- Framework OSS pour faire de l’IA.
- .Net et Python.
- Java 0.2.7 Alpha est publié.
- Kernel car il est tout petit.
- Se connecte à plusieurs fournisseurs (aujourd’hui OpenAI, Azure AI, Hugging Face), plusieurs DB vectorielles, plusieurs templates de prompt (suit la specification de OpenAI).
OpenSSL : qui committe ? https://www.openssl.org/blog/blog/2023/07/17/who-writes-openssl/
- En majorité des OSS payés.
- Puis des gens payés par leur boite.
- Et enfin des contributeurs non payés.
- c’est rapide, mais ça montre que depuis heartbleed, ça a changé
Micronaut 4.1.0 https://micronaut.io/2023/09/01/micronaut-framework-4-1-0-released/
- Bean Mappers pour créer automatiquement une correspondance entre un type et un autre.
- Un Introspection Builder : l’annotation
@Introspected
pour générer un builder dynamique si un type ne peut être construit que via un modèle builder. - Améliorations pour les développeurs utilisant Kotlin Symbol Processing (KSP).
Quarkus 3.3.1 / 3.3.2
- Pas mal de fixes :
- Il est important de noter qu’un problème de dégradation des performances et de la mémoire a été introduit dans Quarkus 3.3. Ce problème est corrigé dans Quarkus 3.3.2.
Hibernate ORM 6.3.0 et 6.2.8 et Hibernate Reactive 2.0.5 https://hibernate.org/orm/
- Un support initial de la spécification Jakarta Persistence 3.2.
- Un nouveau guide d’introduction Hibernate 6, un nouveau guide de syntaxe et de fonctionnalités pour le langage de requête Hibernate (Hibernate Query Language).
- Annotation @Find sur des méthodes → créer des méthodes de recherche similaires aux méthodes de requête.
- Reactive compatible avec Hibernate ORM 6.2.8, certains changements d’API.
Infrastructure
Une série d’articles sur l’observabilité par Mathieu Corbin
- Les articles :
- L’auteur reprend les bases sur l’observabilité :
- Qu’est-ce qu’une métrique ? Les labels, les cardinalités.
- Les types de métriques (Compteurs, jauges, quantiles et histogrammes).
- C’est quoi le tracing ?
- Traces, Spans, Resources, Scopes qu’est-ce que c’est ?
- Les Events pour remplacer les logs ?
Web
NodeJS 20.6.0 est disponible et ajoute le support des fichiers .env
https://philna.sh/blog/2023/09/05/nodejs-supports-dotenv/
- Configurable avec l’option
--env-file
. - Le fichier
.env
peut contenir des variables d’environnement et commentaires#
. - Attention par contre : pas de lignes multiples ni d’extension de variables.
- Vous pouvez par exemple configurer
NODE_OPTIONS
avec ce système.
Data
Redis 7.2 est sorti ! https://redis.com/blog/introducing-redis-7-2/
- Auto-tiering : cette nouvelle fonctionnalité permet de stocker les données sur des supports de stockage différents, en fonction de leur importance et de leur fréquence d’accès. Cela permet d’améliorer les performances et la scalabilité de Redis.
- RESP3 : cette nouvelle version du protocole RESP permet une communication plus efficace entre Redis et les clients.
- Improvements to performance : de nombreuses améliorations de performances ont été apportées à Redis 7.2, notamment pour les opérations de lecture et d’écriture.
- New commands : plusieurs nouvelles commandes ont été ajoutées à Redis 7.2, notamment :
CLIENT NO-TOUCH
: cette commande permet d’empêcher un client d’être touché par une opération AOF ou RDB.WAITAOF
: cette commande permet d’attendre que l’AOF soit écrite avant de poursuivre l’exécution.
- Dans le podcast sont cités les hot replacement de Redis, comme Dragonfly.
Architecture
Article sur Google Gemini et sa capacité à battre ChatGPT https://www.semianalysis.com/p/google-gemini-eats-the-world-gemini
- Google a raté les premiers pas (ils avaient le meilleur LLM public avant ChatGPT 3).
- Et les chercheurs qui inventent les champs de LLMs.
- Google va 5x ChatGPT-4 avant la fin de l’année, mais vont-ils les publier ?
- Les chercheurs se tirent la bourre sur le nombre de GPU (H100) auxquels ils ont accès ; ce sont les grosses organisations comme Meta, OpenAI et Google.
- Et les autres qui luttent avec des GPUs qui n’ont pas assez de VRAM et ce qu’ils vont faire c’est de la merde et sans consequence.
- Le peuple utilise le modèle dense de LLAMA mais, pour les environnements contraints, ça serait mieux des sparse models et du speculative decoding.
- Ils devraient se concentrer sur la performance de modèle qui utilise plus de compute et mémoire en évitant de consommer de la bande passante de memoire, c’est ce dont l’edge computing a besoin.
- Les benchmarks publics ne mesurent pas des choses utiles.
- Même HuggingFace est dans la category des GPU-poor.
- Nvidia est en train de se construire une machine de guerre (service).
- La Chine et les US vont être en compétition, mais l’Europe qui reste GPU-poor ne va pas s’en sortir.
- Les startups ne peuvent pas payer les GPUs en action, il faut du cash.
- Tout le monde rempli les poches de Nvidia, sauf Google.
- Google grossi exponentiellement ses propres GPUs.
Meta GPT https://www.infoq.com/news/2023/08/metagpt-agent-collaboration/
IA : biais et durabilité par Leslie Miley, tech advisor du CTO de Microsoft https://www.infoq.com/presentations/ai-bias-sustainability
- Nouvelles infrastructures.
- La consommation énergétique et d’eau des datacenters pour l’IA est terriblement élevée.
- L’impact des infrastructures sur les communautés (bruit).
- Explique bien son point de vue sur les problèmes d’amplification des biais de l’IA.
- Propose des stratégies pour atténuer l’impact.
Kubeflow, le toolkit pour deployer machine learning (ML) workflow en Kubernetes, est accepté par la CNCF https://www.infoq.com/news/2023/08/kubeflow-cncf-project
Méthodologies
Measuring developer productivity? A response to McKinsey by Kent Beck and Gergely Orosz (pragmaticengineer.com) https://tidyfirst.substack.com/p/measuring-developer-productivity
- McKinsey a sorti un article où ils expliquent la recette miracle recherchée par tous les managers comme le graal : Comment mesurer la productivité des développeurs ? (faut bien vendre du conseil)
- Kent et Gergely partent d’un modèle mental de description de la création de valeur par le développeur pour ensuite voir quels sont les besoins de mesurer la productivité et comparent cela avec d’autres secteurs (la vente, le support, le recrutement).
- Ils concluent cette première partie avec les compromis à faire pour que ce type de mesures ait un intérêt sans impacter trop négativement les développeurs.
- Un autre article dans la même lignée par Martin Fowler : https://martinfowler.com/bliki/CannotMeasureProductivity.html.
Et si on parlait de Platform Engineering ?
- Quelques articles :
- DevOps vs. SRE vs. Platform Engineering (humanitec.com)
- What is platform engineering? (gartner.com) / What is platform engineering? (platformengineering.org)
- Internal Developer Platform
- Cognitive load
- Team topologies
- Engineering Effectiveness (thoughtworks.com) and Maximize your tech investments with Engineering Effectiveness (thoughtworks.com)
- Ces différents articles retracent la genèse du concept de Platform Engineering.
- L’activité de Platform Engineering vient en réponse à la charge cognitive rajoutée aux équipes techs dans des transitions DevOps loupées (You build it, you run it… et vous vous débrouillez).
- Cela conduit à la création de golden paths et d’une Internal Developers Platform qui doit proposer en interne les services nécessaires aux équipes pour livrer leurs produits le plus efficacement possible tout en suivant les critères de qualité et de compliance de l’entreprise.
- Pour en savoir plus, une table ronde à laquelle Arnaud a participé en juillet : https://youtu.be/N-tN7HUA4No?si=2P0wSqG32MLWUlGq.
On call Process (Astreinte), startup TinyBird par VP Engineering Félix López (ex google, ex eventbrite) https://thenewstack.io/keeping-the-lights-on-the-on-call-process-that-works/
- Si votre produit est SAAS, on doit avoir des astreintes. Cela impose un lourd fardeau à ceux qui doivent être en astreinte, surtout en petite entreprise.
- Petites entreprises évitent avoir un processus d’astreinte formel pour éviter le stress. Cela crée dans la pratique plus de stress : si personne n’est responsable, tout le monde est responsable.
- Tinybird est la plateforme de données en temps réel pour les développeurs et les équipes de données. Pré-création du process formel chez Tinybird : désorganisé, non structuré et stressant.
- Mise en place : Principes fondamentaux d’un processus d’astreinte : L’astreinte n’est pas obligatoire, minimiser le bruit, pas seulement pour les SRE, alert = runbook, avoir des backups pour la personne en astreinte, appeler quelqu’un devrait être la dernière solution, minimiser le temps en astreinte.
- L’article explique comment ils sont passés de regarder chaque alerte (comprehensible ?, exploitable ?), puis avoir un board grafana pour chacune et plan spécifique. Une fois le tri fait, tout migré vers un seul channel de com, et manuel d’astreinte pour chaque alerte. Itérer.
- Multiples benefices sur le long terme : rapports d’incident ouvert, atténuer les problèmes futurs, renforcement la propriété et les connaissances du code et systèmes au sein de toute l’équipe…
Sécurité
Downfall, une nouvelle faille de sécurité sur les processeurs Intel (https://www.lemondeinformatique.fr/actualites/lire-la-faille-downfall-met-a-mal-des-milliards-de-processeurs-intel-91247.html) et AMD ne fait pas mieux avec une faille nommée Inception (https://www.lemondeinformatique.fr/actualites/lire-les-puces-amd-vulnerables-a-la-faille-inception-91273.html)
- Downfall, La vulnérabilité est due à des fonctions d’optimisation de la mémoire dans les processeurs Intel qui révèlent involontairement les registres matériels internes aux logiciels. Cela permet à des logiciels non-fiables d’accéder à des données stockées par d’autres programmes, qui ne devraient normalement pas être accessibles. Tous les PC ou ordinateurs portables équipés de processeurs Intel Core de la 6e génération Skylake jusqu’aux puces Tiger Lake de 11e génération incluses contiennent cette faille. Les derniers processeurs Core 12e et 13e génération d’Intel ne sont pas concernés.
- Inception, nécessite un accès local au système pour être potentiellement exploité ce qui en limite de fait la portée. Tous les processeurs AMD depuis 2017 sont touchés, incluant les derniers modèles Zen 4 Epyc et Ryzen.
Comment désactiver le nouveau tracking publicitaire ciblé sur Chrome https://www.blogdumoderateur.com/chrome-comment-desactiver-tracking-publicitaire-cible/
- Google a annoncé en juillet le déploiement de sa nouvelle API Topics, permettant « à un navigateur de partager des informations avec des tiers sur les intérêts d’un utilisateur tout en préservant la confidentialité ».
- C’est cette API, incluse dans la version Chrome 115 de juillet 2023, qui est censée remplacer les cookies tiers.
Loi, société et organisation
Une nouvelle definition d’open pour Llama 2 ? https://opensourceconnections.com/blog/2023/07/19/is-llama-2-open-source-no-and-perhaps-we-need-a-new-definition-of-open/
- C’est relativement “open” mais il y a des restrictions, donc pas open source.
- Pas plus de 700 M d’utilisateurs par mois.
- Pas le droit d’utiliser Llama pour améliorer des autres modèles autres que des dérivés de Llama.
- Et c’est le modèle final qui est ouvert, pas la sauce pour le construire, donc pas de maven build ni le “source code” pour y arriver “from scratch”.
- Attention au risque de sacrifier l’open source pour avoir l’IA plus vite, plus facile.
HashiCorp passe tous ses projets open source en BSL, comme Confluent, Mongo, Redis, Elastic… https://thenewstack.io/hashicorp-abandons-open-source-for-business-source-license/
- Couverture par InfoQ https://www.infoq.com/news/2023/08/hashicorp-adopts-bsl/.
- Fork de Terraform : OpenTF, avec pour objectif de rejoindre la CNCF https://opentf.org/announcement.
Stack overflow annonce Overflow AI https://www.infoq.com/news/2023/09/stackoverflow-overflowai/
- L’intégration de l’IA générative dans leur plateforme publique, Stack Overflow for Teams, ainsi que de nouveaux domaines de produits.
- IA/ML aident à générer des balises initiales et à suggérer des paires question-réponse, permettant aux développeurs de se concentrer sur l’amélioration et la précision.
- Amélioration des capacités de recherche.
- Les forums de questions-réponses basés sur la communauté sont le cœur battant de Stack Overflow. Selon Prashanth Chandrasekar, PDG de Stack Overflow, l’objectif d’OverflowAI est d’améliorer la communauté de diverses manières plutôt que de la remplacer complètement.
Vous avez entendu parler du projet de loi SREN ? http://share.mozilla.org/817319645t
- Le gouvernement français prépare une loi qui pourrait menacer la liberté sur Internet. Le projet de loi visant à sécuriser et réguler l’espace numérique (SREN) obligerait les navigateurs web, comme Mozilla Firefox, à bloquer des sites web directement au niveau du navigateur.
- Mozilla lance une pétition pour retirer cette énième solution stupide pour censurer Internet.
Conférences
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
- 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
- 14 septembre 2023 : Cloud Sud - Toulouse (France) & Online
- 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France)
- 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
- 19-20 septembre 2023 : Agile en Seine - Paris (France)
- 21-22 septembre 2023 : API Platform Conference - Lille (France) & Online
- 22 septembre 2023 : Agile Tour Sophia Antipolis - Valbonne (France)
- 25-26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
- 28-30 septembre 2023 : Paris Web - Paris (France)
- 2-6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
- 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France)
- 10 octobre 2023 : ParisTestConf - Paris (France)
- 11-13 octobre 2023 : Devoxx Morocco - Agadir (Morocco)
- 12 octobre 2023 : Cloud Nord - Lille (France)
- 12-13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
- 12-13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
- 13-14 octobre 2023 : SecSea 2K23 - La Ciotat (France)
- 17-20 octobre 2023 : DrupalCon Lille - Lille (France)
- 19-20 octobre 2023 : DevFest Nantes - Nantes (France)
- 19-20 octobre 2023 : Agile Tour Rennes - Rennes (France)
- 26 octobre 2023 : Codeurs en Seine - Rouen (France)
- 30 septembre 2023 : ScalaIO - Paris (France)
- 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
- 26-29 octobre 2023 : SoCraTes-FR - Orange (France)
- 10 novembre 2023 : BDX I/O - Bordeaux (France)
- 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
- 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
- 18-19 novembre 2023 : Capitole du Libre - Toulouse (France)
- 23 novembre 2023 : DevOps D-Day #8 - Marseille (France)
- 23 novembre 2023 : Agile Grenoble - Grenoble (France)
- 30 novembre 2023 : PrestaShop Developer Conference - Paris (France)
- 30 novembre 2023 : WHO run the Tech - Rennes (France)
- 6-7 décembre 2023 : Open Source Experience - Paris (France)
- 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France)
- 7-8 décembre 2023 : TechRocks Summit - Paris (France)
- 8 décembre 2023 : DevFest Dijon - Dijon (France)
- 31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France)
- 6-7 mars 2024 : FlowCon 2024 - Paris (France)
- 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
- 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
- 17-19 avril 2024 : Devoxx France - Paris (France)
- 25-26 avril 2024 : MiXiT - Lyon (France)
- 25-26 avril 2024 : Android Makers - Paris (France)
- 6-7 juin 2024 : DevFest Lille - Lille (France)
Nous contacter
Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs
Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/