Cloud-nativ entwickeln mit Java: Containerisierung mit Quarkus

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

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Lesezeit: 14 Min.
Von
  • Eugen Blattner
Inhaltsverzeichnis

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.

Mehr zu Softwareentwicklung:

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.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.

Aus dieser Perspektive heraus stellen wir folgend technische Konzepte vor, mit denen Entwicklerinnen und Entwickler Java nun auch in verteilten Systemen und in der Cloud effektiv nutzen können. Als Beispiel dient eine Java-Anwendung, die auf Basis einer automatisierten Build-Plattform in ein Container-Image verpackt wird.