iX 11/2022
S. 62
Titel
Softwareentwicklung

Cloud-natives Java mit Quarkus, Mandrel und Jib

Java ist zwar in die Jahre gekommen, aber nach wie vor weit verbreitet. Die Herausforderung besteht darin, es schlank in die Cloud zu hieven.

Von Eugen Blattner

Java-Projekte bekommen mit heute üblichen Verfahren neue Aufgaben. Dazu zählen Microservices, die in Container verpackt sind, damit sie in verteilten Systemen oder in der Cloud mehrfach platziert werden und dadurch parallel laufen können. Diese Skalierbarkeit bedeutet aber auch, dass vielfach laufende Microservices ihren Overhead und die Laufzeitumgebung mit vervielfachen. Und Java bringt traditionell bereits einen nicht unerheblichen Anteil an Overhead durch die JVM mit, die eine Art Container (Sandbox) ist. Somit wird Java im klassischen Ansatz unnötigerweise doppelt verkapselt (Abbildung 1).

Anders als in Monolithen sind Java-Anwendungen in der Microservices-Architektur doppelt gekapselt (Abb. 1).
Anders als in Monolithen sind Java-Anwendungen in der Microservices-Architektur doppelt gekapselt (Abb. 1).

Das alles spricht auf den ersten Blick gegen Java als geeignete Technik für Cloud und Skalierung. Denn mit Blick auf die Historie von Java erweist sich das ursprünglich vorausschauende Konzept „Write once, run everywhere“ der Sprache als ineffizient im Cloud-Kontext (siehe Kasten „Java-Paradigmen von der Historie in der Gegenwart“). Dem gegenüber stehen die weite Verbreitung von Java und die bereits vorhandenen Programme und Systeme. Dass Unternehmen sich wegen aktueller Anforderungen von Java abwenden, ist daher nicht zu erwarten. Denn im Kern ist Java eine etablierte, ausgereifte und zuverlässige Technik mit einer großen Community, vielen gut gewarteten Bibliotheken und Add-ons. In vielen Branchen, vor allem der Banken- und Finanztechnik (FinTech), gilt Java nach wie vor als Mittel der Wahl (siehe ix.de/zuv5).

Kommentieren