Ein Blick unter die Haube

Quarkus: Das Cloud-native Open-Source-Framework für Java-Entwickler
Keine Kommentare

Das Open-Source-Framework Quarkus tritt mit dem Anspruch an, Java-codierte Assets fit für die Zukunft und damit für Serverless Computing sowie Cloud– und Kubernetes-Umgebungen zu machen.

Quarkus ist ein Kubernetes-nativer Java-Stack, der auf OpenJDK HotSpot und GraalVM zugeschnitten ist. Das Framework ist mit dem ersten stabilen Release vom Juli 2020 Teil der Red Hat Runtimes, einer Reihe von Produkten, Tools und Komponenten, mit denen Cloud-native Anwendungen entwickelt und gewartet werden können. Quarkus ist quelloffen und hinterlässt nur einen kleinen Footprint, da es sich auf wichtige Funktionen beschränkt, die nur wenig Speicher benötigen und zudem schnell geladen sind. Damit eignet sich Quarkus ideal für hochverteilte Cloud-Architekturen auf Basis der ebenfalls schlanken Red Hat Runtimes.

Als Full-Stack-Technologie arbeitet Quarkus sowohl auf Server- als auch auf Client-Ebene. Die Umgebung wurde für virtuelle Java-Maschinen (JVMs) entwickelt und bietet damit die Möglichkeit, virtualisierte Anwendungskomponenten in Java zu programmieren, die die Vorteile von Kubernetes nutzen. Quarkus kompiliert und optimiert nativen Java-Code speziell für Container und eignet sich so als effiziente Plattform für eine Welt, in der serverlose sowie Cloud- und Kubernetes-Umgebungen dominieren. Quarkus kann aber auch nicht-kompilierte Java-Stacks optimieren und so selbst dann für Performance-Verbesserungen sorgen, wenn die Entwickler nativ mit OpenJDK, also in nicht-kompilierten Umgebungen, arbeiten.

Einfache Konfiguration für Entwickler

Quarkus ist zwar keine Plug-and-Play-Technologie, aber trotzdem schnell einsatzbereit, weil es nicht erst aufwändig konfiguriert werden muss. Die Plattform bietet Funktionen zur Durchführung von Live-Coding, sodass Entwickler die Auswirkungen von Änderungen im Code sofort überprüfen und Fehler beheben können. Bei der Einrichtung von Quarkus können Entwickler das von ihnen favorisierte Java-Framework für Anwendungen auswählen, das im JVM-Modus oder kompiliert und im nativen Modus ausgeführt werden kann.

Für die große Akzeptanz bei Java-Entwicklern spricht auch die Tatsache, dass Quarkus auf bekannte Java-Bibliotheken und -Standards aufbaut, die von erfahrenen Java-Entwicklern seit mehr als zwei Jahrzehnten genutzt werden. Die Lernkurve bei der Verwendung dieser Bibliotheken in Quarkus ist daher für Java-Profis minimal. Und wenngleich Quarkus selbst ein Framework ist: Der Kubernetes-native Java-Stack arbeitet eng mit vielen der ebenfalls über die Jahre entstandenen Frameworks und Hilfsprogramme zusammen.

Reaktives versus imperatives Programmieren

Quarkus-Mitbegründer Jason Greene, der als Distinguished Engineer and Manager bei Red Hat tätig ist, will mit Quarkus Java zu einer führenden Plattform in Kubernetes und in serverlosen Umgebungen machen. Außerdem möchte Greene Entwicklern ein zugleich reaktives wie imperatives Programmiermodell bieten, um eine größere Bandbreite an verteilten Anwendungsarchitekturen adressieren zu können. Diese Zweigleisigkeit ist wichtig; die traditionellere imperative Programmierung wird auf absehbare Zeit die zentrale Grundlage bleiben, während die moderne reaktive Entwicklung in der Lage ist, mit asynchronen, nicht-sequenziellen Datenereignissen zu arbeiten. Das macht sie zur idealen Ergänzung bei der Entwicklung von skalierbaren und dynamischen Cloud-Anwendungen.

Ein gutes Beispiel für reaktives Programmieren ist NodeJS und die Verwendung von Serverless Computing, die AWS mit Lambda populär gemacht hat. AWS hält die Geschäftslogik für das reaktive Modell an Ort und Stelle bereit, muss dafür aber keinen Arbeitsspeicher einsetzen. Es reicht vielmehr, eine Instanz bei Bedarf in eine Live-Produktionsumgebung zu bringen.

Quarkus ist eng mit OpenShift integriert

Quarkus ist Teil der Open-Source-basierten Container-Anwendungsplattform Red Hat OpenShift 4.6 und steht den Nutzern seit November 2020 zur Verfügung. Aus Kundenbefragungen lässt sich ablesen, dass bereits jeder fünfte Java-Entwickler, der die Cloud nutzt, den Einsatz von Quarkus in Erwägung zieht. Da Quarkus Kubernetes-nativ ist, ist es also sinnvoll, die Technologie von Anfang an im Zusammenhang mit OpenShift nutzen zu können.

Um den Einstieg in Quarkus zu erleichtern, hat Red Hat sein Migration Toolkit for Applications aktualisiert. Das bereits seit einigen Jahren erhältliche Kit hilft bei der Migration verschiedener Anwendungen auf unterschiedliche Plattformen (etwa beim Wechsel von Oracles WebLogic zu Red Hat EAP). Durch die Integration des Toolkits mit Quarkus erhalten Entwickler Empfehlungen für minimale Änderungen, die implementiert werden können, ohne dass ein komplettes Code-Refactoring nötig wäre.

Red Hat ebnet Entwicklern den Weg zur Nutzung von Quarkus und begleitet sie dabei, das Framework in ihre Umgebungen zu integrieren – vom eigenen Rechenzentrum über externe Geräte, das Internet der Dinge und Edge Computing und damit über die gesamte Breite der Public Cloud. Damit steht der Reise von Quarkus um die Welt nichts mehr im Wege.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -