En Italie, un corretto est un expresso alcoolisé. Dans l’écosystème Java, Corretto est le JDK, reposant sur OpenJDK, utilisé en interne chez Amazon. Ceci est un gage de qualité car Java est un des langages le plus utilisés par les clients d’AWS et par de nombreux services d’Amazon.
James Gosling d’Amazon a annoncé mi-novembre, lors de Devoxx BE, la mise à disposition d’une preview de Corretto.
Cette distribution présente plusieurs caractéristiques dont une particulièrement intéressante :
- Gratuite
- Multi-plateformes
- Utilisable en production
- Et surtout des mises à jour régulières durant une longue période
Présentation de Corretto
La qualité de Corretto ne sera surement pas à démontrer : la distribution passe le TCK (Technology Compatibility Kit) mais surtout elle est déjà largement utilisée par Amazon en interne pour de nombreux services. Corretto intègre des améliorations requises par Amazon notamment en termes de performance et scalabilité.
Corretto est utilisable sur plusieurs plateformes :
- En local : Amazon Linux 2, Microsoft Windows (versions 7, 10, Server 2008, Server 2012, and Server 2016) et Apple MacOS (version 10.10 Yosemite ou ultérieure)
- Avec Docker : une image Docker peut être créée
- Dans le cloud : sur Amazon AWS
Deux versions sont prévues qui correspondent aux deux versions LTS de Java :
- Corretto 8 : repose sur OpenJDK 8
- Corretto 11 : repose sur OpenJDK 11
Pour l’instant seule la preview de Corretto 8 est disponible. La version GA (General Availability) de Corretto 8 est planifiée pour le premier trimestre 2019 avec en plus des versions pour Ubuntu et Enterprise Linux de Red Hat. Corretto 11 devrait être disponible dans le courant du premier semestre 2019.
Amazon diffuse Corretto sous la licence open source GNU Public License version 2 with the Class Path Exception (GPLv2 with CPE).
La meilleure nouvelle est que Corretto proposera des patches gratuits sur une longue période :
- jusqu’en juin 2023 pour Corretto 8
- jusqu’en août 2024 pour Corretto 11
Ces patches incluront les correctifs de sécurité mais aussi certains correctifs ou évolutions introduites dans les versions plus récentes d’OpenJDK. Des releases devraient être diffusées chaque trimestre.
La documentation est consultable à l’url docs.aws.amazon.com/corretto
Les sources de Corretto sont disponibles sur Github : github.com/corretto
L’utilisation sous Windows
Corretto est téléchargeable sur le site d’Amazon à l’url aws.amazon.com/corretto.
L’installation sous Windows 7 ou supérieur est classique en téléchargeant et en exécutant le fichier d’installation : celui de la preview est le fichier Amazon-Corretto-preview-8u192.msi
Il suffit alors de définir la variable d’environnement JAVA_HOME vers le sous-répertoire du JDK de Corretto et d’ajouter %JAVA_HOME%\bin dans la variable d’environnement PATH.
Il est dès lors possible d’utiliser Corretto
C:\java>java -version
openjdk version "1.8.0_192"
OpenJDK Runtime Environment (build 1.8.0_192-amazon-corretto-preview-b12)
OpenJDK 64-Bit Server VM (build 25.192-b12, mixed mode)
L’utilisation dans Docker
Pour utiliser Corretto dans un conteneur Docker, il faut créer une image qui va contenir Amazon Linux 2 et Amazon Corretto.
$ docker build -t amazon-corretto-8 github.com/corretto/corretto-8-docker
L’image créée se nomme amazon-corretto-8 comme précisé dans la commande de build
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
amazon-corretto-8 latest 60874373a7f4 About a minute ago 495MB
amazonlinux 2 d656eea421ba 4 weeks ago 162MB
Il est possible d’exécuter un conteneur sur la base de cette image.
$ docker run -it amazon-corretto-8:latest java -version
openjdk version "1.8.0_192"
OpenJDK Runtime Environment (build 1.8.0_192-amazon-corretto-preview-b12)
OpenJDK 64-Bit Server VM (build 25.192-b12, mixed mode)
Conclusion
Corretto propose des caractéristiques intéressantes notamment un gage de qualité lié à son utilisation en interne chez Amazon et le support LTS gratuit avec des releases trimestrielles des versions 8 et 11 du JDK.
En attendant les versions GA, vous pouvez télécharger la preview pour essayer Corretto 8.
Référence
L’annonce sur le blog d’Amazon par Arun Gupta