Überblick
Java™ ist noch immer eine der beliebtesten Programmiersprachen unter Entwicklerinnen und Entwicklern, bringt aber einige Nachteile mit sich, wenn es um Container und Kubernetes geht. Quarkus gibt mehr als 7 Millionen Java-Entwicklerinnen und -Entwicklern die Möglichkeit, neue Anwendungen mit den Frameworks zu entwickeln, die sie kennen.
Warum Quarkus in Red Hat OpenShift?
Quarkus-Anwendungen sind für die Ausführung in Containern gedacht. In Red Hat OpenShift ist Quarkus daher nativ integriert, um das Deployment noch einfacher zu gestalten. Mit Quarkus auf Red Hat OpenShift nutzen Entwicklerinnen und Entwickler folgende Vorteile: bekannte Tools, Remote-Entwicklung auf Clustern mit IDEs wie Red Hat CodeReady Workspaces und eine Integration, die gemanagte Konfigurationen, Bereitstellungen von Serverless-Workloads und die Verwaltung von Anwendungs-Storage umfasst.
Außerdem bietet Quarkus eine Integration in die Kubernetes API, einschließlich eines generischen API-Clients und dynamischer Anwendungskonfiguration über Kubernetes ConfigMaps. Eine Red Hat Subskription und Support für Quarkus ist beim Kauf von Red Hat OpenShift enthalten.
Red Hat Ressourcen
Quarkus und Entwicklerproduktivität
Quarkus wurde für Entwicklerinnen und Entwickler entworfen. Entwicklerproduktivität bedeutet, dass Unternehmen schneller auf sich rasch ändernde Marktbedingungen reagieren können, indem sie neuen Anwendungen schnell entwickeln und bereitstellen. Quarkus hilft Ihnen dabei, die Entwicklerproduktivität zu verbessern – mit Funktionen wie Live-Coding für eine schnellere Inner-Loop-Entwicklung, Integration in IDEs wie Red Hat CodeReady Workspaces, und APIs, die über traditionelle Java-Standards hinausgehen. Mit Quarkus können Entwicklerinnen und Entwickler eine Kombination aus Standards wie MicroProfile, Spring Framework-APIs und anderen Frameworks verwenden. Gleichzeitig profitieren sie von der Effizienz von Quarkus in Kubernetes.
Migration von Spring Boot-Anwendungen zu Quarkus
Die Migration Ihrer aktuellen Spring Boot-Anwendungen zu Quarkus und Red Hat OpenShift ist möglich und auch einfacher, als Sie vielleicht denken. Das Migrations-Toolkit für Anwendungen (MTA) kann Ihr Portfolio von Java-Anwendungen prüfen, indem es den Quellcode oder sogar die Binärdateien untersucht. So werden zahlreiche Transformationsmöglichkeiten abgedeckt (Java EE, JDKs, Linux, Containerisierung, Quarkus und mehr), und Ihre Migration beschleunigt.
Umfassender Support für die Migration von Spring Boot zu Quarkus ist im MTA Release 5.1 enthalten.
Was ist Quarkus?
Quarkus ist ein Framework für die Entwicklung von Java-Anwendungen, die auf traditionellen JVMs (Java Virtual Machines) oder als nativ kompilierte Programme ausgeführt werden. Quarkus minimiert die Startzeit und Arbeitsspeichernutzung und lässt sich außerdem in vorhandene Java-Frameworks und Entwickler-Tools integrieren. So können Sie Ihre Anwendungen schneller entwickeln und bereitstellen. Quarkus kann Ihnen dabei helfen, Java-Anwendungen auszuführen, die mit Serverless, Microservices, Containern, Kubernetes oder anderen Anwendungstypen in der Hybrid Cloud arbeiten.
QUARKUS-KONZEPTE
Quarkus wurde für die Produktion von kompakten und effizienten Anwendungen für traditionelle JVM-Runtimes (Java Virtual Machine) wie OpenJDK entwickelt. Für eine noch bessere Optimierung lassen sich damit außerdem native, ausführbare Binärdateien produzieren. Der Schlüssel dabei ist, während der Build-Phase so viel Vorarbeit wie möglich zu leisten, da sie in der Lebensdauer einer Anwendung nur einmal vorkommt. In der Build-Phase übersetzt Quarkus zunächst die Anwendung in traditionellen Java-Bytecode, lädt und parst die Konfiguration, Prozess-Annotationen und Build-Framework-Metamodelle, und bringt alles in einer traditionellen, ausführbaren Java-Anwendung (einer JAR-Datei) zusammen. Zur Runtime – wenn die Anwendung startet – werden für diese Schritte weder Arbeitsspeicher oder CPU noch Zeit an sich beansprucht. Das senkt die Startzeit erheblich.
NATIVE KOMPILATION
Quarkus-Anwendungen lassen sich in eine native Programmdatei herunterkompilieren und bieten dann noch mehr Effizienz. Mit Mandrel (einer Downstream-Distribution von GraalVM) wird die Anwendung auf „toten Code" hin geprüft (Code-Pfade, die nie zur Runtime verwendet werden). Dieser wird dann aus der Anwendungs-Ausführung eliminiert. Dadurch entstehen sehr kleine und schlanke ausführbare Anwendungen, die Startzeiten im zweistelligen Millisekundenbereich haben und zur Runtime nur wenige Dutzend Megabytes an Arbeitsspeicher erfordern.
Der offizielle Red Hat Blog
Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.