Connexion / Inscription Account

Applications cloud-native

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

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 sans serveur, 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).


Solution conçue pour les développeurs

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

Solution optimisée pour les conteneurs

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.


Code impératif et réactif

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 sans serveur, 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.

Vous ne savez pas encore tout sur Quarkus et les applications cloud-native...