AWS Lambda ist ein serverloser Datenverarbeitungsservice, der Ihren Code beim Eintreten bestimmter Ereignisse ausführt und für Sie automatisch die zugrunde liegenden Datenverarbeitungsressourcen verwaltet. Mit AWS Lambda können Sie andere AWS-Services mit benutzerdefinierter Logik erweitern oder Ihre eigenen Backend-Services erstellen und im AWS-Umfang und mit AWS-Leistung und -Sicherheit betreiben. AWS Lambda kann Code automatisch als Reaktion auf mehrere Ereignisse wie HTTP-Anforderungen über Amazon API Gateway, Änderungen von Objekten in Amazon S3-Buckets, Aktualisierungen von Tabellen in Amazon DynamoDB oder Zustandsübergänge in AWS Step Functions ausführen.

Lambda führt Ihren Code automatisch auf hochverfügbarer Datenverarbeitungsinfrastruktur aus und erledigt die gesamte Administration der Datenverarbeitungsressourcen, einschließlich Server- und Betriebssystemwartung, Kapazitätsbereitstellung und automatischer Skalierung, Code- und Sicherheitspatch-Bereitstellung sowie Code-Überwachung und -Protokollierung. Sie müssen nur den Code zur Verfügung stellen.

Funktionen von AWS Lambda

Einführung zu AWS Lambda-Funktionen

Der Code, den Sie auf AWS Lambda ausführen, wird „Lambda-Funktion“ genannt. Die Lambda-Funktion ist nach ihrer Erstellung immer zur Ausführung nach Auslösung bereit, ähnlich wie eine Formel in einer Tabellenkalkulation. Jede Funktion enthält Ihren Code und einige zugeordnete Konfigurationsinformationen, etwa den Funktionsnamen und die Ressourcenanforderungen. Lambda-Funktionen sind „zustandslos“, ohne Affinität zur zugrunde liegenden Infrastruktur, sodass Lambda rasch so viele Kopien der Funktionen starten kann, wie zum Skalieren entsprechend der Häufigkeit der eingehenden Ereignisse benötigt werden.

Wenn Sie Ihren Code auf AWS Lambda hochgeladen haben, können Sie Ihre Funktion bestimmten AWS-Ressourcen zuordnen (etwa einem bestimmten Amazon S3-Bucket, einer Amazon DynamoDB-Tabelle, einem Amazon Kinesis-Stream oder einer Amazon SNs-Benachrichtigung). Ändert sich dann die Ressource, führt Lambda Ihre Funktion aus und verwaltet nach Bedarf die Datenverarbeitungsressourcen, die für die Verarbeitung der eingehenden Anforderungen erforderlich sind.

Wichtigste Produktfunktionen

AWS-Services mit benutzerdefinierter Logik erweitern

Mit AWS Lambda können Sie benutzerdefinierte Logik zu AWS-Ressourcen wie Amazon S3-Buckets und Amazon DynamoDB-Tabellen hinzufügen. Dadurch können Sie problemlos für Ihre Daten bei der Einleitung in die Cloud und auf dem Weg durch die Cloud Datenverarbeitungsschritte durchführen.

Die ersten Schritte mit AWS Lambda sind ganz einfach. Zuerst erstellen Sie Ihre Funktion, indem Sie Ihren Code hochladen (oder direkt in der Lambda-Konsole erstellen) und den Arbeitsspeicher, die Timeoutperiode und die AWS Identity and Access Management (IAM)-Rolle wählen. Dann legen Sie die AWS-Ressource fest, die die Funktion auslöst, entweder einen bestimmten Amazon S3-Bucket, eine Amazon DynamoDB-Tabelle oder einen Amazon Kinesis-Stream. Ändert sich die Ressource, führt Lambda Ihre Funktion aus und startet und verwaltet nach Bedarf die Datenverarbeitungsressourcen, die für die Verarbeitung der eingehenden Anforderungen erforderlich sind.

Erstellen Sie benutzerdefinierte Backend-Services

Mit AWS Lambda können Sie neue Backend-Services für Ihre Anwendungen erstellen, die On-Demand ausgelöst werden und dazu die Lambda API oder mit Amazon API Gateway entwickelte benutzerdefinierte API-Endpunkte verwenden Durch die Nutzung von Lambda für die Verarbeitung von Ereignissen (anstelle von deren Bereitstellung am Client) können Sie Client-Plattformvarianten vermeiden, den Batterieverbrauch reduzieren und Updates vereinfachen.

Verwendung Ihres eigenen Codes (Bring Your Own Code)

Für AWS Lambda müssen Sie keine neuen Sprachen, Tools oder Frameworks lernen. Sie können jede beliebige Bibliothek eines anderen Anbieters verwenden, auch eine native. Sie können auch jeden Code (Frameworks, SDKs, Bibliotheken und mehr) als Lambda Layer verpacken und dies dann über mehrere Funktionen hinweg verwalten und teilen. Lambda unterstützt nativ Java, Go, PowerShell, Node.js, C#, Python und Ruby-Code. Es bietet außerdem eine Runtime API, mit der zusätzliche Programmiersprachen zum Erstellen von Funktionen genutzt werden können.

Vollständig automatisierte Verwaltung

AWS Lambda verwaltet die gesamte Infrastruktur für die Ausführung Ihres Codes auf einer hoch verfügbaren, fehlertoleranten Infrastruktur. So können Sie sich auf die Erstellung differenzierter Backend-Services konzentrieren. Bei Lambda müssen Sie nie das zugrunde liegende Betriebssystem aktualisieren, wenn ein Patch veröffentlicht wird, und sich keine Sorgen über eine Größenanpassung oder das Hinzufügen neuer Server machen, wenn Ihre Nutzung steigt. AWS Lambda stellt Ihren Code nahtlos bereit, erledigt die gesamte Administration, Wartung und alle Sicherheitspatches, und bietet integrierte Protokollierung und Überwachung durch Amazon CloudWatch.

Integrierte Fehlertoleranz

Lambda verfügt über integrierte Fehlertoleranz. AWS Lambda verwaltet Rechenkapazität in mehreren Availability Zones in jeder Region und unterstützt so den Schutz Ihres Codes gegen den Ausfall einzelner Geräte oder Rechenzentren. Sowohl AWS Lambda als auch die im Service ausgeführten Funktionen bieten planbare und zuverlässige Betriebsleistung. AWS Lambda ist so konzipiert, dass es sowohl beim Service selbst als auch bei seinen Funktionen eine hohe Verfügbarkeit bietet. Es gibt keine Wartungsfenster und keine geplanten Ausfallzeiten.

Automatisierte Skalierung

AWS Lambda ruft Ihren Code nur bei Bedarf auf und führt automatisch eine Skalierung zur Unterstützung der eingehenden Anforderungen aus, ohne dass Sie dazu etwas konfigurieren müssen. Die Anzahl der Anforderungen, die Ihr Code verarbeiten kann, ist nicht beschränkt. AWS Lambda startet die Ausführung Ihres Codes normalerweise innerhalb von Millisekunden nach einem Ereignis, und da Lambda automatisch skaliert, bleibt die Leistung konstant hoch, auch wenn die Ereignisfrequenz sich erhöht. Da Ihr Code zustandslos ist, kann Lambda ohne zeitaufwendige Bereitstellung und Konfiguration so viele Instanzen Ihrer Funktion starten, wie benötigt werden.

Mit relationalen Datenbanken verbinden

Verwenden Sie Amazon RDS Proxy, um die Vorteile von vollständig verwalteten Verbindungspools für relationale Datenbanken zu nutzen. RDS Proxy verwaltet effizient Tausende von gleichzeitigen Datenbankverbindungen zu relationalen Datenbanken und erleichtert so die Erstellung hochskalierbarer, sicherer, Lambda-basierter, serverloser Anwendungen, die mit relationalen Datenbanken interagieren müssen. Derzeit unterstützt RDS Proxy MySQL und Aurora. Sie können RDS Proxy für Ihre serverlosen Anwendungen über die Amazon RDS-Konsole oder über die AWS Lambda-Konsole verwenden.

Feinkörnige Kontrolle der Leistung

Provisioned Concurrency gibt Ihnen mehr Kontrolle über die Leistung Ihrer serverlosen Anwendungen. Wenn aktiviert, hält Provisioned Concurrency die Funktionen initialisiert und hyperbereit, um in zweistelligen Millisekunden zu reagieren. Provisioned Concurrency ist ideal für jede Anwendung, die mit AWS Lambda erstellt wurde und eine größere Kontrolle über die Startzeit der Funktion benötigt. Sie können die entsprechende Menge an Parallelität einfach konfigurieren, basierend auf den Anforderungen Ihrer Anwendung. Sie können die Ebene der Parallelität in Zeiten hoher Nachfrage erhöhen und senken oder bei sinkender Nachfrage ganz abschalten. Die Nutzung der Vorteile von Provisioned Concurrency erfordert keine Änderungen an Ihrem Code. Provisioned Concurrency ist eine effiziente Möglichkeit, um eine konsistente Leistung für latenzempfindliche Anwendungen nach Bedarf zu erreichen, ohne Datenverarbeitungsressourcen verwalten zu müssen.

Mit gemeinsam genutzten Dateisystemen verbinden

Mit Amazon Elastic File System für AWS Lambda können Sie sicher große Mengen an Daten bei geringer Latenz und beliebiger Skalierung sicher lesen, schreiben und dauerhaft speichern. Sie müssen keinen Code schreiben, um Daten in den temporären Speicher herunterzuladen, um sie zu verarbeiten. Dadurch wird Zeit gespart und der Code vereinfacht. So können Sie sich auf Ihre Geschäftslogik konzentrieren. EFS for Lambda eignet sich ideal für die Entwicklung von Machine-Learning-Anwendungen oder zum Laden von großen Referenzdateien oder -modellen, zum Verarbeiten oder sichern großer Mengen an Daten, zum Hosten von Web-Inhalten oder zur Freigabe von Dateien zwischen serverlosen Anwendungen und Instance- oder Container-basierten Anwendungen.

Code als Reaktion auf Amazon CloudFront-Anforderungen ausführen

Mit Lambda@Edge kann AWS Lambda Ihren Code global über AWS-Standorte als Reaktion auf Amazon CloudFront-Ereignisse wie Inhaltsanforderungen an oder von Ursprungs-Servern und Betrachtern ausführen. Dies erleichtert es Ihnen, Ihren Endbenutzern bei niedrigsten Latenzzeiten noch reichhaltigere und personalisiertere Inhalte bereitzustellen. Weitere Informationen »

Orchestrieren mehrerer Funktionen

Sie können mehrere AWS Lambda-Funktionen für komplexe oder langwierige Aufgaben koordinieren, indem Sie Workflows mit AWS Step Functions erstellen. Mit Step Functions können Sie Workflows definieren, die eine Sammlung von Lambda-Funktionen mit sequenziellen, parallelen, verzweigenden und Fehlerbehandlungsschritten auslösen. Mit Step Functions und Lambda können Sie zustandsorientierte langwierige Prozesse für Anwendungen und Backends erstellen.

Integriertes Sicherheitsmodell

Bei AWS Lambda kann Ihr Code über das integrierte AWS SDK und aufgrund der Integration mit AWS Identity and Access Management (IAM) sicher auf andere AWS-Services zugreifen. AWS Lambda führt Ihren Code standardmäßig innerhalb eines VPCs aus. Sie können AWS Lambda auch für den Zugriff auf Ressourcen hinter Ihrem eigenen VPC konfigurieren, sodass Sie benutzerdefinierte Sicherheitsgruppen und Netzwerk-Zugriffssteuerungslisten nutzen können, um Ihren Lambda-Funktionen den Zugriff auf Ihre Ressourcen innerhalb eines VPCs bereitzustellen.

AWS Lambda ist mit SOC, HIPAA, PCI und ISO konform. Neueste Informationen zur Lambda-Zertifizierung und Compliance-Bereitschaft finden Sie in der Übersicht über die Services.

Nur für das zahlen, was Sie auch tatsächlich nutzen

Mit AWS Lambda bezahlen Sie für die Ausführungsdauer und nicht pro Servereinheit. Bei der Nutzung der Lambda-Funktionen zahlen Sie nur für bediente Anfragen und die für die Ausführung Ihres Codes benötigte Datenverarbeitungszeit. Die Fakturierung erfolgt in 100-Millisekunden-Schritten. Das ist kostengünstig und ermöglicht problemloses Skalieren zwischen ein paar Anforderungen pro Tag und tausenden pro Sekunde. Mit Provisioned Concurrency bezahlen Sie für den Betrag der Parallelität, den Sie konfigurieren, und für den Zeitraum, den Sie konfigurieren. Wenn Provisioned Concurrency für Ihre Funktion aktiviert ist und Sie sie ausführen, bezahlen Sie auch für Anfragen und Ausführungsdauer. Um mehr über die Preise zu erfahren, besuchen Sie bitte AWS Lambda – Preise.

Flexibles Ressourcenmodell

Sie wählen die Größe des Arbeitsspeichers, die Sie Ihren Funktionen zuweisen möchten, und AWS Lambda weist proportional Rechenleistung, Netzwerkbandbreite und Datenträger-E/A zu.

Weitere Informationen zur AWS Lambda-Preisgestaltung finden Sie hier

Zur Seite mit den Preisen
Sind Sie startbereit?
Registrieren
Haben Sie Fragen?
Kontakt