LCC 251 - Trié dans le désordre

1:12:35
 
Partager
 

Manage episode 287557142 series 25488
Par Emmanuel Bernard, Guillaume Laforge, Vincent Massol, and Antonio Goncalves, découvert par Player FM et notre communauté - Le copyright est détenu par l'éditeur, non par Player F, et l'audio est diffusé directement depuis ses serveurs. Appuyiez sur le bouton S'Abonner pour suivre les mises à jour sur Player FM, ou collez l'URL du flux dans d'autre applications de podcasts.

Dans cet épisode désordonné mais complet, Antonio, Guillaume et Emmanuel parlent de JVM sur Kubernetes, des datacenters OVH, de Spring Native, de Flutter, de Saga, d’Open Source et de salaire.

Enregistré le 12 mars 2021

Téléchargement de l’épisode LesCastCodeurs-Episode–251.mp3

News Infrastructure

Un data center d’OVH en feu

  • Strasbourg
  • data center entierement détruit
  • recommande d’activer les protocoles de disaster recovery
  • impacte aussi d’autres data centers : SBG1, SBG3 et SBG4 (electricite coupée et une partie des salles serveurs)
  • Autre article couvrant l’évènement
  • 3,5 millions de sites down, les backups aussi?
  • 18% des adresses IP attribuées à OVH
  • remedarrage (sauf SBG2) la semaine prochaine
  • touche la partie hosted private cloud
  • quelques jours avant annonce de mise en bourse

Améliorer le temps de démarrage des JVMs sur Kubernetes

  • JIT etc, temps de demarrage relativement lent
  • rajouter des pods et faire deu deployment graduel (3x coût)
  • script de chauffe avec le readiness probe utilisant initialDelaySeconds mais pas d’amelioration massive (rejoue les URLs de prod) et ralentit l’auto scaling
  • changer les heuristiques de la JVM : 2x CPU request et limit puis 3x => probleme disaparait, CPU throttling ; mais coûteux et plus difficile de positionner les pods
  • utiliser des pods “burstable”, limit > requests
  • Bon articles pour ceux qui sont en phase d’apprentissage de Jave et Kubernetes.
  • Attention, leur modèle peut faire crasher un noeud en cas de probleme et de reboot de pods excessifs puisque la charge théorique nécessaire est de 3x. Mais ce n’est probablement pas pire que leur problème initial
Front

Sortie de Flutter 2.0

  • poste plus technique
  • niveau production pour le support du Web
  • Sound Null Safety qui permet d’éviter les null pointer exception
  • le support du desktop est aussi en mode stable
  • de nouvelles widgets
  • Meilleur support dans IntelliJ et Visual Studio Code
  • Filio une app exemple pour etre progressive et belle sur tous les supports
  • Fultter fix pour faire evoluer le code
  • “500,000 Flutter developers across a growing number of platforms” wow
Librairies

Hibernate Reactive 1.0 CR arrive

Spring Native est en béta

Micronaut 2.4 est sorti

  • Ajout et support des annotations jakarta.inject comme alternative à javax.inject
  • Ajout d’annotations @NonNull et @Nullable propres à Micronaut, car différents outils et frameworks proposent aussi des annotations nullables qui rentrent parfois en conflit les unes avec les autres
  • Nouvelle annotation @InterceptorBean pour appliquer des interceptors à des beans, qui remplacent les annotations AOP existantes
  • Support plus fin des erreurs de réponse, avec des content type plus fins
  • Diverses améliorations de Micronaut Data, dont par exemple le support des records de Java 14+
  • Support de Oracle Coherence CE pour Micronaut Data
Outillage

Gradle explique l’impact de la disparition de JCenter sur les builds Gradle

  • telechargement des dependences et des plugins
  • publications vers bintray
  • beaucoup d’exemples utilisent jcenter + Gradle, donc verifier vos fichiers de build => jcenter() déprécié
  • reco: enlever jcentral du build et verifier que ca continue de tourner
    • troubleshoot les dépendances qui ne sont que sur jcentral
  • spécialement à risque Android
  • Gradle Entreprise dans le build scan on sait d’où vient chaque dépendance
  • les plugins peuvent ajouter des repository à vos projets
  • dependance encore sur jcenger uniquement (attendre le maintainer, migrer vers une autre librairie, copier le jar
  • attention au confusions de dependances et collision de namespace
    • risque potentiel
    • activation de verification des dependance ( true false)
Architecture

InfoQ article sur le pattern Saga, le outbox pattern et change data capture

  • outbox pattern, evite l’écriture double DB/queue. Il ecoute les changements de la base de donnée dans une table dédiée qui est transformée en message dans une queue apr le composant de change data capture (modifié)
  • cela evite tout besoin de XA ou autre synhcronization distribuée
  • Saga, transaction métier large. utilise des compensations pour anuler partiellement ou totalement la transaction
  • 2 approches
  • choereographie: passage des messages d’un service a l’autre
    1. orchestration: un swervice coordonne les autres et fait les appels
  • dual write: inconsistence si un ou l’autre des envois (DB tx ou message) echoue
  • Article ensuite decrit comment implementer une saga entre 4 services via the outbox pattern en utilisant Kafka et Debezium

Thoth un framework event sourcing de la Maif

Méthodologies

L’état des lieux du Dev Java par jaxcenter

  • 49% de Dev java et le reste team lead architect et consultants
  • 69% Java 8, JavaScript at 40%, Java 11 at 36% (note that they were allowed to select more than one programming language of choice). 16% Java 12 or newer, and 15% Java 7 or older.
  • 66% convertissent ou utilisent microservices , 13% ne l’envisagent pas, 70% moins de 10 microservices
  • App servers 6h% tomcat 19%wildfly 18 weblogic 15 jetty 14 web sphere
  • Spring boot 62% (83 l’année dernière) drop wizard 8% Quarkus 6%
  • Idea 65% eclipse 48 vscode 27. Netbeans 13
  • 59% oracle JDK 22 adopt et 10 corretto
  • Macen 67% (50% l’année dernière
  • Docker 57% (74 en 2020) kube 42 VMware 27
  • Jenkins 61
  • 76% utilisent un cloud
  • AWS 39 azure 24 Google 18
  • Douleurs de Dev
  • 54% temps de réponse
  • Redeployment 59% 4 mins 20% 10 mins

D3.js 10 ans d’open source ; les leçons apprises

  • apprendre aux autres >> code en terme d’impact ; exemples sont puissants (modifié)
  • Le support expose les problèmes de l’outil très rapidement pour aprendre les choses a maéliorer. Mais dès que cela arrête d’être constructif pour vous, arrêter et ne vous sentez pas mal.
  • visualisation utile pour l’exploration et l’explication mais ce sont deux cas d’utilisation différents
  • ne commiter pas sur une forme de visualisation (camember, barres etc) avant d’avoir vu votre data dessus.
  • 90% des bugs suir 10% des fonctionalités: choisissez bien vos batailles
  • Internet va vous faire sentir mal
  • ne pas y aller seul
  • Essayer d’avoir du bon temps

Salaire égal pour tous dans la société

  • 175k pour tous y compris les fondateurs
  • Évite d’avoir à quantifier la performance de chacun
  • Et le Risque incentividation individuelle != team (modifié)
  • Transparence du modèle
  • Plus bas salaire pour certains si ils travaillaient ailleurs mais c’est une valeur qui permet de vivre correctement avec enfants (jugé et testé par les fondateurs)
  • Paie basée sur le travail et non les coûts de l’employé -> pas de différence géographique
  • Scale probablement pas mais une start up peut se le permettre (ils ne prennent pas de junior pour l’instant
  • Carrière != compensation par rewards
  • Mais pour les parts dans la boîte ils le font en fonction du risque du premier risque au dernier pas risque
Loi, société et organisation

Un autre renvoie d’une personne du groupe ethic AI chez google après qu’elle ait téléchargé avec un script des infos concernant la première employée renvoyée

  • Elle a exfiltre des milliers de docs vers des comptes externes
  • Met en doute le commitment du ethical ai chez Google
  • Mais comment répondre à une personne ex filtrant des docs privés ?
  • Mitchell qui annonce qu’elle est virée
  • Ethique vs lanceur d’alerte ?
Conférences

Mix-It (virtuel) les 18, 19 et 20 mai 2021

  • 10 talks de 30 mn + 20mn de Q&A + 10 mn de pause

https://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition–2021/

  • reprend une partie du CfP de l’année dernière.
Nous contacter

Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

261 episodes