AWS Lambda Tutorial: Ihr Leitfaden für Amazon Serverless Computing



Dieses AWS Lambda-Lernprogramm beschreibt die Serverless Compute Platform von AWS und enthält Details zur Lambda-Funktion, zur Ereignisquelle und zur Lambda-Preisgestaltung mit einem Anwendungsfall.

AWS Lambda Tutorial

Heute werden wir über AWS Lambda sprechen. AWS Lambda ist ein von Amazon angebotener Rechendienst. Sie müssen neugierig sein, da es mehrere andere Rechendienste von AWS gibt, wie z. B. AWS EC2, AWS Elastic Beanstalk, AWS Opsworks usw. Warum dann ein anderer Rechendienst? In diesem AWS Lambda-Tutorial erfahren Sie, was AWS Lambda ist, warum es verwendet wird und in welchen Anwendungsfällen Sie es in Betracht ziehen sollten.

Lassen Sie uns sehen, wie Amazon AWS Lambda definiert, und dann werden wir uns eingehend mit den Schlüsselkonzepten befassen und am Ende einen Anwendungsfall mit praktischen Übungen verstehen.





Lambda Serverless Computing - aws Lambda-Tutorial

Fragen zum Interview mit dem Java Class Loader

Was ist AWS Lambda?

Amazon erklärt, dass AWS Lambda (& lambda) ein 'serverloser' Rechendienst ist, dh die Entwickler müssen sich keine Gedanken darüber machen, welche AWS-Ressourcen gestartet werden sollen oder wie sie verwaltet werden sollen. Sie setzen den Code einfach auf Lambda und es wird ausgeführt So einfach ist das! Es hilft Ihnen, sich auf die Kernkompetenz zu konzentrieren, d. H. App Building oder den Code.



Wo werde ich AWS Lambda verwenden?

AWS Lambda führt Ihren Backend-Code aus, indem die AWS-Ressourcen automatisch verwaltet werden. Wenn wir 'Verwalten' sagen, umfasst dies das Starten oder Beenden von Instanzen, Integritätsprüfungen, automatische Skalierung, Aktualisierung oder das Patchen neuer Updates usw.

Wie funktioniert es?

Der Code, den Lambda ausführen soll, wird als a bezeichnet Lambda-Funktion . Wie wir wissen, wird eine Funktion nur ausgeführt, wenn sie aufgerufen wird, oder? Hier, Ereignisquelle ist die Entität, die eine Lambda-Funktion auslöst, und dann wird die Aufgabe ausgeführt.

Nehmen wir ein Beispiel, um es klarer zu verstehen.



Angenommen, Sie haben eine App zum Hochladen von Bildern. Wenn Sie jetzt ein Bild hochladen, sind vor dem Speichern viele Aufgaben erforderlich, z. B. Größenänderung, Anwenden von Filtern, Komprimierung usw.

Diese Aufgabe des Hochladens eines Bildes kann also als definiert werden Ereignisquelle oder der 'Trigger', der die Lambda-Funktion aufruft, und dann können alle diese Aufgaben über die Lambda-Funktion ausgeführt werden.

In diesem Beispiel muss ein Entwickler nur die Ereignisquelle definieren und den Code hochladen.

Lassen Sie uns dieses Beispiel jetzt mit echten AWS-Ressourcen verstehen.

Abb. Lambda-Anwendungsfall mit S3

Hier werden wir Bilder in Form von Objekten in einen S3-Bucket hochladen. Dieses Hochladen eines Bildes in den S3-Bucket wird zur Ereignisquelle oder zum Auslöser.

Wie Sie im Diagramm sehen können, ist der gesamte Prozess in fünf Schritte unterteilt. Lassen Sie uns jeden einzelnen Schritt verstehen.

  1. Der Benutzer lädt ein Bild (Objekt) für Lambda in einen Quell-Bucket in S3 hoch, an den eine Benachrichtigung angehängt ist.
  2. Die Benachrichtigung wird von S3 gelesen und entscheidet, wohin diese Benachrichtigung gesendet werden soll.
  3. S3 sendet die Benachrichtigung an Lambda. Diese Benachrichtigung fungiert als Aufruf der Lambda-Funktion.
  4. Die Ausführungsrolle in Lambda kann mithilfe von IAM (Identity and Access Management) definiert werden, um die Zugriffsberechtigung für die AWS-Ressourcen zu erteilen. In diesem Beispiel wäre dies S3.
  5. Schließlich wird die gewünschte Lambda-Funktion aufgerufen, die für das Objekt funktioniert, das in den S3-Bucket hochgeladen wurde.

Wenn Sie dieses Szenario traditionell zusammen mit der Entwicklung lösen würden, hätten Sie Mitarbeiter für die Verwaltung der folgenden Aufgaben eingestellt:

  • Größe, Bereitstellung und Skalierung einer Gruppe von Servern
  • Verwalten von Betriebssystemupdates
  • Wenden Sie Sicherheitspatches und an
  • Überwachen Sie die gesamte Infrastruktur auf Leistung und Verfügbarkeit.

Dies wäre eine teure, mühsame und mühsame Aufgabe gewesen, daher ist die Notwendigkeit von AWS Lambda gerechtfertigt.AWS Lambda ist kompatibel mit Node.JS, Python und Java, sodass Sie Ihre Datei in einer Zip-Datei hochladen, eine Ereignisquelle definieren und fertig sind!

Sie können mehr darüber lesen S3 AWS hier für ein tieferes Verständnis.

Wir wissen jetzt -Wie Lambda funktioniert undWas Lambda tut s .

N.Nun, lass uns verstehen.

  • Wo kann man Lambda verwenden?
  • Welchen Zweck erfüllt Lambda?andere AWS Compute-Services nicht?

Wenn Sie eine Lösung für ein Problem entwickeln möchten, sollten Sie in der Lage sein, festzustellen, wo Lambda verwendet werden soll, oder?

Als Architekt haben Sie also folgende Möglichkeiten, eine Aufgabe auszuführen:

  • AWS EC2
  • AWS Elastic Beanstalk
  • AWS OpsWorks
  • AWS Lambda

Nehmen wir den obigen Anwendungsfall als Beispiel und verstehen, warum wir Lambda ausgewählt haben, um ihn zu lösen.

AWS OpsWorks und AWS ElasticBeanstalk werden zum Bereitstellen einer App verwendet, daher ist dies unser Anwendungsfall nicht um eine App zu erstellen , aber um einen Back-End-Code auszuführen.

Warum dann nicht EC2?

Wenn Sie EC2 verwenden würden, müssten Sie alles entwickeln, d. H. Load Balancer, EBS-Volumes, Software-Stacks usw. In Lambda müssen Sie sich um nichts kümmern, geben Sie einfach Ihren Code ein, und AWS verwaltet den Rest!

hat ein vs ist ein Java

Beispielsweise In EC2 würden Sie die Softwarepakete auf Ihrer virtuellen Maschine installieren, die Ihren Code unterstützen. In Lambda müssen Sie sich jedoch keine Gedanken über eine VM machen. Fügen Sie einfach einfachen Code ein, und Lambda führt ihn für Sie aus.

Wenn Ihr Code jedoch stundenlang ausgeführt wird und Sie einen kontinuierlichen Strom von Anforderungen erwarten, sollten Sie sich wahrscheinlich für EC2 entscheiden, da die Architektur von Lambda für eine sporadische Art von Arbeitslast ausgelegt ist, bei der es einige ruhige Stunden und einige Spitzen geben wird in der Nr. von Anfragen auch.

Beispielsweise Wenn Sie die E-Mail-Aktivität beispielsweise für ein kleines Unternehmen protokollieren, werden tagsüber mehr Aktivitäten als nachts angezeigt. Außerdem kann es Tage geben, an denen weniger E-Mails verarbeitet werden müssen, und manchmal kann die ganze Welt anfangen, Ihnen E-Mails zu senden. In beiden Fällen steht Ihnen Lambda zur Verfügung.

In Anbetracht dieses Anwendungsfalls für ein großes Unternehmen für soziale Netzwerke, bei dem die E-Mails niemals enden, weil sie eine große Benutzerbasis haben, ist Lambda möglicherweise nicht die richtige Wahl.

Sie können mehr darüber lesen EC2 AWS hier für ein tieferes Verständnis.

Einschränkungen von AWS Lambda

Einige Einschränkungen sind hardwarespezifisch und andere an die Architektur gebunden. Lassen Sie uns alle diskutieren.

Hardwareeinschränkungen Wenn die Festplattengröße auf 512 MB begrenzt ist, kann der Speicher zwischen 128 MB und 1536 MB variieren. Dann gibt es noch einige andere, z. B. kann das Ausführungszeitlimit auf nur 5 Minuten maximiert werden, die Nutzlast Ihres Anforderungshauptteils darf nicht mehr als 6 MB betragen und Ihr Anforderungshauptteil beträgt 128 KB. Die Nutzdaten des Anforderungshauptteils entsprechen den Daten, die Sie mit einer 'GET' - oder 'PUT' -Anforderung in HTTP senden, wobei der Anforderungshauptteil die Art der Anforderung, die Header usw. sein würde.

Dies sind eigentlich keine Einschränkungen, sondern die Entwurfsgrenzen, die in der Architektur von Lambda festgelegt wurden. Wenn Ihr Anwendungsfall nicht zu diesen passt, stehen Ihnen immer die anderen AWS-Rechendienste zur Verfügung.

In diesem AWS Lambda-Tutorial haben wir besprochen, dass das Ausführen von Aufgaben in Lambda „nicht“ mühsam und mühsam ist. Lassen Sie uns nun auch den Kostenteil abdecken.

Preisgestaltung in AWS Lambda

Wie die meisten AWS-Services ist auch AWS Lambda ein Pay-per-Use-Service. Dies bedeutet, dass Sie nur das bezahlen, was Sie verwenden. Daher werden Ihnen die folgenden Parameter in Rechnung gestellt

  • Die Anzahl der Anfragen dass Sie zu Ihrer Lambda-Funktion machen
  • Das Dauer für die Ihr Code ausgeführt wird.

Anfragen

  • Ihnen wird die Anzahl der Anfragen berechnet, die Sie für alle Ihre Lambda-Funktionen stellen.
  • AWS Lambda zählt eine Anforderung jedes Mal, wenn sie als Antwort auf eine Ereignisquelle oder einen Aufruf ausgeführt wird, einschließlich des Testaufrufs über die Konsole. Schauen wir uns jetzt die Preise an:
    • Die ersten 1 Million Anfragen sind jeden Monat kostenlos.
    • Danach 0,20 USD pro Million Anfragen.

Dauer

  • Die Dauer wird vom Beginn der Ausführung Ihres Codes bis zu seiner Rückkehr oder Beendigung berechnet und auf die nächsten 100 ms aufgerundet.
  • Der Preis hängt von der Speichermenge ab, die Sie Ihrer Funktion zuweisen. Für jede verwendete GB-Sekunde werden 0,00001667 USD berechnet.

* Quelle: Offizielle AWS-Website

Wenn Sie bis hierher angekommen sind, sind Sie bereit für ein Hands-on in Lambda. Lassen Sie uns etwas Spaß haben!

Praktisch: AWS Lambda DIY

Erstellen Sie eine Lambda-Funktion, die protokolliert, dass ein Objekt zu einem bestimmten Bucket in S3 hinzugefügt wurde.

Schritt 1: Wählen Sie in der AWS Management Console im Abschnitt 'Berechnen' die Option 'AWS Lambda' aus.

Schritt 2: Klicken Sie in der AWS Lambda-Konsole auf „Lambda-Funktion erstellen“.

Schritt 3: Auf der nächsten Seite müssen Sie eine Blaupause auswählen. Zum Beispiel werden wir die leere Funktion für unseren Anwendungsfall auswählen.

Schritt 4: Auf der nächsten Seite werden Sie (1) einen Trigger setzen, da wir an S3 arbeiten werden, (2) den S3-Trigger auswählen und dann (3) auf Weiter klicken.

Schritt 5: Geben Sie auf der Konfigurationsseite die Details ein. Sie können Ihren eigenen Code eingeben oder denselben Code aus diesem Anwendungsfall kopieren. Füllen Sie danach den Handler und die Rolle aus, lassen Sie die erweiterten Einstellungen unverändert und klicken Sie am Ende auf Weiter.

servicenow tutorial für anfänger pdf

Schritt 6: Überprüfen Sie auf der nächsten Seite alle Informationen und klicken Sie auf 'Funktion erstellen'.

Schritt 7: Da wir die Funktion für den S3-Bucket erstellt haben, sollten Sie in dem Moment, in dem Sie Ihrem S3-Bucket eine Datei hinzufügen, in CloudWatch, einem Überwachungsdienst von AWS, ein Protokoll dafür erhalten.

Herzliche Glückwünsche!Sie haben die Lambda-Funktion erfolgreich ausgeführt.

Ich hoffe, Ihnen hat das tiefe Eintauchen in das AWS Lambda Tutorial gefallen. Es ist einer der begehrtesten Wissensbereiche im AWS-Ökosystem für Stellen wie Solutions Architect, Cloud Engineer und DevOps Engineer. Hier ist eine Sammlung von um Sie auf Ihr nächstes AWS-Vorstellungsgespräch vorzubereiten.

Wenn Sie dieses AWS Lambda-Tutorial für relevant befunden haben, können Sie sich Edurekas Live- und Kursleiter-Kurs ansehen , von Industriepraktikern mitgeschaffen.

Hast du eine Frage an uns? Bitte erwähnen Sie es in den Kommentaren und wir werden uns bei Ihnen melden.