Anmelden / Registrieren Konto

Cloudnative Anwendungen

Was ist Quarkus?

Jump to section

Quarkus ist ein Kubernetes-natives Java Framework für Java Virtual Machines (JVMs) und die native Kompilierung mit vollständigem Stack, mit dem Java speziell für Container optimiert wird. So wird aus ihm eine effektive Plattform für Serverless-, Cloud- und Kubernetes-Umgebungen.

Es wurde speziell für beliebte Java-Standards, Frameworks und -Bibliotheken wie Eclipse MicroProfile und Spring (die gemeinsam in diesem Auszug vom Red Hat Summit 2020 präsentiert werden) sowie für Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Spring, Infinispan, Camel und viele mehr konzipiert.

Die Dependency Injection-Lösung von Quarkus basiert auf CDI (Contexts and Dependency Injection) und bietet ein Framework zur Erweiterung der Funktionalität und die Konfiguration, den Start sowie die Integration eines Frameworks in Ihre Anwendung. Das Hinzufügen einer Erweiterung gestaltet sich ebenso einfach wie das einer Dependency. Alternativ können Sie Quarkus Tools verwenden.

Dazu stellt es korrekte Informationen zu GraalVM (eine generische VM zur Ausführung von Apps, die mit einer Vielzahl von Sprachen erstellt worden sind, darunter Java und JavaScript) für eine native Kompilierung Ihrer Anwendung bereit.


Für Entwickler konzipiert

Quarkus wurde als benutzerfreundliches Tool konzipiert und integriert Funktionen, die keine oder nur wenig Konfiguration erfordern.

Entwickler können die passenden Java Frameworks für ihre Anwendungen auswählen, die dann im JVM-Modus laufen oder kompiliert und im nativen Modus ausgeführt werden können.

Das ganz auf Entwickler abgestimmte Quarkus integriert außerdem folgende Funktionen:

  • Live-Kodierung zur umgehenden Prüfung der Auswirkungen von Code-Änderungen sowie eine schnelle Problembehebung
  • Einheitliche imperative- und reaktive Programmierung mit einem eingebetteten verwalteten Event Bus
  • Einheitliche Konfiguration
  • Einfache Erstellung nativer Ausführungsdateien

Container-first

Ob Sie Ihre Anwendungen nun auf einer Public Cloud oder in einem intern gehosteten Kubernetes Cluster hosten, Charakteristika wie ein schneller Start sowie ein niedriger Speicherverbrauch sind wichtig, um die Gesamtkosten für den Prozess niedrig zu halten.

Quarkus wurde auf Basis einer Container-first-Philosophie entwickelt und soll so einen niedrigen Speicherverbrauch und schnelle Startzeiten auf folgende Weise ermöglichen:

  • Erstklassiger Support für Graal/SubstrateVM
  • Metadaten-Verarbeitung gleichzeitig mit dem Build
  • Reduzierung der Reflektionsnutzung
  • Preboot nativer Images

Bei der Anwendungsentwicklung mit Quarkus wird im Vergleich zum traditionellen Java nur ein Zehntel des Speichers belegt. Dazu bietet es bis zu 300 Mal schnellere Startzeiten. Beide Aspekte ermöglichen eine deutliche Reduzierung der Kosten für Cloud-Ressourcen.


Imperativer und reaktiver Code

Quarkus ist dazu ausgelegt, bei der Anwendungsentwicklung eine nahtlose Kombination des bewährten imperativen sowie des nicht-blockierenden reaktiven Stils zu ermöglichen.

Dies erweist sich als nützlich sowohl für Java-Entwickler, die an das imperative Modell gewöhnt sind und auch dabei bleiben möchten, und all diejenigen, die einen cloudnativen/reaktiven Ansatz bevorzugen.

Das Quarkus-Entwicklungsmodell lässt sich flexibel an alle zu erstellenden Anwendungstypen anpassen.

Quarkus ist eine effiziente Lösung zur Ausführung von Java in dieser neuen Welt der Serverless-Architektur, Microservices, Container, von Kubernetes, function-as-a-service (FaaS) sowie der Cloud, weil es für all diese Technologien entwickelt wurde.

Quarkus und der cloudnative Ansatz haben noch viel mehr zu bieten