Jump to section

Quarkus, qu'est-ce que c'est ?

Copier l'URL

Quarkus est un framework Java natif pour Kubernetes complet, conçu pour les machines virtuelles Java (JVM) et la compilation native, qui permet d'optimiser Java spécifiquement pour les conteneurs afin d'en faire une plateforme efficace pour les environnements serverless, cloud et Kubernetes.

Quarkus est conçu pour fonctionner avec les normes, frameworks et bibliothèques Java les plus utilisés, tels qu'Eclipse MicroProfile et Spring (présentés ensemble dans le cadre d'une session du Red Hat Summit 2020), Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Spring, Infinispan, Camel et bien d'autres.

La solution d'injection de dépendances de Quarkus utilise la spécification CDI (Contexts and Dependency Injection). Quarkus inclut aussi un framework d'extension qui permet de l'enrichir et de configurer, de démarrer et d'intégrer un framework dans votre application. Il est aussi simple d'ajouter une extension qu'une dépendance. Vous pouvez sinon utiliser les outils de Quarkus.

Ce framework permet aussi la compilation native de vos applications avec GraalVM (une machine virtuelle universelle qui exécute des applications rédigées dans de nombreux langages, y compris Java et JavaScript).

Quatre raisons d'utiliser Quarkus

De nombreux développeurs utilisent encore le langage de programmation Java™, mais l'évolution des technologies cloud-native, comme Kubernetes et l'informatique serverless commencent à poser certains problèmes. Découvrez pourquoi Quarkus est la structure logicielle Java idéale pour travailler avec Knative et l'informatique serverless.

Quarkus a été conçu comme une solution facile à prendre en main dès le démarrage, avec des fonctions qui nécessitent peu de configuration.

Les développeurs peuvent choisir les frameworks Java pour leurs applications, qui peuvent être exécutées en mode JVM ou compilées, puis exécutées en mode natif.

Conçu pour simplifier la tâche des développeurs, Quarkus inclut également les fonctions suivantes :

  • Rédaction de code en direct, pour permettre aux développeurs de vérifier immédiatement l'effet des modifications apportées au code et de corriger rapidement les problèmes
  • Programmation à la fois impérative et réactive avec un bus d'événements géré intégré
  • Configuration unifiée
  • Génération native et facile d'exécutables

Qu'une application soit hébergée dans un cloud public ou dans un cluster Kubernetes hébergé au sein de l'entreprise, des caractéristiques telles que la rapidité du démarrage et la faible consommation de mémoire permettent de maintenir des coûts d'hôte totaux bas.

Quarkus a été conçu selon un modèle centré sur les conteneurs. Il consomme donc peu de mémoire et accélère le démarrage, notamment grâce aux points suivants :

  • Prise en charge efficace de Graal/SubstrateVM
  • Traitement des métadonnées au moment de la création
  • Réduction de l'utilisation de la réflexion
  • Préchargement d'image native

Par rapport aux applications Java traditionnelles, les applications créées avec Quarkus consomment 10 fois moins de mémoire et démarrent plus rapidement (jusqu'à 300 fois plus vite), ce qui permet de réduire grandement le coût des ressources cloud.

Le framework Quarkus associe de manière transparente la programmation impérative bien connue des développeurs à l'approche réactive et non bloquante pour le développement des applications.

Ainsi, il satisfait à la fois les développeurs Java habitués à travailler selon le modèle impératif et qui souhaitent le conserver, et les développeurs qui travaillent avec une approche cloud-native/réactive.

Le modèle de développement de Quarkus s'adapte à l'application que vous développez.

Quarkus est donc une solution efficace pour exécuter Java à l'ère des architectures serverless, des microservices, des conteneurs, de Kubernetes, du FaaS et du cloud, puisqu'elle a été conçue en tenant compte de tous ces éléments.

Pour aller plus loin

ARTICLE

Stateful et stateless : quelle est la différence ?

Les qualificatifs « stateful » ou « stateless » dépendent de la durée pendant laquelle l'état de l'interaction avec un élément est enregistré ainsi que de la manière dont cette information doit être stockée.

ARTICLE

Quarkus, qu'est-ce que c'est ?

Quarkus est une pile Java native pour Kubernetes conçue pour les machines virtuelles Java (JVM) et la compilation native, qui permet d'optimiser Java spécifiquement pour les conteneurs.

ARTICLE

Le serverless ou informatique sans serveur, qu'est-ce que c'est ?

Le serverless est un modèle de développement cloud-native qui permet aux développeurs de créer et d'exécuter des applications sans avoir à gérer des serveurs.

En savoir plus sur les applications cloud-native

Produits

Red Hat OpenShift

Plateforme de conteneurs Kubernetes pour les entreprises qui automatise l'exploitation de toute la pile pour la gestion des déploiements multicloud, de clouds hybrides et d'edge computing.

Ressources

Résumé

Stimuler l'innovation dans le secteur des services financiers avec les applications cloud-native

Livre numérique

La voie vers les applications natives pour le cloud

Formations

Formation gratuite

Développement d'applications cloud-native avec des architectures de microservices

Illustration - mail

Ce type de contenu vous intéresse ?

Inscrivez-vous à notre newsletter Red Hat Shares.