1h 30 min

UPX version Spinal Tap Les Cast Codeurs Podcast

    • Actualités technologiques

Antonio, Guillaume et Emmanuel discutent 11, le 42 du rockeur, Quarkus, Java 17, limites de Kubernetes, #Y2k22, web3, Maven, Log4J, et et et cloud souverain.
Enregistré le 14 janvier 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–271.mp3
News Langages Quoi de neuf dans Java 18 de Loïc Mathieu
Feature complete (mais encore des bugs) UTF–8 par défaut exemples de code dans la javadoc avec @snippet y compris des references a des fichiers extérieurs Simple Web Server pour des resources statiques (comme d’autres platformes comme Ruby ou Python je crois. En code ou via la commande jwebserver le mécanisme de finalisation proposé à la suppression --finalization=disabled pour tester. Celui-là il ne nous manquera pas ré-implementation de la réflection avec les MethodHandle Le calendrier de l’Avent Java 2021 a plein d’articles très intéressants
pas tous révolutionnaires, mais c’est sympa RXJava vs Kotlin Coroutines Analyser votre repo Git en Java avec jgit Cinq choses que vous ne saviez pas sur la concurrence en Java
l’ordre du programme et l’ordre d’exécution n’est pas le même, mais il est sémantiquement similaire le nombre de threads dans une JVM est limité (dépend de la machine) plus de threads ne veut pas dire plus de perfs Librairies Quarkus 2.5 et 2.6 sont sortis:
API programmatique pour interagir avec le cache Kotlin 1.6 Java 17 par défaut pour les nouveaux projets générés des extensions ont bougé du core vers le quarkiverse hub, peut-être quelques impacts de migration images container plus petites en natif et compression UPX possible plus petit sur disque mais plus gros en memoire (pour la décompression) quarkus.native.compression.level de 1 à 10 dans le fichier de config dev service pour Oracvle DB Utiliser Neo4J pour analyser le chemin de code et pourquoi un bout de code est inclus en natif
super utile pour les compilations natives quarkus.native.enable-reports pour avoir le rapport exploitable par neo4j SmallRye Stork
service discovery et client side load balancing support pour Consul, Eureka, and Kubernetes extensible notamment pour le load balancing intégration avec Quarkus REST Client et gRPC dans la config stork://hello-service Infrastructure Pourquoi et comment de la taille des containers Kubernetes
quand on ne partage pas, inefficient mais sécurisé Avec des VM, on peut overcommitter des resources sur l’hyperviseur mais risque sur mésentente Ne remplace pas le capacity planning Containers définissent des filtrages plus fins et tuent les process qui dépassent Discussion cpu_share (proportion en balance), cpu quota, cpu period pour définir les limites basses et hautes mais si ça reste statique par host c’est pas très pratique Orchestration de container via Kubernetes (request = min, limit = max) Kube donne au minimum request mais peut donner plus si le noeud n’est pas occupé à 100% Attention, la partie libre n’est pas distribuée équitablement mais en proportion du ratio de request demandé vs les autres. Donc les containers avec des grosses request sont privilégiés. Donc mettre limit est important Donc jouer le jeu request et monitored pour ajuster à la baisse si nécessaire. Tous les workloads doivent jouer le jeu. Kubernetes QoS (best effort , burstable et guaranteed) utilisé lorsque on tourne bas en mémoire (pas en cpu !) Discussion de la sélection du noeud (selector, affinity, taints and tolerations ou isolation/ restriction) pour isoler des qualités de service ou prédictabilité, pour la sécurité etc ) besoins mémoire : si utilisation max, pod killed. Besoins CPU : si utilisation max, on est throttled -> slow Mettre mémoire request = limit sauf si le process peut rendre de la mémoire (pas fait avant java 11) CPU request = limit si la prédictabilité de l’application est très important. Etudier conso CPU de l’appli en percentile et targeted par exemple une garantie à 99% ou 90 ou moins si

Antonio, Guillaume et Emmanuel discutent 11, le 42 du rockeur, Quarkus, Java 17, limites de Kubernetes, #Y2k22, web3, Maven, Log4J, et et et cloud souverain.
Enregistré le 14 janvier 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–271.mp3
News Langages Quoi de neuf dans Java 18 de Loïc Mathieu
Feature complete (mais encore des bugs) UTF–8 par défaut exemples de code dans la javadoc avec @snippet y compris des references a des fichiers extérieurs Simple Web Server pour des resources statiques (comme d’autres platformes comme Ruby ou Python je crois. En code ou via la commande jwebserver le mécanisme de finalisation proposé à la suppression --finalization=disabled pour tester. Celui-là il ne nous manquera pas ré-implementation de la réflection avec les MethodHandle Le calendrier de l’Avent Java 2021 a plein d’articles très intéressants
pas tous révolutionnaires, mais c’est sympa RXJava vs Kotlin Coroutines Analyser votre repo Git en Java avec jgit Cinq choses que vous ne saviez pas sur la concurrence en Java
l’ordre du programme et l’ordre d’exécution n’est pas le même, mais il est sémantiquement similaire le nombre de threads dans une JVM est limité (dépend de la machine) plus de threads ne veut pas dire plus de perfs Librairies Quarkus 2.5 et 2.6 sont sortis:
API programmatique pour interagir avec le cache Kotlin 1.6 Java 17 par défaut pour les nouveaux projets générés des extensions ont bougé du core vers le quarkiverse hub, peut-être quelques impacts de migration images container plus petites en natif et compression UPX possible plus petit sur disque mais plus gros en memoire (pour la décompression) quarkus.native.compression.level de 1 à 10 dans le fichier de config dev service pour Oracvle DB Utiliser Neo4J pour analyser le chemin de code et pourquoi un bout de code est inclus en natif
super utile pour les compilations natives quarkus.native.enable-reports pour avoir le rapport exploitable par neo4j SmallRye Stork
service discovery et client side load balancing support pour Consul, Eureka, and Kubernetes extensible notamment pour le load balancing intégration avec Quarkus REST Client et gRPC dans la config stork://hello-service Infrastructure Pourquoi et comment de la taille des containers Kubernetes
quand on ne partage pas, inefficient mais sécurisé Avec des VM, on peut overcommitter des resources sur l’hyperviseur mais risque sur mésentente Ne remplace pas le capacity planning Containers définissent des filtrages plus fins et tuent les process qui dépassent Discussion cpu_share (proportion en balance), cpu quota, cpu period pour définir les limites basses et hautes mais si ça reste statique par host c’est pas très pratique Orchestration de container via Kubernetes (request = min, limit = max) Kube donne au minimum request mais peut donner plus si le noeud n’est pas occupé à 100% Attention, la partie libre n’est pas distribuée équitablement mais en proportion du ratio de request demandé vs les autres. Donc les containers avec des grosses request sont privilégiés. Donc mettre limit est important Donc jouer le jeu request et monitored pour ajuster à la baisse si nécessaire. Tous les workloads doivent jouer le jeu. Kubernetes QoS (best effort , burstable et guaranteed) utilisé lorsque on tourne bas en mémoire (pas en cpu !) Discussion de la sélection du noeud (selector, affinity, taints and tolerations ou isolation/ restriction) pour isoler des qualités de service ou prédictabilité, pour la sécurité etc ) besoins mémoire : si utilisation max, pod killed. Besoins CPU : si utilisation max, on est throttled -> slow Mettre mémoire request = limit sauf si le process peut rendre de la mémoire (pas fait avant java 11) CPU request = limit si la prédictabilité de l’application est très important. Etudier conso CPU de l’appli en percentile et targeted par exemple une garantie à 99% ou 90 ou moins si

1h 30 min