Eine Einführung in AWS Lambda für Anfänger

Lass uns die essenziellen Aspekte von AWS Lambda erforschen und Schritt für Schritt die Ausführung einer Funktion beleuchten.

Einführung

Bei der Entwicklung von Anwendungen ist ein herausragendes Benutzererlebnis von höchster Bedeutung. Um dies zu erreichen, benötigt Ihre Anwendung Backend-Code, der als Reaktion auf bestimmte Ereignisse aktiv wird.

Die Verwaltung der Infrastruktur für das Hosting und die Ausführung von Backend-Code erfordert jedoch das Einrichten, Bereitstellen und Skalieren von Servern, das Managen von Betriebssystem-Updates, das Anwenden von Sicherheitspatches und die Überwachung der gesamten Infrastruktur in Bezug auf Leistung und Verfügbarkeit.

Wäre es nicht ideal, wenn Sie sich voll und ganz auf die Entwicklung erstklassiger Anwendungen konzentrieren könnten, ohne sich Gedanken über die zugrunde liegende Infrastruktur machen zu müssen? Hier kommt AWS Lambda ins Spiel.

Was ist AWS Lambda?

AWS Lambda ist ein serverloser Computing-Service, der es Ihnen ermöglicht, Code auszuführen, ohne sich um die Bereitstellung oder Verwaltung von Servern kümmern zu müssen. Sie können Ihre Anwendung oder Ihren Backend-Service mit AWS Lambda ohne jeglichen Verwaltungsaufwand betreiben. Laden Sie einfach Ihren Code auf Lambda hoch, und dieser führt Ihren Code aus und skaliert die Infrastruktur bei Bedarf automatisch.

Der Code, den Sie auf AWS Lambda ausführen, wird als Lambda-Funktion bezeichnet. Der Dienst unterstützt derzeit eine Vielzahl von Programmiersprachen:

  • Java
  • Python
  • C#
  • Node.js
  • Go
  • PowerShell
  • Ruby

Zusätzlich bietet Lambda eine Laufzeit-API, die es ermöglicht, Funktionen in anderen (nativen) Programmiersprachen auszuführen.

Die einzige Voraussetzung für die Nutzung von AWS Lambda ist ein AWS-Konto, über das Sie auf die AWS-Managementkonsole zugreifen können.

AWS Lambda wird oft als FaaS (Function-as-a-Service) von AWS bezeichnet.

AWS Lambda-Funktionen

Nachfolgend sind einige der hervorstechenden Merkmale von AWS Lambda aufgeführt:

  • AWS Lambda skaliert die Infrastruktur mühelos ohne zusätzliche Konfiguration, wodurch der operative Aufwand reduziert wird.
  • Es bietet vielfältige Integrationsmöglichkeiten mit Diensten wie AWS S3, CloudWatch, DynamoDB, API Gateway, Kinesis, CodeCommit und vielen mehr, um Ereignisse auszulösen.
  • Es sind keine Vorabinvestitionen erforderlich; Sie zahlen nur für den von der Lambda-Funktion genutzten Speicher und die Anzahl der Anfragen, was es kosteneffizient macht.
  • AWS Lambda ist sicher, da es AWS IAM verwendet, um Rollen und Sicherheitsrichtlinien festzulegen.
  • Es gewährleistet Fehlertoleranz sowohl für den Code als auch für die Funktion selbst, sodass Sie sich keine Sorgen um die Anwendungsleistung machen müssen.

AWS Lambda-Preise

Die Preisgestaltung von AWS Lambda richtet sich nach der Dauer und dem Speicherverbrauch Ihrer Lambda-Funktion. Sie können einer Lambda-Funktion bis zu 3008 MB Arbeitsspeicher in 64-MB-Schritten zuweisen. Die folgende Tabelle gibt Ihnen einen Überblick über die Preisgestaltung für verschiedene Speichergrößen pro 100 Millisekunden.

Speicher (MB) Preis pro 100 ms
128 X
256 Y
512 Z

(Bitte beachten Sie: Die genauen Preise variieren und sollten auf der AWS-Website überprüft werden.)

Wie funktioniert AWS Lambda?

  • Zunächst erstellen Sie eine Funktion und konfigurieren sie mit grundlegenden Informationen wie der Programmiersprache.
  • Dann schreiben Sie Ihren Code direkt im Lambda-Editor oder laden ihn als ZIP-Datei in einer unterstützten Programmiersprache hoch.
  • Nachdem der Code hochgeladen ist, übernimmt der Dienst die Kapazitätsskalierung, das Patchen und die gesamte Infrastrukturverwaltung.
  • Um den Code auszuführen, muss die Lambda-Funktion durch einen externen AWS-Dienst ausgelöst werden, der die Funktion aufrufen kann, beispielsweise durch einen S3-Bucket.
  • Innerhalb weniger Augenblicke ist Lambda bereit, Ihre Funktion automatisch auszulösen, wenn ein Ereignis eintritt. AWS Lambda führt Ihren Code aus, wenn das Triggerereignis ausgelöst wird, und verwaltet sowie überwacht die Server.
  • Wenn Ihre Funktion viel Rechenleistung erfordert, wählt Lambda einen Instanztyp mit mehr Rechenleistung und RAM. Läuft der Code nur kurz, wird der niedrigste Instanztyp gewählt, was Zeit und Geld spart.

Dies ist der interne Ablauf von AWS Lambda. Im Folgenden zeige ich Ihnen eine kurze Demonstration von AWS Lambda.

Erstellen einer AWS Lambda-Funktion

Für diese Demonstration werde ich eine sehr einfache Lambda-Funktion in Node.js entwickeln, die einen Würfelwurf simuliert. Die Funktion generiert eine Zufallszahl zwischen 1 und 6 und gibt diese aus.

  • Navigieren Sie zur AWS-Managementkonsole, geben Sie „Lambda“ in die Suchleiste ein und klicken Sie auf den Lambda-Dienst.

  • Im Funktionsfenster wählen Sie „Funktion erstellen“.

  • Sie erhalten verschiedene Optionen zum Erstellen einer Funktion. Da wir diese von Grund auf neu erstellen, wählen wir „Von Grund auf neu erstellen“.

  • Danach müssen Sie erforderliche Informationen für die Lambda-Funktion angeben. Geben Sie einen Funktionsnamen ein und wählen Sie die Node.js-Version aus.
  • Sie müssen auch eine Ausführungsrolle auswählen. Da ich keine Rolle definiert habe, wähle ich „Neue Rolle erstellen“ und klicke auf „Funktion erstellen“.

  • Nach erfolgreicher Erstellung wird eine Erfolgsmeldung angezeigt. Klicken Sie auf das Designer-Fenster, um es zu minimieren.

  • Als Nächstes wird das Funktionscode-Fenster angezeigt.
  • Fügen Sie den untenstehenden Code in den Editor ein. Alternativ können Sie den Code als ZIP-Datei hochladen, aber ich verwende den internen AWS-Code-Editor.

  • Der Code ist einfach: er wählt eine Zahl zwischen 1 und 6, verwendet eine zufällige mathematische Funktion und gibt das Ergebnis aus.
exports.handler = async (event) => {
  const min = 1;
  const max = 6;
  const randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
  const out="Würfelwurfergebnis ist: " + randomNum;
  return out;
};
  • Klicken Sie auf „Test“ in der oberen rechten Ecke. Es erscheint ein Popup, um ein Testereignis zu konfigurieren. Geben Sie einen Ereignisnamen ein und klicken Sie auf „Konfigurieren“.

  • Klicken Sie auf „Speichern“ und dann auf „Testen“.

Im Ausführungsergebnis sehen Sie die Ausgabe der von uns geschriebenen Logik. Es sollte beispielsweise „Würfelwurfergebnis ist: 2“ ausgeben.

  • Scrollen Sie nach oben und klicken Sie auf „Detaillierte Ausführungsergebnisse“, um eine umfassende Zusammenfassung dieser Lambda-Funktion zu erhalten, einschließlich der erwarteten Ausgabe. Details wie Anforderungs-ID, Dauer, abgerechnete Dauer, konfigurierte Ressourcen und Protokollausgaben sind ebenfalls verfügbar.

  • Klicken Sie auf die Registerkarte „Überwachung“, um die CloudWatch-Überwachungsprotokolle und die Leistung der Lambda-Funktion über einen bestimmten Zeitraum zu analysieren.

  • Wenn Sie die CloudWatch-Protokolle genauer untersuchen, können Sie Details über den Ablauf der Funktion während der Ausführung einsehen, die von CloudWatch überwacht werden.

Fazit

Der Einstieg in Lambda ist wirklich einfach. Wenn Ihre Geschäftsanwendung Backend-Code benötigt, sollten Sie eine serverlose Plattform wie AWS Lambda in Betracht ziehen.

Hat Ihnen dieser Artikel gefallen? Teilen Sie ihn gerne mit anderen!