SpringOne: Native Images, Spring Azure und Weiterentwicklungen
Auf der jährlichen SpringOne-Konferenz gab es zahlreiche Neuerungen sowie einen Ausblick auf die nächste Generation des Frameworks zu begutachten.
- Tassilo Söldner
- Dr. Javad Ghofrani
Unter Java-Entwicklerinnen und -Entwicklern nimmt Spring eine dominierende Stellung ein, wenn es um Unternehmensanwendungen geht. Aktuelle Neuerungen und die Weiterentwicklung des Frameworks lassen sich im Zuge der jährlichen SpringOne-Konferenz gut nachverfolgen, auf der Jürgen Höller, Mitgründer des Spring-Frameworks, Ende vergangener Woche unter anderem auch einen Ausblick auf die bis zum Jahresende zu erwartenden neuen Versionen sowie die nächste Spring-Generation gab.
Noch in den kommenden Wochen und Monaten ist demnach mit Spring Boot 2.6 zu rechnen, Spring Boot 2.7 soll in der ersten Jahreshälfte 2022 folgen. Parallel dazu werden Spring Boot 3 und Spring 6 vorbereitet, die beide jedoch erst gegen Ende des nächsten Jahres erscheinen sollen. Während der Fokus bei Spring 5 auf reaktiver Programmierung lag, ist für Spring Boot 3 und Spring 6 vor allem ein Upgrade auf Java 17 beziehungsweise Jakarta EE 9 geplant. Neben weiteren Optimierungen ist die Möglichkeit hervorzuheben, Spring-Applikationen als Native Images bauen zu können. Ein erster Milestone ist noch für Ende 2021 geplant. Das GA-Release soll dann ein Jahr später erscheinen.
Native Images kommen im Spring-Ă–kosystem an
Native Images sind eine Technik zur vorzeitigen Kompilierung von Java-Code in eine eigenständige ausführbare Datei. Für das Deployment einer Spring-Boot-Applikation heißt das, dass auch die benötigten Teile der virtuellen Maschine in das Executable mit hineingepackt werden. So lassen sich zum einen Performance-Gewinne erzielen und wesentlich kürzere Startup-Zeiten realisieren, zum anderen muss ein so vorbereitetes Native Image dann nur noch ausgeführt werden, ohne dass eine Java-Laufzeitumgebung verfügbar sein muss. Daher sind Native Images vor allem für Cloud-Entwickler besonders attraktiv, da sich Microservices so noch schneller deployen lassen und sich auch bei stark schwankender Last immer eine optimale Anzahl an Applikationsinstanzen vorhalten lässt.
In Spring Boot 3.0 werden deswegen die Möglichkeiten von Native Images mithilfe des Liberica Native Image Kit (NIK) von BellSoft ausgenutzt.
Vertiefte Azure-UnterstĂĽtzung
Seit einigen Jahren bieten Amazon Web Services (AWS) und Google Unterstützung für das Deployment von Spring-Applikationen. Microsoft zieht nun nach: Im September 2020 wurde zusammen mit VMware Tanzu Spring Azure veröffentlicht. Wie bei anderen Cloud-Plattformen wird damit die Integration von Azure-Diensten in Spring-Apps auf Azure für Java-Entwickler erleichtert, zusätzlich bietet Azure etwa Monitoring-Dienste an.
Bisher gab es bei der Spring-Unterstützung auf Azure die zwei Abstufungen "Basic" und "Standard". Auf der SpringOne wurde diese nun um einen neuen "Enterprise"-Tier ergänzt. Die neue Edition soll den Bedarf nach mehr Konfigurierbarkeit und Flexibilität bei der Verwaltung der Services sowie deren schnelle Anpassung in der Produktion abdecken. Zudem soll mit kommerziellen Tanzu-Produkten wie Tanzu Build Service und Tanzu Service Registry den Anforderungen einer containerbasierten Entwicklung Rechnung getragen werden.
Spring Cloud Data Flow
Unter den weiteren Neuerungen auf der SpringOne ist auch ein Vortrag über das Modul Spring Cloud Data Flow (SCDF) erwähnenswert. Diese Weiterentwicklung von Spring Integration für Cloud-basierte Microservices stellt für mittlere und große Unternehmen eine wesentliche Komponente für Industrie-4.0-Dienste dar. SCDF bietet eine Vielzahl an Werkzeugen und Abstraktionen für Messaging, Prozessierung und Monitoring von Batch-Datenpipelines im Cloud- und Microservice-Umfeld und eignet sich deswegen für die Echtzeitdatenanalyse.
Das Spring-Ökosystem als Chamäleon
Die auf der SpringOne-Konferenz gezeigte Fülle an Neu- und Weiterentwicklungen macht deutlich, wie das Spring-Framework über die Jahre einen im positiven Sinne chamäleonartigen Charakter entwickelt hat, um sich ständig neuen An- und Herausforderungen anzupassen. Mit VMware Tanzu gelingt es darüber hinaus, eine enge Verbindung zwischen Cloud-Diensten, Containern und dem Spring-Ökosystem zu knüpfen, während auch die kontinuierliche Integration von Weiterentwicklungen bei 3rd-Party-Werkzeugen wie Apache Tomcat und Hibernate dazu beitragen, das Framework stets auf aktuellem Stand zu halten.
(map)