Serverless Computing: Amazon Lambda unterstützt jetzt Java 17

Entwicklerinnen und Entwickler können jetzt auch die Amazon-Corretto-Distribution von Java 17 dazu einsetzen, AWS-Lambda-Funktionen zu entwickeln.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen

(Bild: Sundry Photography/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Frank-Michael Schlede

Das Entwicklerteam von AWS (Amazon Web Services) betont, dass es sich bei der jetzt zum Einsatz kommenden Version von Amazon Corretto, einer plattformübergreifenden Distribution des Open Java Development Kit (OpenJDK), um ein Release mit Long-Term Support (LTS) handelt. Diese Runtime unterstützt zudem AWS Lambda SnapStart. Dadurch sollen Entwicklerteams auf die jeweils neueste verwaltete Laufzeit aktualisieren können, ohne dadurch zuvor gewonnene Leistungsverbesserungen zu verlieren.

In den letzten Jahren hat Amazon die Entwicklung neuer Funktionen für den Serverless-Dienst mit Amazon Corretto stetig weiter ausgebaut. In einem aktuellen Blogeintrag beschreibt das AWS-Team nicht nur die Features, die sich mit der Einführung dieser neuen Runtime geändert haben, sondern erläutert auch, welche Vorteile und Änderungen der Einsatz von Java 17 mit sich bringt.

Um die Java-17-Laufzeit für die Entwicklung ihrer Lambda-Funktionen zu verwenden, können Entwickler und Entwicklerinnen den Laufzeitwert jetzt auf Java 17 setzen, wenn sie eine Funktion erstellen oder aktualisieren.

(Bild: Amazon Web Services)

Die verwaltete Laufzeitumgebung von Java 17 führt eine neue Funktion ein, die es Entwicklerinnen und Entwicklern ermöglichen soll, Records als Objekt zur Darstellung von Ereignisdaten in der Handler-Methode zu verwenden. Records wurden als Preview-Feature in Java 14 eingeführt und bieten eine einfachere Syntax für die Deklaration von Klassen, die in erster Linie zum Speichern von Daten zur Anwendung kommt.

Records ermöglichen es, eine unveränderliche Klasse mit einer Reihe von benannten Eigenschaften und Methoden für den Zugriff auf diese Eigenschaften zu definieren. Dadurch sollen sich diese sehr gut für Event-Daten eignen und zudem den Code vereinfachen, wodurch er leichter zu lesen und zu pflegen ist.

Java 17 stellt unter anderem auch zwei neue Java Garbage Collectors (GCs) zur Verfügung. Während der Z Garbage Collector (ZGC) in Java 15 eingeführt wurde, existiert Shenandoah bereits seit Java 12. Zu den Bewertungskriterien dieser Softwarekomponenten gehören neben dem Durchsatz auch die Latenz und der Speicherbedarf.

Sowohl die ZGC- als auch die Shenandoah-GCs gehen einen Kompromiss zwischen Durchsatz und Speicherbedarf ein und sollen sich laut den Aussagen im AWS-Blog auf die Reduzierung der Latenzzeit konzentrieren, wo immer dies möglich sei. Sie sollen alle entsprechenden Aufgaben gleichzeitig ausführen können, ohne die Ausführung von Anwendungs-Threads länger als wenige Millisekunden zu unterbrechen.

Entwickler und Entwicklerinnen, die die Java-17-Runtime für die Entwicklung ihrer Lambda-Funktionen verwenden möchten, können dazu den Laufzeitwert auf Java 17 umstellen, wenn sie eine Funktion erstellen oder aktualisieren. Weitergehende Informationen zum Einsatz von Java 17 und AWS Lambda finden sich im Blogeintrag und im Re-Platforming Guide von AWS.

(fms)