Amazon öffnet Serverless-Dienst AWS Lambda für alle Programmiersprachen

Zwei neue Funktionen für den Serverless-Dienst AWS Lambda: Layers für die Codeverwaltung, und die Runtime API ermöglicht das Verwenden jeder Programmiersprache.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
AWS re:Invent: Einmal Lambda für alle, bitte!

(Bild: abogawat, Pixabay)

Lesezeit: 2 Min.
Von
  • Björn Bohn

Es wäre keine AWS re:Invent, wenn Amazon Web Services (AWS) nicht eine Fülle an Neuerungen für seinen Serverless-Dienst AWS Lambda im Gepäck hätte: Zum einen unterstützt Lambda jetzt die Programmiersprache Ruby. Zum anderen bietet AWS mit Lambda Layers und der Lambda Runtime API gleich zwei neue Funktionen an. Lambda Layers sollen eine Möglichkeit bieten, den Code und die Daten mehrerer Funktionen zentral zu verwalten. Die Runtime API ist hingegen ein Interface, das AWS Lambda für alle Programmiersprachen öffnen soll.

Mit der Runtime API können Anwender nun eine benutzerdefinierte Laufzeit beim Erstellen oder Aktualisieren einer Lambda Function auswählen. Bei dieser Auswahl muss die Funktion eine ausführbare Bootstrap-Datei beinhalten, die für die Kommunikation zwischen dem Programmcode und der Lambda-Umgebung verantwortlich ist. AWS erklärt weiterhin, dass sie die API dazu verwendet haben, um den neuen Ruby-Support zu ermöglichen.

Wie die Runtime API im Detail funktioniert, ist nur für solche Entwickler wesentlich, die ihre eigenen Runtimes erstellen wollen. AWS hat bereits eine Runtime für C++ und eine für Rust vorgestellt. Außerdem arbeitet der Cloud-Anbieter mit einigen Partnern zusammen, um Runtimes für Erlang, Elixir, Cobol, Node.js und PHP zu erstellen.

Lambda Layers hingegen bieten Anwendern die Möglichkeit, häufig verwendete Komponenten in einer ZIP-Datei als Lambda Layer hochzuladen. Dadurch muss der Function-Code nicht geändert werden, und Entwickler können die Bibliotheken im Layer wie üblich referenzieren. Darüber hinaus können Nutzer die Layer versionieren – jede Version ist unveränderbar. Bislang musste der geteilte Code noch mit allen Functions die ihn verwenden gemeinsam deployt werden.

Löscht man eine Version, funktionieren die Functions weiter, aber es ist unmöglich, neue zu erstellen. In der offiziellen Ankündigung erklärt AWS, dass bis zu fünf Layer in einer Function referenziert sein können. Dazu kann auch eine der neuen Runtimes für die verschiedenen Programmiersprachen gehören.

Mehr zur AWS re:Invent auf heise Developer:

(bbo)