Présentation
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 que Spring et Eclipse MicroProfile, ainsi que Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Infinispan, Camel et beaucoup 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).
4 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 le serverless commencent à poser certains problèmes. Découvrez pourquoi Quarkus est le framework de développement Java idéal pour travailler avec Knative et l'informatique serverless.
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 considérablement 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 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.