Amazon Web Services: Lambda-Dienst unterstĂĽtzt Java

Den Cloud-Dienst, der im November 2014 als Service für mit Node.js betriebene JavaScript-Anwendungen eingerichtet wurde, können nun auch Java-Entwickler nutzen.

vorlesen Druckansicht
Amazon Web Services: Lambda-Dienst unterstĂĽtzt Java
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Der Lambda-Dienst von Amazon Web Services unterstützt nun die Entwicklung mit Java. Im Herbst 2014 wurde mit Amazon Lambda ein Public-Cloud-Service vorgestellt, mit dem sich Software betreiben lässt, ohne dass dafür eine passende Infrastruktur zu reservieren wäre. Die erforderlichen Hardware-Ressourcen werden dynamisch zugewiesen, das wird von diversen Events ausgelöst. Zum Start gab es den Lambda-Service nur für mit Node.js betriebene JavaScript-Anwendungen.

Die Unterstützung von Java, genau genommen die neueste Sprachversion 8, ist anscheinend erst der Auftakt, weitere Sprachen werden wohl folgen, wie einem Blog-Beitrag von AWS Chief Evangelist Jeff Barr zu entnehmen ist. Amazon geht hier also den Weg seiner anderen Cloud-Dienste, bei denen sukzessive mehr und mehr Programmiersprachen ergänzt wurden.

Die Funktionsweise lässt sich anhand eines Foto-Sharing-Dienstes erklären, bei dem ein User ein Bild von seinem Smartphone auf S3 (Simple Storage Service) hochlädt. Dieser Upload bedeutet ein Event, das eine App für das Erstellen eines Thumbnails startet. Für diese Software ist keine Hardware oder VM zu reservieren – werden mehr Bilder parallel hochgeladen, wird automatisch mehr Hardware hinzugefügt.

Die in Java geschriebenen Lambda-Funktionen können jedes Java-8-Feature verwenden und sogar Java-Bibliotheken aufrufen. Der Event-Handler-Code und jedes notwendige JAR-File (Java Archive) werden für das Deployment auf AWS als JAR- oder ZIP-Datei gepackt. Außerdem finden Entwickler in Amazons AWS-Toolkit-Plug-in für die Entwicklungsumgebung Eclipse Hilfsmittel zum Verpacken und Hochladen der Handler. Zusätzlich gibt es im Rahmen des AWS SDK for Java zwei Bibliotheken, die einerseits Schnittstellen für Handler-Objekte und andererseits vorpräparierte Komponenten für andere Amazon-Dienste wie S3, Amazon Simple Notification Service (SNS), DynamoDB, Kinesis und Cognito bereitstellen. (ane)