Was ist AWS Lambda? - AWS Lambda

Was ist AWS Lambda?

AWS Lambda ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Lambda führt Ihren Code auf einer hochverfügbaren Recheninfrastruktur aus und führt die gesamte Verwaltung der Rechenressourcen durch, einschließlich Server- und Betriebssystemwartung, Kapazitätsbereitstellung und automatischer Skalierung sowie Protokollierung. Mit Lambda können Sie Code für praktisch jede Art von Anwendung oder Backend-Service ausführen. Sie müssen lediglich Ihren Code in einer der von Lambda unterstützten Sprachen angeben.

Sie organisieren Ihren Code in Lambda-Funktionen. Lambda führt Ihre Funktion nur bei Bedarf aus und skaliert automatisch – von einigen Anforderungen pro Tag bis zu Tausenden pro Sekunde. Sie bezahlen nur für die Datenverarbeitungszeit, die Sie wirklich nutzen und es werden keine Gebühren in Rechnung gestellt, wenn Ihr Code nicht ausgeführt wird. Weitere Informationen finden Sie unter Preise zu AWS Lambda.

Lambda ist ein Service mit hoher Verfügbarkeit. Weitere Informationen finden Sie unter AWS Lambda Lambda Service Level Agreement.

Anmerkung

Im AWS Lambda-Entwicklerhandbuch gehen wir davon aus, dass Sie Erfahrung mit dem Codieren, Kompilieren und Bereitstellen von Programmen mit einer der von Lambda unterstützten Sprachen haben.

Verwendung von Lambda

Lambda ist ein idealer Datenverarbeitungsservice für viele Anwendungsszenarien, sofern Sie Ihren Anwendungscode in Sprachen in der Lambda-Standardlaufzeitumgebung sowie mit den von Lambda bereitgestellten Ressourcen ausführen können. Sie können Lambda beispielsweise für Folgendes verwenden:

  • Dateiverarbeitung: Verwenden Sie Amazon Simple Storage Service (Amazon S3), um die Lambda-Datenverarbeitung nach einem Upload in Echtzeit auszulösen.

  • Stream-Verarbeitung: Verwenden Sie Lambda und Amazon Kinesis zur Verarbeitung von Echtzeit-Streaming-Daten für Verfolgung von Anwendungsaktivitäten, Verarbeitung von Transaktionsaufträgen, Clickstream-Analyse, Datenbereinigung, Protokollfilterung, Indizierung, Social-Media-Analyse, Internet of Things (IoT)-Gerätedatentelemetrie und Messung.

  • Webanwendungen: Kombinieren Sie Lambda mit anderen AWS-Services, um leistungsstarke Webanwendungen zu erstellen, die automatisch hoch- und herunterskaliert und in einer hochverfügbaren Konfiguration über mehrere Rechenzentren hinweg ausgeführt werden.

  • IoT-Backends: Erstellen Sie Serverless-Backends mit Lambda, um Web-, Mobil-, IoT- und API-Anfragen von Drittanbietern zu verarbeiten.

  • Mobile Backends: Erstellen Sie Backends mit Lambda und Amazon API Gateway, um API-Anfragen zu authentifizieren und zu verarbeiten. Verwenden Sie AWS Amplify, um Ihr Backend einfach in Ihre iOS-, Android-, Web- und React-Native-Frontends zu integrieren.

Wenn Sie Lambda verwenden, sind Sie nur für Ihren Code verantwortlich. Lambda verwaltet die Computing-Flotte, die ein ausgewogenes Verhältnis von Arbeitsspeicher, CPU, Netzwerk und anderen Ressourcen bietet, um Ihren Code auszuführen. Da Lambda diese Ressourcen verwaltet, können Sie sich nicht bei Computing-Instances anmelden oder das Betriebssystem in bereitgestellten Laufzeiten anpassen. Lambda führt in Ihrem Namen operative und administrative Aktivitäten durch, einschließlich der Verwaltung von Kapazität, Überwachung und Protokollierung Ihrer Lambda-Funktionen.

Wenn Sie Ihre eigenen Datenverarbeitungsressourcen verwalten müssen, bietet AWS auch andere Datenverarbeitungsservices zur Befriedigung Ihrer Bedürfnisse an. Zum Beispiel:

  • Amazon Elastic Compute Cloud (Amazon EC2) bietet eine breite Palette an EC2-Instance-Typen, aus denen Sie wählen können. Sie können damit Betriebssysteme, Netzwerk- und Sicherheitseinstellungen sowie den gesamten Software-Stack anpassen. Sie sind verantwortlich für die Bereitstellung von Kapazität, die Überwachung des Zustands und der Leistung der Flotte und die Verwendung von Availability Zones für Fehlertoleranz.

  • AWS Elastic Beanstalk ermöglicht es Ihnen, Anwendungen bereitzustellen und auf Amazon EC2 zu skalieren. Sie behalten das Eigentum und die volle Kontrolle über die zugrunde liegenden EC2-Instances.

Lambda-Funktionen

Die folgenden Hauptfunktionen helfen Ihnen bei der Entwicklung von Lambda-Anwendungen, die skalierbar, sicher und leicht erweiterbar sind:

Gleichzeitigkeit und Skalierungskontrollen

Gleichzeitigkeit und Skalierungskontrollen wie Gleichzeitigkeitsbeschränkungen und bereitgestellte Gleichzeitigkeit verschaffen Ihnen eine präzise Kontrolle über die Skalierung und Reaktionsfähigkeit Ihrer Produktionsanwendungen.

Als Container-Images definierte Funktionen

Verwenden Sie Ihre bevorzugten Container-Image-Tools, Workflows und Abhängigkeiten, um Ihre Lambda-Funktionen zu erstellen, zu testen und bereitzustellen.

Codesignatur

Code Signing for Lambda bietet Vertrauens- und Integritätskontrollen, mit denen Sie überprüfen können, ob nur von genehmigten Entwicklern veröffentlichter unveränderter Code in Ihren Lambda-Funktionen bereitgestellt wird.

Lambda-Erweiterungen

Sie können Lambda-Erweiterungen verwenden, um Ihre Lambda-Funktionen zu erweitern. Verwenden Sie beispielsweise Erweiterungen, um Lambda einfacher in Ihre bevorzugten Überwachungs-, Beobachtbarkeits-, Sicherheits und Governance-Tools zu integrieren.

Funktionsentwürfe

Ein Funktions-Entwurf enthält Beispielcode, der zeigt, wie man Lambda mit anderen AWS-Services oder Drittanbieteranwendungen verwendet. Entwürfe enthalten Beispielcode und Funktionskonfigurationsvoreinstellungen für Node.js- und Python-Laufzeiten.

Zugriff auf die Datenbank

Ein Datenbank-Proxy verwaltet einen Pool von Datenbankverbindungen und leitet Abfragen von einer Funktion weiter. So kann eine Funktion hohe Gleichzeitigkeit ohne überlastende Datenbankverbindungen erreichen.

Zugriff auf Dateisysteme

Sie können eine Funktion konfigurieren, um eine Bindungsbereitstellung für ein Amazon-Elastic-File-System (Amazon EFS)-Dateisystem in einem lokalen Verzeichnis zu erstellen. Mit Amazon EFS kann Ihr Funktionscode auf freigegebene Ressourcen sicher und mit hoher Nebenläufigkeit zugreifen und diese ändern.

Erste Schritte mit Lambda

Um effektiv mit Lambda arbeiten zu können, benötigen Sie Programmiererfahrung und Fachwissen in den folgenden Bereichen:

  • Linux OS und Befehle sowie Konzepte wie Prozesse, Threads und Dateiberechtigungen.

  • Vertrautheit mit Sicherheitsservices und -konzepten: AWS Identity and Access Management (IAM) und Zugangskontrollprinzipien sowie AWS Key Management Service (AWS KMS) und öffentlicher Schlüsselinfrastruktur.

  • Cloud-Konzepte und IP-Netzwerkkonzepte (für öffentliche und private Netzwerke).

  • Verteilte Datenverarbeitungs-Konzepte wie Warteschlangen, Messaging, Benachrichtigungen und Gleichzeitigkeit.

Wenn Sie Lambda zum ersten Mal verwenden, empfehlen wir Ihnen, die Lambda-Produktübersicht zu lesen und dann die Erste Schritte-Übung abzuschließen.