Τι είναι το AWS Lambda; Λειτουργία λάμδα με παραδείγματα

Πίνακας περιεχομένων:

Anonim

Πριν από τη λειτουργία AWS Lambda, ας καταλάβουμε:

Τι είναι χωρίς διακομιστή;

Χωρίς διακομιστή είναι ένας όρος που γενικά αναφέρεται σε εφαρμογές χωρίς διακομιστή. Οι εφαρμογές χωρίς διακομιστές είναι αυτές που δεν χρειάζονται καμία παροχή διακομιστή και δεν απαιτούν διαχείριση διακομιστών.

Τι είναι το AWS Lambda;

Το AWS Lambda είναι μια πλατφόρμα υπολογιστών χωρίς διακομιστές που παρέχεται από την Amazon και παρέχεται από το Amazon Web Services. Επομένως, δεν χρειάζεται να ανησυχείτε για τους πόρους AWS που θα ξεκινήσετε ή πώς θα τα διαχειριστείτε. Αντ 'αυτού, πρέπει να βάλετε τον κωδικό στο Lambda και τρέχει.

Στο AWS Lambda ο κώδικας εκτελείται με βάση την απόκριση συμβάντων σε υπηρεσίες AWS, όπως προσθήκη / διαγραφή αρχείων σε κάδο S3, αίτημα HTTP από την πύλη Amazon API κ.λπ. Ωστόσο, το Amazon Lambda μπορεί να χρησιμοποιηθεί μόνο για την εκτέλεση εργασιών φόντου.

Η λειτουργία AWS Lambda σάς βοηθά να εστιάζετε στη βασική σας λογική προϊόντων και επιχειρήσεων αντί να διαχειρίζεστε τον έλεγχο πρόσβασης του λειτουργικού συστήματος (OS), την επιδιόρθωση OS, το σωστό μέγεθος, την παροχή, την κλιμάκωση κ.λπ.

Σε αυτό το σεμινάριο AWS Lambda για αρχάριους, θα μάθετε:

  • Πώς λειτουργεί το AWS Lambda;
  • Εκδηλώσεις που προκαλούν AWS Lambda
  • AWS Lambda Concepts
  • AWS Lambda VS AWS EC2
  • AWS Lambda VS AWS Elastic Beanstalk
  • Χρησιμοποιήστε Θήκες AWS Lambda
  • Βέλτιστες πρακτικές λειτουργίας Lambda
  • Πότε να μην χρησιμοποιείτε το AWS Lambda
  • Πλεονεκτήματα της χρήσης AWS Lambda
  • Περιορισμοί του AWS Lambda

Πώς λειτουργεί το AWS Lambda;

Το ακόλουθο παράδειγμα AWS Lambda με διάγραμμα μπλοκ εξηγεί τη λειτουργία του AWS Lambda σε μερικά εύκολα βήματα:

Βήμα 1: Πρώτα ανεβάστε τον κωδικό AWS Lambda σε οποιαδήποτε γλώσσα υποστηρίζεται από το AWS Lambda. Οι Java, Python, Go και C # είναι μερικές από τις γλώσσες που υποστηρίζονται από τη λειτουργία AWS Lambda.

Βήμα 2: Αυτές είναι μερικές υπηρεσίες AWS που σας επιτρέπουν να ενεργοποιήσετε το AWS Lambda.

Βήμα 3: Το AWS Lambda σάς βοηθά να ανεβάσετε κώδικα και τις λεπτομέρειες του συμβάντος στις οποίες θα πρέπει να ενεργοποιηθεί.

Βήμα 4: Εκτελεί τον κωδικό AWS Lambda όταν ενεργοποιείται από υπηρεσίες AWS:

Βήμα 5: Το AWS χρεώνεται μόνο όταν εκτελείται ο κωδικός AWS lambda και όχι διαφορετικά.

Αυτό θα συμβεί στα ακόλουθα σενάρια:

  • Ανεβάστε αρχεία σε έναν κάδο S3
  • Όταν πατηθεί το HTTP λήψης / δημοσίευσης τελικού σημείου
  • Για προσθήκη / τροποποίηση και διαγραφή πινάκων Dynamo DB
  • Στη διαδικασία συλλογής ροών δεδομένων
  • Ειδοποίηση push
  • Φιλοξενία ιστότοπου
  • Αποστολή email

Σημείωση: Πρέπει να θυμάστε ότι θα χρεώνεστε για υπηρεσίες AWS μόνο όταν εκτελείται ο κωδικός AWS Lambda, αλλιώς δεν χρειάζεται να πληρώσετε τίποτα.

Εκδηλώσεις που προκαλούν AWS Lambda

Εδώ είναι τα συμβάντα που θα ενεργοποιηθούν όταν χρησιμοποιείτε το AWS Lambda.

  • Εισαγωγή, ενημέρωση και διαγραφή δεδομένων Dynamo DB πίνακα
  • Για να συμπεριλάβετε ειδοποιήσεις push στο SNS
  • Για αναζήτηση ιστορικού καταγραφής στο CloudTrail
  • Είσοδος σε αντικείμενο S3
  • Το DynamoDB μπορεί να ενεργοποιήσει το AWS Lambda όποτε υπάρχουν δεδομένα που προστίθενται, τροποποιούνται και διαγράφονται στον πίνακα.
  • Σας βοηθά να προγραμματίσετε την εκδήλωση για να εκτελέσετε την εργασία σε κανονικό χρονοδιάγραμμα.
  • Τροποποιήσεις αντικειμένων σε κάδους S3
  • Ειδοποιήσεις που στάλθηκαν από το Amazon SNS.
  • Το AWS Lambda μπορεί να χρησιμοποιηθεί για την επεξεργασία των αρχείων καταγραφής CloudTrail
  • Το API Gateway σάς επιτρέπει να ενεργοποιήσετε το AWS Lambda σε μεθόδους GET / POST.

AWS Lambda Concepts

Λειτουργία:

Μια συνάρτηση είναι ένα πρόγραμμα ή ένα σενάριο που εκτελείται στο AWS Lambda. Η Lambda μεταβιβάζει συμβάντα επίκλησης στη λειτουργία σας, η οποία επεξεργάζεται ένα συμβάν και επιστρέφει την απόκρισή του.

Χρόνοι εκτέλεσης:

Το Runtime επιτρέπει λειτουργίες σε διάφορες γλώσσες που εκτελούνται στο ίδιο περιβάλλον εκτέλεσης βάσης. Αυτό σας βοηθά να διαμορφώσετε τη λειτουργία σας στο χρόνο εκτέλεσης. Ταιριάζει επίσης με την επιλεγμένη γλώσσα προγραμματισμού.

Πηγή συμβάντος:

Μια πηγή συμβάντος είναι μια υπηρεσία AWS, όπως το Amazon SNS ή μια προσαρμοσμένη υπηρεσία. Αυτή η λειτουργία ενεργοποίησης σάς βοηθά να εκτελέσετε τη λογική της.

Επίπεδα Lambda:

Τα επίπεδα λάμδα είναι ένας σημαντικός μηχανισμός διανομής για βιβλιοθήκες, προσαρμοσμένους χρόνους εκτέλεσης και άλλες σημαντικές εξαρτήσεις λειτουργιών. Αυτό το στοιχείο AWS σας βοηθά επίσης να διαχειρίζεστε τον κωδικό λειτουργίας ανάπτυξης ξεχωριστά από τον αμετάβλητο κώδικα και τους πόρους που χρησιμοποιεί.

Ροές καταγραφής:

Η ροή καταγραφής σας επιτρέπει να σχολιάσετε τον κωδικό λειτουργίας σας με προσαρμοσμένες δηλώσεις καταγραφής που σας βοηθούν να αναλύσετε τη ροή εκτέλεσης και την απόδοση των λειτουργιών AWS Lambda.

Πώς να χρησιμοποιήσετε το AWS Lambda

Τώρα, θα μάθουμε πώς να χρησιμοποιούμε το AWS Lambda με το AWS Lambda παράδειγμα:

Βήμα 1 ) Πηγαίνετε https://aws.amazon.com/lambda/ και ξεκινήστε

Βήμα 2 ) Δημιουργήστε έναν λογαριασμό ή συνδεθείτε με τον υπάρχοντα λογαριασμό σας

Βήμα 3 ) Στην επόμενη σελίδα Lambda,

  1. Επεξεργαστείτε τον κωδικό
  2. Κάντε κλικ στο Εκτέλεση

Βήμα 4 ) Θα δείτε την έξοδο

AWS Lambda VS AWS EC2

Εδώ είναι μερικές σημαντικές διαφορές μεταξύ AWS Lambda και EC2.

Παράμετροι AWS Λάμδα AWS EC2
Ορισμός Το AWS Lambda είναι μια πλατφόρμα ως υπηρεσία (PaaS). Σας βοηθά να εκτελέσετε και να εκτελέσετε τον κώδικα backend. Το AWS EC2 είναι μια υποδομή ως υπηρεσία (laaS). Παρέχει εικονικούς πόρους υπολογιστών.
Ευκαμψία Δεν προσφέρει ευελιξία για να συνδεθείτε για τον υπολογισμό παρουσιών. Σας επιτρέπει να επιλέξετε ένα προσαρμοσμένο λειτουργικό σύστημα ή χρόνο εκτέλεσης γλώσσας. Προσφέρει την ευελιξία επιλογής της ποικιλίας των παρουσιών, των συστημάτων προσαρμοσμένης λειτουργίας, των ενημερώσεων ασφαλείας και του δικτύου κ.λπ.
Διαδικασία εγκατάστασης Πρέπει να επιλέξετε το περιβάλλον σας όπου θέλετε να εκτελέσετε τον κωδικό και να μετακινήσετε τον κωδικό στο AWS Lambda. Για πρώτη φορά στο EC2, πρέπει να επιλέξετε το λειτουργικό σύστημα και να εγκαταστήσετε όλο το λογισμικό που απαιτείται και στη συνέχεια να πατήσετε τον κωδικό σας στο EC2.
Περιορισμοί στο περιβάλλον Περιορίζεται σε λίγες γλώσσες. Χωρίς περιορισμούς περιβάλλοντος.

AWS Lambda VS AWS Elastic Beanstalk

Εδώ είναι μερικές σημαντικές διαφορές μεταξύ AWS Lambda και Elastic Beanstalk.

Παράμετροι AWS Elastic Beanstalk AWS Λάμδα
Κύρια δραστηριότητα Αναπτύξτε και διαχειριστείτε τις εφαρμογές στο AWS Cloud χωρίς να ανησυχείτε για την υποδομή που εκτελεί αυτές τις εφαρμογές. Το AWS Lambda χρησιμοποιείται για την εκτέλεση και την εκτέλεση του κωδικού Back-end. Δεν μπορείτε να το χρησιμοποιήσετε για να αναπτύξετε μια εφαρμογή.
Επιλογή πόρων AWS Σας δίνει την ελευθερία να επιλέξετε πόρους AWS. Για παράδειγμα, μπορείτε να επιλέξετε την παρουσία EC2 που είναι η βέλτιστη ανάλογα με την εφαρμογή σας. Δεν μπορείτε να επιλέξετε τους πόρους AWS, όπως ένας τύπος παρουσίας EC2, η Lambda προσφέρει πόρους βάσει του φόρτου εργασίας σας
Τύπος συστήματος Είναι ένα κρατικό σύστημα. Είναι ένα σύστημα απάτριδων.

Χρησιμοποιήστε Θήκες AWS Lambda

Το AWS Lambda χρησιμοποιείται για ένα ευρύ φάσμα εφαρμογών όπως:

  • Σας βοηθά στη διαδικασία ETL
  • Σας επιτρέπει να εκτελείτε επεξεργασία αρχείων σε πραγματικό χρόνο και επεξεργασία ροής σε πραγματικό χρόνο
  • Χρήση για τη δημιουργία εφαρμογών ιστού
  • Χρήση σε προϊόντα Amazon όπως Alexa Chatbots και Amazon Echo / Alexa
  • Επεξεργασία δεδομένων (ανάλυση ροής σε πραγματικό χρόνο)
  • Αυτοματοποιημένα αντίγραφα ασφαλείας καθημερινών εργασιών
  • Εξελικτικές οπίσθιες άκρες (εφαρμογές για κινητά, συσκευές LoT)
  • Σας βοηθά να εκτελέσετε λογική backend από την πλευρά του διακομιστή
  • Σας επιτρέπει να φιλτράρετε και να μεταμορφώσετε δεδομένα

Βέλτιστες πρακτικές λειτουργίας Lambda

Ακολουθούν μερικές βέλτιστες πρακτικές των λειτουργιών AWS Lambda:

  • Χρησιμοποιήστε το σωστό "χρονικό όριο".
  • Χρησιμοποιήστε τις λειτουργίες του τοπικού χώρου αποθήκευσης που έχει μέγεθος 500MB στο φάκελο / temp
  • Ελαχιστοποίηση της χρήσης κώδικα εκκίνησης που δεν σχετίζεται άμεσα με την επεξεργασία του τρέχοντος συμβάντος.
  • Θα πρέπει να χρησιμοποιήσετε την ενσωματωμένη παρακολούθηση CloudWatch των λειτουργιών Lambda για προβολή και βελτιστοποίηση των καθυστερήσεων αιτήσεων.

Πότε να μην χρησιμοποιείτε το AWS Lambda

Ακολουθούν οι καταστάσεις όπου η Λάμδα σίγουρα δεν είναι ιδανική επιλογή:

  • Δεν είναι σκόπιμο να χρησιμοποιήσετε πακέτα λογισμικού AWS Lambda ή εφαρμογές που βασίζονται στην κλήση των υποκείμενων RPC των Windows
  • Εάν χρησιμοποιείται για προσαρμοσμένες εφαρμογές λογισμικού με συμφωνίες αδειοδότησης, όπως επεξεργασία εγγράφων MS-Office, βάσεις δεδομένων Oracle κ.λπ.
  • Το AWS Lambda δεν πρέπει να χρησιμοποιείται για προσαρμοσμένη διαδικασία υλικού, όπως επιτάχυνση GPU, συγγένεια υλικού.

Πλεονεκτήματα της χρήσης AWS Lambda

Εδώ είναι τα πλεονεκτήματα / οφέλη από τη χρήση του AWS lambda:

  • Το AWS Lambda είναι ένα εξαιρετικά ευέλικτο εργαλείο για χρήση
  • Σας βοηθά να παραχωρήσετε πρόσβαση σε πόρους, συμπεριλαμβανομένων των VPC
  • Συντάξτε απευθείας με τον επεξεργαστή WYSIWYG στην κονσόλα.
  • Μπορείτε να το χρησιμοποιήσετε ως πρόσθετο για το Eclipse και το Visual Studio.
  • Δεδομένου ότι είναι αρχιτεκτονική χωρίς διακομιστές, δεν χρειάζεται να ανησυχείτε για τη διαχείριση ή την παροχή διακομιστών.
  • Δεν χρειάζεται να ρυθμίσετε οποιαδήποτε εικονική μηχανή.
  • Βοηθά τους προγραμματιστές να εκτελούν και να εκτελούν την απόκριση του κώδικα σε συμβάντα χωρίς να δημιουργούν καμία υποδομή.
  • Χρειάζεται απλώς για τον υπολογισμό του χρόνου που απαιτείται, μόνο όταν εκτελείται ο κωδικός σας.
  • Μπορείτε να παρακολουθείτε την απόδοση του κώδικα σε πραγματικό χρόνο μέσω του CloudWatch.
  • Σας επιτρέπει να εκτελέσετε τον κωδικό σας χωρίς παροχή ή να διαχειριστείτε οποιονδήποτε άλλο διακομιστή
  • Σας βοηθά να εκτελέσετε τον κώδικα μόνο όταν χρειάζεται
  • Μπορείτε να την κλιμακώσετε αυτόματα για να χειριστείτε μερικά αιτήματα την ημέρα και ακόμη και να υποστηρίξετε περισσότερα από χιλιάδες αιτήματα ανά δευτερόλεπτο.
  • Το AWS Lambda μπορεί να διαμορφωθεί με τη βοήθεια εξωτερικών χρονομετρητών συμβάντων για την εκτέλεση προγραμματισμένων εργασιών.
  • Η λειτουργία Lambda στο AWS πρέπει να διαμορφωθεί με εξωτερικό συμβάν και χρονόμετρα έτσι. μπορεί να χρησιμοποιηθεί για προγραμματισμό.
  • Οι λειτουργίες Lambda είναι ανιθαγενείς, ώστε να μπορεί να κλιμακωθεί γρήγορα.
  • Το AWS Lambda είναι γρήγορο, οπότε θα εκτελέσει τον κωδικό σας εντός χιλιοστών του δευτερολέπτου.

Περιορισμοί του AWS Lambda

Ακολουθούν τα μειονεκτήματα / μειονεκτήματα της χρήσης του AWS Lambda:

  • Το εργαλείο AWS Lambda δεν είναι κατάλληλο για μικρά έργα.
  • AWS Lambda βασίζεται εξ ολοκλήρου στο AWS για την υποδομή, οπότε δεν μπορείτε να εγκαταστήσετε επιπλέον λογισμικό εάν το απαιτεί ο κώδικάς σας.
  • Η ταυτόχρονη εκτέλεση περιορίζεται σε 100
  • Το AWS Lambda εξαρτάται πλήρως από το AWS για την υποδομή. δεν μπορείτε να εγκαταστήσετε τίποτα πρόσθετο λογισμικό εάν το απαιτεί ο κώδικάς σας.
  • Ο όγκος της μνήμης μπορεί να κυμαίνεται από 128 έως 1536 MB.
  • Το αίτημα συμβάντος δεν πρέπει να υπερβαίνει τα 128 KB.
  • Οι λειτουργίες Lambda σάς βοηθούν να γράφετε τα αρχεία καταγραφής τους μόνο στο CloudWatch. Αυτό είναι το μόνο εργαλείο που σας επιτρέπει να παρακολουθείτε ή να αντιμετωπίζετε προβλήματα με τις λειτουργίες σας.
  • Το χρονικό όριο εκτέλεσης κώδικα είναι μόλις 5 λεπτά.

Περίληψη

  • Χωρίς διακομιστή είναι ένας όρος που αναφέρεται γενικά σε εφαρμογές χωρίς διακομιστή.
  • Το AWS Lambda είναι μια τέτοια υπηρεσία υπολογιστών χωρίς διακομιστές. Επομένως, δεν χρειάζεται να ανησυχείτε για τους πόρους AWS που θα ξεκινήσουν ή πώς θα τα διαχειριστούν.
  • Η συνάρτηση είναι ένα πρόγραμμα ή ένα σενάριο που εκτελείται σε Lambda χωρίς διακομιστή AWS.
  • Το Runtime επιτρέπει λειτουργίες σε διάφορες γλώσσες που εκτελούνται στο ίδιο περιβάλλον εκτέλεσης βάσης.
  • Μια πηγή συμβάντος είναι μια υπηρεσία AWS, όπως το Amazon SNS ή μια προσαρμοσμένη υπηρεσία.
  • Τα επίπεδα λάμδα είναι ένας σημαντικός μηχανισμός διανομής για βιβλιοθήκες, προσαρμοσμένους χρόνους εκτέλεσης και άλλες σημαντικές εξαρτήσεις λειτουργιών.
  • Η ροή καταγραφής σας επιτρέπει να σχολιάσετε τον κωδικό λειτουργίας σας με προσαρμοσμένες δηλώσεις καταγραφής που σας βοηθούν να αναλύσετε τη ροή εκτέλεσης και την απόδοση των λειτουργιών Lambda.
  • Το AWS Lambda είναι μια πλατφόρμα ως υπηρεσία (PaaS). Σας βοηθά να εκτελέσετε και να εκτελέσετε τον κώδικα backend.
  • Το AWS EC2 είναι μια υποδομή ως υπηρεσία (laaS). Παρέχει εικονικούς πόρους υπολογιστών.
  • Αναπτύξτε και διαχειριστείτε τις εφαρμογές στο AWS Cloud χωρίς να ανησυχείτε για την υποδομή που εκτελεί αυτές τις εφαρμογές.
  • Το AWS Lambda χρησιμοποιείται για την εκτέλεση και την εκτέλεση του κωδικού Back-end. Δεν μπορείτε να το χρησιμοποιήσετε για να αναπτύξετε μια εφαρμογή.
  • Το AWS Lambda σας βοηθάει στη διαδικασία ETL.
  • Η βέλτιστη πρακτική της λειτουργίας Lambda στο AWS είναι να χρησιμοποιήσετε το σωστό "χρονικό όριο".
  • Δεν είναι σκόπιμο να χρησιμοποιήσετε πακέτα λογισμικού AWS Lambda ή εφαρμογές που βασίζονται στην κλήση των υποκείμενων RPC των Windows
  • Το AWS Lambda είναι ένα εξαιρετικά ευέλικτο εργαλείο.
  • Το εργαλείο AWS Lambda δεν είναι κατάλληλο για μικρά έργα.
  • Ένα συνηθισμένο συμβάν που θα ενεργοποιηθεί όταν χρησιμοποιείτε το AWS Lambda είναι η εισαγωγή, ενημέρωση και διαγραφή δεδομένων του πίνακα Dynamo DB.