Quarkus est un framework Java prenant nativement en compte Kubernetes et les environnements de microservices. Annoncé début mars par Red Hat, il permet d’améliorer l’efficacité d’exécution des environnements de containers. Avec ce framework, Red Hat explique qu’il veut favoriser l’utilisation de Java dans les environnements Kubernetes et serverless en proposant aux développeurs un modèle de programmation réactif et impératif unifié pouvant convenir à une large gamme d’architectures d’applications distribuées. 

A la suite des premiers retours de développeurs, il vient d’être mis à jour dans une version 0.12.0 incluant des modifications ou remarques sur 213 points. Les différents éléments qui l’accompagnent (guides, quickstarts, site web) sont également updatés. Accessible à partir du référentiel Maven et taillé pour OpenJDK HotSpot et GraalVM, Quarkus nécessite le recours à GraalVM 1.0.0-RC13 pour produire un exécutable natif. Il permet de mettre en oeuvre des bibliothèques comme Eclipse MicroProfile et Vert.x utilisées par les développeurs Java. L’injection de dépendances s’appuie sur la spécification CDI et permet de recourir notamment à JPA et Hibernate pour le mapping objet-relationnel.

Démarrages rapides, exécution immédiate de FaaS

Selon les tests de l’éditeur récemment racheté par IBM, Quarkus permet des démarrages rapides (quelques dizaines de milliseconds) qui permettent la montée en charge et l’arrêt automatique de microservices sur des containers et Kubernetes, ainsi que l’exécution immédiate de FaaS (function as a service). Peu gourmand en mémoire, Quarkus permet d’optimiser la densité dans les déploiements d’architecture micro-services nécessitant de nombreux containers, fait encore valoir Red Hat. Les applications développées sont également plus ramassées avec une empreinte de container réduite.

La prochaine mise à jour de Quarkus se prépare. Cette version 0.13.0 devrait arriver d’ici quinze jours environ puisque l’équipe de développement de l’outil avance sur des sprints de deux semaines. Red Hat enjoint les développeurs à poursuivre leur remontée d’informations sur les bugs et à soumettre des changements.