Quelle distribution d'OpenJDK utilisez vous en prod?

98 views
Skip to first unread message

Jérémie Bresson

unread,
Mar 9, 2022, 3:30:20 AM3/9/22
to lescastcodeurs
Bonjour à tous,

On livre notre soft dans une image docker. Et pour la première fois la question de la distribution se pose.

Pour le moment on est sur du RedHat gratuit.

Image de base: registry.access.redhat.com/ubi8/ubi-minimal
Et on installe OpenJDK: microdnf install --nodocs java-11-openjdk-headless

On a jamais eu de problème (qui peut en avoir en choisissant IBM?).

Et là une équipe d'Ops chez un client nous dit qu'à cause d'un bug dans la version "11.0.14"  il faut qu'on passe à ">= 11.0.14.1+1"

Je pense qu'il s'agit de ce qui est documenté sur le site d'adoptium https://adoptium.net/release_notes.html :

11th February 2022: If you have recently picked up the jdk-11.0.14+9 release, please update to jdk-11.0.14.1+1 to pick up a fix for a regression in the HTTPClient code.


Sauf qu'il semble que chez RedHat la politique de mise à jour d'OpenJDK (en tout cas pour les utilisateurs sans souscriptions) c'est tous les 3 mois:

Frequent releases
> Red Hat delivers quarterly JRE and JDK updates per year for the OpenJDK 8 and 11 distributions via rpm and zip files.
https://developers.redhat.com/products/openjdk/download

Donc rendez-vous en avril 2022 pour la prochaine…


Morale de cette histoire
Il faut payer pour avoir du meilleur support?
Mais si c'est pour mettre dans une image docker qui tourne chez un client, qui doit payer?
Qu'apporte chacun des distributeurs (Adoptium vs RedHat vs les autres), a part une politique de release différente?
Dans un épisode (il y a un an ou deux) il y avait un super schema des différents repos et de quel mainteneur contribuait où.
Et on retombe sur la question fondamentale: quel distributeur choisir?

Je me suis toujours demandé comment les ops de grand compte font tourner des images docker sans avoir aucun contrôle sur ce qui est dans l'image. En même temps en tant qu'éditeur c'est très pratique de ne pas avoir à faire une image par client en changeant la distribution de JVM ou l'image de base à chaque fois. Donc je garde cette interrogation pour moi…

Bonne journée à tous,

Kevin Davin

unread,
Mar 10, 2022, 6:13:11 AM3/10/22
to lescastcodeurs
Petit feedback du même sujet dans un projet orienté sécurité, nous avions choisi les images distroless/java fourni par Google. 
Elles sont elle même basée sur les paquets debian… donc dès que Debian publie, une nouvelle image est disponible avec le fix. C'est la distribution OpenJDK "standard" du package manager. 

En 4 ans d'opérations dessus, nous n'avons pas eu de problème de version sur quoi que ce soit… puisque les images ne contiennent que le strict minimum à jour (si tant est que l'on considère les paquet Debian à jour effectivement). 

Laurent Perez

unread,
Mar 10, 2022, 3:19:53 PM3/10/22
to lescastcodeurs
> Je me suis toujours demandé comment les ops de grand compte font tourner des images docker sans avoir aucun contrôle sur ce qui est dans l'image

Pour le coup - et le coût, ha ! - ils contrôlent. Là tes ops ont bien introspecté ton image, ont vu que tu n'étais pas 14.1+1

Qui doit payer, c'est surtout une question de SLA. Ici dans ce cas tes ops se blindent à raison, si ce bug http explose en prod chez eux, ils veulent pas devoir lever un incident. En interne face à leurs clients, et c'est aussi bon pour toi, leur éditeur : tu veux pas dégrader une relation de qualité de livrables avec eux

Les distributeurs ne se différencient pas que par le calendrier. Ils ont des SLA à degrés différents, des GC, JIT qui peuvent différer, des custom patches.
Adoptium est communautaire, RedHat, Oracle, Azul, sont davantage premium. Le Corretto d'Amazon n'a par ex pas d'assistance dédiée
Les JDK Chinois comme le Bisheng de Huawei ont des optims pour les archi ARM, etc.

Remi Forax

unread,
Mar 10, 2022, 4:00:56 PM3/10/22
to lescastcodeurs
From: "Laurent Perez" <l.lau...@gmail.com>
To: "lescastcodeurs" <lescast...@googlegroups.com>
Sent: Thursday, March 10, 2022 8:47:46 PM
Subject: [LCC] Re: Quelle distribution d'OpenJDK utilisez vous en prod?
> Je me suis toujours demandé comment les ops de grand compte font tourner des images docker sans avoir aucun contrôle sur ce qui est dans l'image

Pour le coup - et le coût, ha ! - ils contrôlent. Là tes ops ont bien introspecté ton image, ont vu que tu n'étais pas 14.1+1

oui, les images docker sont pas des boites noire, c'est des tar.gz glorifié.

Rémi

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "lescastcodeurs".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse lescastcodeur...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/b961ef9f-16aa-4f7e-b2ad-00d504651350n%40googlegroups.com.

Jérémie Bresson

unread,
Mar 11, 2022, 8:59:59 AM3/11/22
to lescastcodeurs
Du coup la recommandation de cette équipe d'ops est d'utiliser Eclipse Temurin/AdoptOpenJDK, qu'ils suggèrent d'installer dans des images RHEL8 ou UBI8.

A propos de la construction des images, le truc qui me dérange c'est l'utilisation d'installations à grands coups de microdnf ou autre apt-get.
Dans le monde Maven/Gradle on s'efforce de faire des builds reproductibles. Quand je regarde les builds d'image Docker, on a l'impression de voir des dépendances en "SNAPSHOT" ou "RELEASE" partout.

Henri Tremblay

unread,
Mar 11, 2022, 9:46:30 AM3/11/22
to lescastcodeurs
Moi j'avoue que je le joue à l'envers pour l'instant.
Avec l'image Temurin.

Mais évidemment, faut être content de l'OS.

Reply all
Reply to author
Forward
0 new messages