Tutorial AWS Lambda: Ghidul dvs. pentru calculul Amazon Serverless



Acest tutorial AWS Lambda descrie platforma de calcul fără server a AWS care acoperă detalii despre funcția Lambda, sursa evenimentului, prețurile Lambda cu un caz de utilizare.

Tutorial AWS Lambda

Astăzi vom vorbi despre AWS Lambda. AWS Lambda este un serviciu de calcul oferit de Amazon. Trebuie să fiți curios, deoarece există mai multe alte servicii de calcul de la AWS, cum ar fi AWS EC2, AWS Elastic Beanstalk, AWS Opsworks etc., atunci de ce un alt serviciu de calcul? În acest tutorial AWS Lambda veți descoperi ce este AWS Lambda, de ce este utilizat și în ce cazuri de utilizare ar trebui să îl luați în considerare.

Să vedem cum Amazon definește AWS Lambda și apoi vom face o scufundare profundă în conceptele cheie, vom înțelege un caz de utilizare cu un manual în cele din urmă.





Lambda Serverless computing - aws tutorial lambda

Ce este AWS Lambda?

Amazon explică, AWS Lambda (și lambda) ca un serviciu de calcul „fără server”, adică dezvoltatorii, nu trebuie să-și facă griji cu privire la resursele AWS pe care să le lanseze sau cum le vor gestiona, ci doar pun codul pe lambda și rulează , este atat de simplu! Vă ajută să vă concentrați pe competența de bază, adică construirea aplicațiilor sau codul.



Unde voi folosi AWS Lambda?

AWS Lambda execută codul dvs. backend, gestionând automat resursele AWS. Când spunem „gestionează”, include lansarea sau terminarea instanțelor, verificări de sănătate, scalare automată, actualizare sau corecție de noi actualizări etc.

Deci, cum funcționează?

Codul pe care doriți să-l ruleze Lambda este cunoscut sub numele de Funcția Lambda . Acum, după cum știm, o funcție rulează numai atunci când este apelată, nu? Aici, Sursa evenimentului este entitatea care declanșează o funcție Lambda, iar apoi sarcina este executată.

Să luăm un exemplu pentru a-l înțelege mai clar.



Să presupunem că aveți o aplicație pentru încărcarea imaginilor. Acum, când încărcați o imagine, există o mulțime de sarcini implicate înainte de a o stoca, cum ar fi redimensionarea, aplicarea filtrelor, compresia etc.

Deci, această sarcină de încărcare a unei imagini poate fi definită ca Sursa evenimentului sau „declanșatorul” care va apela funcția Lambda, iar apoi toate aceste sarcini pot fi executate prin intermediul funcției Lambda.

În acest exemplu, un dezvoltator trebuie doar să definească sursa evenimentului și să încarce codul.

Să înțelegem acest exemplu cu resurse AWS reale acum,

Fig. Caz de utilizare Lambda cu S3

diferența dintre git și github

Aici vom încărca imagini sub formă de obiecte într-o găleată S3. Această încărcare a unei imagini în cupa S3 va deveni o sursă de eveniment sau „declanșatorul”.

Întregul proces, după cum puteți vedea în diagramă, este împărțit în 5 pași, să înțelegem fiecare dintre ei.

  1. Utilizatorul încarcă o imagine (obiect) într-o găleată sursă în S3 care are o notificare atașată, pentru Lambda.
  2. Notificarea este citită de S3 și decide unde să trimită notificarea respectivă.
  3. S3 trimite notificarea către Lambda, această notificare acționează ca un apel de apelare a funcției lambda.
  4. Rolul de execuție în Lambda poate fi definit prin utilizarea IAM (Identity and Access Management) pentru a da permisiunea de acces pentru resursele AWS, pentru acest exemplu aici ar fi S3.
  5. În cele din urmă, invocă funcția lambda dorită care funcționează pe obiectul care a fost încărcat în cupa S3.

Dacă ați rezolva acest scenariu în mod tradițional, împreună cu dezvoltarea, ați fi angajat oameni pentru gestionarea următoarelor sarcini:

  • Dimensiunea, furnizarea și extinderea grupului de servere
  • Gestionarea actualizărilor sistemului de operare
  • Aplicați patch-uri de securitate și
  • Monitorizați toată această infrastructură pentru performanță și disponibilitate.

Aceasta ar fi fost o sarcină costisitoare, obositoare și obositoare, prin urmare necesitatea AWS Lambda este justificată.AWS Lambda este compatibil cu Node.JS, Python și Java, astfel încât să puteți încărca fișierul într-un fișier zip, să definiți o sursă de eveniment și sunteți setat!

Puteți citi mai multe despre S3 AWS aici pentru o înțelegere mai profundă.

Acum știm -Cum funcționează Lambda șiCe doamnă Lambda s .

Now, să înțelegem-

  • Unde să utilizați Lambda?
  • Ce scop servește Lambda, astaalte servicii AWS Compute nu?

Dacă ar fi să aranjezi o soluție la o problemă, ar trebui să poți identifica unde să folosești Lambda, nu?

Deci, ca arhitect, aveți următoarele opțiuni pentru a executa o sarcină:

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

Să luăm ca exemplu cazul de utilizare de mai sus și să înțelegem de ce am ales Lambda pentru a-l rezolva.

AWS OpsWorks și AWS ElasticBeanstalk sunt utilizate pentru a implementa o aplicație, astfel încât cazul nostru de utilizare este nu pentru a crea o aplicație , dar pentru a executa un cod back-end.

Atunci de ce nu EC2?

Dacă ar fi să folosiți EC2, ar trebui să arhitectați totul, adică echilibrarea încărcării, volumele EBS, stive de software etc. În lambda nu trebuie să vă faceți griji cu privire la nimic, doar introduceți codul, iar AWS va gestiona restul!

ce este o interfață de marker în java

De exemplu , în EC2 veți instala pachetele software pe mașina dvs. virtuală care vă vor sprijini codul, dar în Lambda nu trebuie să vă faceți griji cu privire la vreo mașină virtuală, doar introduceți cod simplu și Lambda îl va executa pentru dvs.

Dar, dacă codul dvs. va funcționa ore în șir și vă așteptați la un flux continuu de solicitări, ar trebui să mergeți probabil cu EC2, deoarece arhitectura Lambda este pentru un tip sporadic de sarcină de lucru, în care vor exista niște ore liniștite și câteva vârfuri în nr. de cereri, de asemenea.

De exemplu , înregistrarea activității de e-mail pentru o companie mică, ar putea vedea mai multă activitate în timpul zilei decât noaptea, de asemenea, ar putea exista zile în care să fie procesate mai puține e-mailuri și, uneori, întreaga lume ar putea începe să vă trimită e-mailuri! În ambele cazuri, Lambda vă stă la dispoziție.

Având în vedere acest caz de utilizare pentru o mare companie de rețele sociale, unde e-mailurile nu se termină niciodată, deoarece are o bază imensă de utilizatori, este posibil ca Lambda să nu fie alegerea potrivită.

Puteți citi mai multe despre EC2 AWS aici pentru o înțelegere mai profundă.

Limitări ale AWS Lambda

Unele limitări sunt specifice hardware-ului, iar altele sunt legate de arhitectură, să le discutăm pe toate.

Limitări hardware include dimensiunea discului, care este limitată la 512 MB, memoria poate varia între 128 MB și 1536 MB. Apoi, există și altele, cum ar fi timpul de execuție poate fi maximizat la doar 5 minute, sarcina utilă a corpului solicitării nu poate depăși 6 MB și corpul solicitării este de 128 KB. Sarcina utilă a corpului solicitării este ca datele pe care le trimiteți cu o solicitare „GET” sau „PUT” în HTTP, unde corpul cererii ar fi tipul de cerere, antetele etc.

De fapt, acestea nu sunt limitări, ci sunt limitele de proiectare care au fost stabilite în arhitectura Lambda, deci dacă cazul dvs. de utilizare nu se potrivește cu acestea, aveți întotdeauna la dispoziție celelalte servicii de calcul AWS.

Am discutat în acest tutorial AWS Lambda că modul în care realizarea sarcinilor în Lambda nu este „obositor și obositor”. Să acoperim acum și partea de cheltuieli.

Prețuri în AWS Lambda

La fel ca majoritatea serviciilor AWS, AWS Lambda este, de asemenea, un serviciu de plată pe utilizare, ceea ce înseamnă că plătiți doar ceea ce utilizați, prin urmare sunteți taxat pentru următorii parametri

  • Numarul solicitări pe care o faci funcției tale lambda
  • durată pentru care se execută codul dvs.

Cereri

  • Veți fi taxat pentru numărul de solicitări pe care le efectuați pentru toate funcțiile dvs. lambda.
  • AWS Lambda numără o cerere de fiecare dată când începe să se execute ca răspuns la o sursă de eveniment sau invocă apel, inclusiv testul este invocat din consolă. Să vedem prețurile acum:
    • Primele 1 milion de cereri, în fiecare lună sunt gratuite.
    • 0,20 USD pe milion de cereri ulterioare.

Durată

  • Durata este calculată din momentul în care codul dvs. începe să se execute până în momentul în care revine sau se termină, este rotunjită la cel mai apropiat 100ms.
  • Prețul depinde de cantitatea de memorie pe care o alocați funcției dvs. veți fi taxat cu 0,00001667 USD pentru fiecare GB-secundă utilizată.

* Sursa: site-ul oficial AWS

Dacă ați ajuns până aici, sunteți pregătiți pentru un Hands-on în Lambda. Hai să ne distrăm!

Practic: DIY AWS Lambda

Să creăm o funcție Lambda care va înregistra „A fost adăugat un obiect” odată ce ați adăugat un obiect într-o bucket specifică în S3.

Pasul 1: Din AWS Management Console din secțiunea de calcul, selectați AWS Lambda.

Pasul 2: În AWS Lambda Console, faceți clic pe „Creați o funcție Lambda”.

Pasul 3: În pagina următoare, trebuie să selectați un plan. De exemplu, vom selecta funcția necompletată pentru cazul nostru de utilizare.

Pasul 4: În pagina următoare veți (1) seta un declanșator, deoarece vom lucra pe S3, (2) selectați declanșatorul S3 și apoi (3) faceți clic pe Următorul.

Pasul 5: Pe pagina de configurare, completați detaliile. Puteți pune propriul cod sau puteți copia același cod din acest caz de utilizare. După aceea, completați handlerul și rolul, lăsați setările avansate așa cum este, la final faceți clic pe Next.

Pasul 6: În pagina următoare, examinați toate informațiile și faceți clic pe „Creați funcția”.

Pasul 7: Acum, de când am creat funcția pentru bucketul S3, în momentul în care adăugați un fișier în bucket-ul dvs. S3, ar trebui să obțineți un jurnal pentru același lucru în CloudWatch, care este un serviciu de monitorizare de la AWS.

apel prin referință c ++ exemplu

Felicitări!Ați executat cu succes Funcția Lambda.

Sper că ți-a plăcut scufundarea profundă în AWS Lambda Tutorial. Este una dintre cele mai dorite zone de cunoștințe din ecosistemul AWS pentru posturi de locuri de muncă, cum ar fi Arhitect de soluții, inginer în cloud, inginer DevOps. Iată o colecție de pentru a vă ajuta să vă pregătiți pentru următorul dvs. interviu de angajare AWS.

Dacă ați găsit relevant acest tutorial AWS Lambda, puteți consulta cursul Edureka live și condus de instructor , co-creat de practicieni din industrie.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.