Definition

AWS Lambda (Amazon Web Services Lambda)

AWS Lambda ist ein ereignisgesteuerter Cloud-Computing-Service von Amazon Web Services, mit dem Enwickler Funktionen auf einer Pay-per-Use-Basis programmieren können, ohne Speicher- oder Rechenressourcen zur Unterstützung bereitstellen zu müssen. Dies wird manchmal auch als Function-as-a-Service (FaaS) bezeichnet.

Vorteile

Einer der Hauptvorteile von AWS Lambda besteht darin, dass es Entwicklern und DevOps-Teams das Verwalten von Serverressourcen abnimmt. Mit AWS Lambda übernimmt Amazon die Serververwaltung, wodurch sich Entwickler mehr auf das Schreiben von Anwendungscode konzentrieren können.

AWS Lambda unterstützt eine Vielzahl von Programmiersprachen, darunter Node.js, Python, Java und C#. Entwickler können auch Compiler, wie Maven oder Gradle, und Pakete zum Erstellen von Funktionen verwenden.

Beschränkungen

AWS Lambda begrenzt die Menge an Rechen- und Speicherressourcen, die Sie zum Ausführen und Speichern von Funktionen verwenden können. Einschränkungen gelten pro Region und können erhöht werden. Um eine Erhöhung zu beantragen, verwenden Sie die Support Center-Konsole.

Arten von Services

AWS Lambda bietet Entwicklern verschiedene Services, die ineinandergreifen. Die AWS-Lambda-Konsole dient dazu, Benutzern die Überwachung und Verwaltung ihrer Lambda-Anwendungen zu erleichtern. Das Menü umfasst Stacks, die Sie in AWS CloudFormation über die Konsole, das AWS Serverless Application Repository, die AWS CLI (Kommandozeile, Command Line Interface) oder die AWS SAM CLI starten.

AWS-Lambda-Funktionen

Eine Funktion ist ein kleiner Teil eines Programms, der eine bestimmte Aufgabe ausführt. Entwickler verwenden AWS Lambda, um Funktionen als Reaktion auf bestimmte Ereignisse in anderen Amazon-Cloud-Services zu programmieren und auszuführen, zum Beispiel das Erstellen eines Objekts in einem Amazon-Simple-Storage-Service-Bucket. Jede Lambda-Funktion wird in einer isolierten Datenverarbeitungsumgebung mit eigenen Ressourcen und einer eigenen Ansicht des Dateisystems ausgeführt.

Wenn AWS-Lambda-Funktionen aufgerufen werden, werden die Speicher- und Rechenressourcen für diese Funktion gestartet.

Eigenschaften von AWS Lambda

Mit AWS Lambda können Sie Code ausführen, ohne Server bereitstellen oder verwalten zu müssen. Sie zahlen nur für die verbrauchte Rechenzeit; wenn Ihr Code nicht ausgeführt wird, fallen keine Kosten an.

Mit Lambda können Sie Code für praktisch jede Art von Anwendung oder Backend-Service ausführen. Laden Sie einfach Ihren Code hoch und Lambda kümmert sich um alles, was zum Ausführen und Skalieren Ihres Codes mit hoher Verfügbarkeit erforderlich ist. Sie können Ihren Code so einrichten, dass er automatisch von anderen AWS-Services ausgelöst wird, oder ihn direkt von einer beliebigen Web- oder Mobil-App aufrufen.

Was können Sie mit AWS Lambda erstellen?

Beispiele:

  • Webanwendungen: Durch die Kombination von AWS Lambda mit anderen AWS-Services können Entwickler Webanwendungen erstellen, die hoch- und herunterskaliert und in mehreren Rechenzentren ausgeführt werden können.
  • Mobile Backends: Sie können Backends mit AWS Lambda und Amazon API Gateway für die Authentifizierung und das Erfüllen von API-Anforderungen erstellen. Bustle führt zum Beispiel ein serverloses Backend für seine Bustle iOS-App und Websites mit AWS Lambda und Amazon API Gateway aus.
  • IoT-Backends: Sie können serverlose Backends mit AWS Lambda erstellen, um Web-, Mobil-, Internet-of-Things- und Drittanbieter-API-Anforderungen Internet der Dinge (Internet der Dinge, IoT) zu verarbeiten.
  • Datenänderungen: AWS kann Datenvalidierung, Filterfunktionen, Sortierfunktionen oder andere Datenänderungen in einer DynamoDB-Tabelle durchführen und die transformierten Daten in einen anderen Datenspeicher laden. DynamoDB, die NoSQL-Datenbank von Amazon, verwendet eine JSON-basierte Abfragesprache, und und ist in AWS Lambda integrierbar. Entwickler können daher eine Lambda-Funktion so konfigurieren, dass sie immer dann ausgelöst wird, wenn ihre DynamoDB-Tabelle eine Aktualisierung erhält. In einer Lambda-Funktion können sie Benachrichtigungen über Amazon SNS senden, in andere DynamoDB-Tabellen schreiben, Cognito-Identitätspools verwalten und noch viele andere Aktionen innerhalb von AWS durchführen.
  • Stream-Verarbeitung in Echtzeit: AWS Lambda und Amazon Kinesis können zur Verarbeitung von Echtzeit-Stream-Daten für die Verfolgung von Anwendungsaktivitäten, die Verarbeitung von Transaktionsaufträgen, die Analyse von Click-Streams, die Datenbereinigung, die Generierung von Metriken, die Protokollfilterung, die Indizierung, die Analyse sozialer Medien und die Telemetrie und Messung von IoT-Gerätedaten verwendet werden.

Wie Entwickler AWS Lambda verwenden

Entwickler können Funktionen über das Lambda-Dashboard, die CLI oder das Software Development Kit (SDK) abrufen, löschen, aktualisieren und überwachen. Der Service führt auch infrastrukturbezogene Aktivitäten durch, zum Beispiel die Wartung von Servern und Betriebssystemen, die Bereitstellung von Patches und das Protokollieren über AWS CloudWatch. Lambda unterstützt auch APIs von Drittanbietern für die Protokollierung, und Entwickler können benutzerdefinierte API-Endpunkte über den Amazon API Gateway-Service mit Lambda verbinden.

AWS Lambda@Edge

Mit Lambda@Edge-Service hat Amazon Serverless Computing zu AWS Lambda hinzugefügt. Das ermöglicht es Entwicklern, Lambda-Code an Edge-Standorten auszuführen, die geografisch näher an den Endbenutzern auf der ganzen Welt liegen, wodurch die Latenzen reduziert wird.

Amazon CloudFront-Ereignisse lösen AWS-Lambda@Edge-Funktionen aus, um standortspezifische Inhalte auszuführen und an Endbenutzer zu liefern. Lambda@Edge führt jedes Mal Code aus, wenn eine Funktion ausgelöst wird, und kann so entsprechend der Größe des Workloads skalieren. Entwickler können AWS Lambda@Edge verwenden, um HTTP-Antworten und Cookies zu verwalten, Netzwerkaufrufe zu tätigen und A/B-Tests durchzuführen.

AWS Lambda-Preise und kostenloser Funktionsumfang

Amazon stellt Benutzern die Anzahl der ausgeführten Anfragen und die für die Ausführung des Codes benötigte Rechenzeit in Rechnung, die in Schritten von 100 Millisekunden gemessen wird. Wenn eine Funktion nie aufgerufen wird, kostet sie den Entwickler nichts.

AWS Lambda ist mit einem kostenlosen Service-Tier verfügbar, das eine Million kostenlose Anforderungen und 400.000 Gigabyte-Sekunden Rechenzeit pro Monat umfasst. Amazon berechnet den Benutzern jede weitere Million Anforderungen. Innerhalb der zugehörigen AWS-Produkte können zusätzliche Gebühren anfallen.

Diese Definition wurde zuletzt im Februar 2021 aktualisiert

Erfahren Sie mehr über Cloud Computing

ComputerWeekly.de
Close