Amazon Web Services hat AWS Lambda Web Functions angekündigt, ein neues Format, mit dem Entwickler standardmäßige HTTP-Webanwendungen auf Lambda ausführen können, ohne ihren Code in einen Ereignishandler umzuschreiben. Anwendungen, die mit Express, Hono, Fastify, Next.js oder einem beliebigen Node.js-Framework entwickelt wurden, lassen sich mit einem einzigen Befehl bereitstellen. Lambda übernimmt automatisch Skalierung, Verteilung über mehrere Regionen und die Abrechnung der aktiven CPU-Zeit. Adapter, Infrastrukturverwaltung oder eine Bindung an ein bestimmtes Framework sind nicht erforderlich.
Mit dieser Neuerung bietet AWS Lambda drei unterschiedliche Formate, die auf derselben Firecracker-Isolationstechnologie basieren. Lambda Event Functions behalten das ereignisgesteuerte Handler-Modell mit einfacher Nebenläufigkeit und Abrechnung nach Echtzeit bei und eignen sich für die Ereignisverarbeitung und Queue-Consumer. Lambda Web Functions nutzen ein HTTP-natives Modell mit mehrfach nebenläufiger Ausführung und Abrechnung nach aktiver CPU-Zeit und sind für Webanwendungen und API-Backends geeignet. Lambda Micro VMs bieten isolierte, zustandsbehaftete Sandboxes mit kundenseitig verwaltetem Lebenszyklus für die Ausführung nicht vertrauenswürdigen oder nutzergenerierten Codes. Alle drei können innerhalb desselben AWS-Kontos und Betriebsmodells zusammenarbeiten.
Web Functions erlauben es jeder Ausführungsumgebung, bis zu 128 gleichzeitige Anfragen zu verarbeiten. Dadurch können Verkehrsspitzen bereits aufgewärmte Umgebungen nutzen, statt für jede Anfrage eine neue zu starten. Da die CPU-Zeit und nicht die Echtzeit gemessen wird, verbraucht I/O-intensive Arbeit wie Datenbankabfragen oder API-Aufrufe nur wenig CPU. Der Speicher wird gemessen, solange die Ausführungsumgebung besteht. Dieses Modell kann die Rechenkosten für serverseitiges Rendering, API-Backends und KI-Inferenz-Endpunkte senken, die Antworten token-weise streamen.
Zum Einstieg schreiben Entwickler einen Standard-Express-Server, der auf dem Host und Port lauscht, die in der Umgebungsvariable AWS_LAMBDA_HTTP_ENDPOINT festgelegt sind. Derselbe Code läuft lokal mit node index.js. Die Bereitstellung erfolgt über den AWS-CLI-Befehl aws lambda-web deploy, ohne vorherige Ressourceneinrichtung.
Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing