Supersonic Subatomic Java

Quarkus 1.0.0: Erstes Major des Kubernetes Native Java Stacks

Dominik Mohilo

© Shutterstock / Jurik Peter

Das Java Framework Quarkus soll Java für das Cloud-Native-Zeitalter mit Kubernetes und Serverless fit machen. Mit Quarkus 1.0.0 hat es nun die erste Hauptversion erreicht. Diese enthält zwar keine größeren Änderungen, stellt aber dennoch einen wichtigen Meilenstein für das Open-Source-Projekt dar.

Quarkus, das Java Framework aus der Softwareschmiede Red Hat, hat seit dem ersten Release im März dieses Jahres eine sehr große Zahl an Updates erfahren. Auf dem Weg zu Quarkus 1.0.0 veröffentlichte das Team des Open-Source-Projektes, das federführend von Red Hat entwickelt und vorangetrieben wird, innerhalb von nur 36 Wochen 30 Updates, was einem Release alle 9 Tage entspricht.

Quasi im Wochenrhythmus wurden also neue Funktionen hinzugefügt und lästige Bugs ausgemerzt. Das Credo war und ist, dass man nicht auf bestimmte Versionsnummern hinarbeite, also auch nicht auf ein großes „Update 1.0“. Alex Soto, Software Engineer bei Red Hat, sagte uns dazu im Interview:

Viele Unternehmen nutzen Quarkus trotz allem bereits in der Produktion. Dies ist auch kein Problem, da Versionsnummern am Ende eben nur Nummern sind. Wir behandeln jedes Release so, dass es am Ende reif für die Produktion ist.

Quarkus 1.0.0 – Hintergrund

Der Open-Source-Software-Stack Quarkus ist in gewisser Weise die Antwort auf die Frage, wie man Java-Anwendungen zukunftssicher und basierend auf dem Container-First-Prinzip entwickeln kann. Kubernetes-native Java-Entwicklung mit der klassischen JVM kann zu Problemen führen, daher setzt man hierbei eher auf die etwas performantere und für diese Zwecke besser geeignete GraalVM, die JVM kann allerdings dennoch genutzt werden. Zusätzlich bietet Quarkus (nicht erst seit Version 1.0.0) bekannte Programmiermodelle und APIs:

Egal ob man es nun als Framework, Stack oder Plattform bezeichnen möchte, wurde Quarkus mit einem „reactive Mindset“ entwickelt, imperative Programmiermodelle werden aber ausdrücklich unterstützt. Zum Einsatz hierfür kommt eine einzelne, auf Vert.x basierende, Netzwerk-Engine. Auch der Sicherheits-Layer im reaktiven Kontext baut dabei auf Vert.x auf.

Quarkus – Kubernetes Native Java für die neue Generation der Softwareentwicklung

Unterstützt werden unter anderem auch Hibernate, JAX-RS, Apache Camel, Eclipse MicroProfile und Spring. Wobei die Kompatibilität zu Spring APIs (Spring Web, Spring Data JPA und Spring DI sind auch mit an Bord) eher neueren Datums ist. Doch damit nicht genug: Das Quarkus-Ökosystem wächst stetig, auch und besonders durch die Mühen der Community, die mittlerweile 177 Contributors umfasst. Jeder Entwickler kann und darf Erweiterungen definieren, die dann auf der Katalogseite und den entsprechenden Maven bzw. Gradle Tools verfügbar gemacht werden. Insgesamt stehen bis dato über 80 Erweiterungen für das Java Framework zur Verfügung.

Traditionelle Java-Entwickler fluchen zudem seit Jahrzehnten über die (nicht vorhandene) Möglichkeit, auf ständiges Kompilieren zu verzichten. Quarkus möchte mit seiner Live-Coding-Funktion diesen Teufelskreis aus Kompilieren, Deployen und Refreshen des Browsers durchbrechen: Auch mit Java Code ist es nun möglich, einfach den Code zu schreiben und den Browser zu refreshen, um die aktualisierten Ergebnisse zu sehen.

Quarkus 1.0.0 – Das ist neu

Dies alles sind Features von Quarkus, die bereits im Laufe der Zeit implementiert und vorangebracht wurden. Definitiv neu in Verison 1.0.0.CR1 sind unter anderem das Update auf das GraalVM SDK 19.2.1, der Umzug von der Portprüfung an die richtige Stelle und das Fixen der NoSuchFileException in Logs sowie des ungeeigneten Cachings im Entwicklungsmodus, nachdem eine HTML-Datei entfernt wurde.

Auch wenn Quarkus 1.0.0 eher ein kleines Update ist, kann die Bedeutung dieses Projekts nicht deutlich genug gemacht werden. Auch wenn mit der aktuellen Version die Rückwärtskompatibilität ein Thema wird, mit dem man sich beschäftigen muss, verspricht man Seitens des Entwicklerteams, die Innovation wie gewohnt und ähnlich flott voranzutreiben. Genannt werden auf dem Blog von Red Hat unter anderem eine verbesserte Observability und die Unterstützung für besonders langlebige Transaktionen.

Weitere Informationen zu Quarkus gibt es auf der offiziellen Homepage und natürlich auf GitHub. Offizielle Stimmen zu Quarkus 1.0.0 auf dem Blog von Red Hat und dem Blog des Projektes selbst.

Quarkus Infografik

Neugierig geworden? In unserem Quarkus-Spickzettel finden Sie alles, was Sie zum Loslegen brauchen! Auf dem Blog der W-JAX können Sie das Cheat Sheet herunterladen:

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: