AWS Lambda õpetus: teie juhend Amazoni serverivabaks arvutiks

Selles AWS Lambda õpetuses kirjeldatakse AWS-i serverivaba arvutusplatvormi, mis hõlmab üksikasju Lambda funktsiooni, sündmuse allika, Lambda hinnakujunduse ja kasutusjuhtumi kohta.

AWS Lambda õpetus

Täna räägime AWS Lambdast. AWS Lambda on Amazoni pakutav arvutusteenus. Peate olema uudishimulik, kuna AWS-il on veel mitmeid arvutusteenuseid, nagu AWS EC2, AWS Elastic Beanstalk, AWS Opsworks jms. Miks peaks siis mõni teine ​​arvutusteenus olema? Selles AWS Lambda õpetuses leiate, mis on AWS Lambda, miks seda kasutatakse ja millistel kasutusjuhtumitel peaksite seda kaaluma.



Vaatame, kuidas Amazon määratleb AWS Lambda, ja siis süveneme põhikontseptsioonidesse, mõistame kasutusjuhtumit, kui see on praktiline.



Lambda serverivaba arvutus - aws lambda õpetus

Mis on AWS Lambda?

Amazon selgitab, et AWS Lambda (& lambda) kui 'serverivaba' arvutusteenus, mis tähendab, et arendajad ei pea muretsema, milliseid AWS-i ressursse käivitada või kuidas nad neid haldavad, nad lihtsalt panevad koodi lambdale ja see töötab , see on nii lihtne! See aitab teil keskenduda põhipädevusele, st rakenduste loomisele või koodile.



Kus ma AWS Lambdat kasutan?

AWS Lambda käivitab teie taustaprogrammi koodi, haldades AWS-i ressursse automaatselt. Kui ütleme „halda“, hõlmab see eksemplaride käivitamist või lõpetamist, tervisekontrolli, automaatset skaleerimist, uute värskenduste värskendamist või lappimist jne.

kuidas käsitseda seleeni veebidraiveri hüpikakent

Niisiis, kuidas see töötab?

Kood, mida soovite Lambda käitada, on tuntud kui Lambda funktsioon . Nagu me teame, töötab funktsioon ainult siis, kui seda kutsutakse, eks? Siin, Sündmuse allikas on üksus, mis käivitab Lambda-funktsiooni ja seejärel täidetakse ülesanne.

Võtame näite, et sellest selgemini aru saada.



Oletame, et teil on piltide üleslaadimiseks rakendus. Nüüd, kui pilti üles laadite, on enne selle salvestamist seotud palju ülesandeid, näiteks suuruse muutmine, filtrite rakendamine, tihendamine jne.

Niisiis saab seda pildi üleslaadimise ülesannet määratleda kui Sündmuse allikas või 'päästik', mis kutsub Lambda funktsiooni, ja seejärel saab kõiki neid ülesandeid täita Lambda funktsiooni kaudu.

Selles näites peab arendaja lihtsalt määrama sündmuse allika ja koodi üles laadima.

Mõistame nüüd seda näidet reaalsete AWS-i ressurssidega,

Joonis Lambda kasutamise juhtum S3-ga

Siit üleslaadime objektide kujul pilte S3 ämbrisse. Sellest pildi üleslaadimisest S3 ämbrisse saab sündmuse allikas või päästik.

Nagu skeemilt näha, on kogu protsess jagatud viieks etapiks, mõistame neist igaüht.

  1. Kasutaja laadib Lambda jaoks pildi (objekti) alla S3 allikakoppi, millele on lisatud teatis.
  2. S3 loeb teadet ja ta otsustab, kuhu see teade saata.
  3. S3 saadab teate Lambdale, see teade toimib lambda-funktsiooni kutsungina.
  4. Lambdas saab täitmisrolli määratleda, kasutades AAM-i ressurssidele juurdepääsuõigust IAM-i (Identity and Access Management) abil. Selle näite puhul oleks siin S3.
  5. Lõpuks kutsub see soovitud lambda funktsiooni, mis töötab objektil, mis on üles laaditud S3 ämbrisse.

Kui peaksite selle stsenaariumi koos arendusega traditsiooniliselt lahendama, oleksite palganud inimesi järgmiste ülesannete haldamiseks:

  • Serverite suurus, eraldamine ja laiendamine
  • OS-i värskenduste haldamine
  • Paigaldage turvapaigad ja
  • Jälgige kogu selle infrastruktuuri jõudlust ja kättesaadavust.

See oleks olnud kallis, tüütu ja väsitav ülesanne, seetõttu on vajadus AWS Lambda järele õigustatud.AWS Lambda ühildub Node.JS, Pythoni ja Java-ga, nii et saate oma faili üles laadida ZIP-failina, määratleda sündmuse allika ja olete valmis!

Lisateavet saate lugeda S3 AWS siin sügavamaks mõistmiseks.

Nüüd teame -Kuidas Lambda töötab jaMida Lambda teeb s .

Nau, mõistame-

  • Kust Lambdat kasutada?
  • Mis eesmärki Lambda täidabmuud AWS Compute'i teenused pole?

Kui peaksite lahendama probleemi lahenduse, peaksite saama teada, kus Lambdat kasutada, eks?

Niisiis, arhitektina on teil ülesande täitmiseks järgmised võimalused:

  • AWS EC2
  • AWS elastne oavarrest
  • AWS OpsWorks
  • AWS Lambda

Võtame näiteks ülaltoodud kasutusjuhtumi ja mõistame, miks valisime selle lahendamiseks Lambda.

Rakenduse juurutamiseks kasutatakse AWS OpsWorks ja AWS ElasticBeanstalk, nii et meie kasutusjuht on mitte rakenduse loomiseks , vaid taustakoodi käivitamiseks.

Miks siis mitte EC2?

Kui kasutaksite EC2, peaksite kõik üles ehitama, st koormuse tasakaalustaja, EBS-i mahud, tarkvarakogumid jne. Lambdas ei pea te millegi pärast muretsema, lihtsalt sisestage oma kood ja ülejäänu haldab AWS!

Näiteks , installiksite EC2-s oma virtuaalsesse masinasse tarkvarapaketid, mis toetaksid teie koodi, kuid Lambdas ei pea te muretsema ühegi VM-i pärast, lihtsalt sisestage tavaline kood ja Lambda täidab selle teie eest.

Kuid kui teie kood töötab tundide kaupa ja eeldate pidevat päringute voogu, peaksite tõenäoliselt minema EC2-ga, sest Lambda arhitektuur on mõeldud juhusliku töökoormuse jaoks, kus on mõned vaiksed tunnid ja mõned piigid aastal nr. ka taotluste kohta.

Näiteks , logides näiteks väikese ettevõtte e-posti tegevust, näeks see päeva jooksul rohkem tegevust kui öösel. Samuti võib olla päevi, kus töödeldavaid e-kirju on vähem, ja mõnikord võib kogu maailm hakata teile meilisõnumeid saatma! Mõlemal juhul on Lambda teie teenistuses.

Arvestades seda juhtumit suure suhtlusvõrgustiku ettevõtte jaoks, kus meilid ei lõpe kunagi, kuna sellel on tohutu kasutajaskond, ei pruugi Lambda olla sobiv valik.

Lisateavet saate lugeda EC2 AWS siin sügavamaks mõistmiseks.

AWS Lambda piirangud

Mõned piirangud on riistvaraspetsiifilised ja mõned on seotud arhitektuuriga, arutame neid kõiki.

Riistvara piirangud Kui ketta suurus on piiratud 512 MB, võib mälu varieeruda vahemikus 128–1536 MB. Siis on veel mõned, näiteks täitmise ajalõpu saab maksimeerida vaid 5 minutini, teie päringu keha kasulik koormus ei tohi olla suurem kui 6 MB ja teie päringu sisu on 128 KB. Taotluse keha kasulik koormus on nagu andmed, mille saadate HTTP-ga GET- või PUT-päringuga, kus päringu kehaks oleks päringu tüüp, päised jne.

sql andmetüüp kuupäevaks

Tegelikult ei ole need piirangud, vaid need on Lambda arhitektuuris seatud kujunduspiirid, nii et kui teie kasutusjuht neile ei sobi, on teie käsutuses alati muud AWS-i arvutusteenused.

Arutasime selles AWS Lambda õpetuses, et kuidas Lambdas ülesannete täitmine pole 'tüütu ja väsitav. Katkem nüüd ka kulude osa.

Hinnakujundus AWS Lambdas

Nagu enamik AWS-i teenuseid, on ka AWS Lambda tasuline kasutamise teenus, see tähendab, et maksate ainult seda, mida kasutate, seetõttu võetakse teilt järgmiseid parameetreid

  • Nende arv taotlusi mida teete oma lambda funktsioonile
  • The kestus mille jaoks teie kood täidab.

Taotlused

  • Teilt võetakse tasu kõigi lambda funktsioonide kaudu tehtud taotluste arvu eest.
  • AWS Lambda loeb päringu iga kord, kui see hakkab täitma vastusena sündmuse allikale või kutsuma kõne, sealhulgas konsoolilt test. Vaatame hindu nüüd:
    • Esimesed miljon taotlust on igal kuul tasuta.
    • 0,20 dollarit miljoni taotluse kohta.

Kestus

  • Kestus arvutatakse alates koodi käivitamise hetkest kuni selle naasmise või lõppemiseni, ümardatuna lähima 100 ms-ni.
  • Hind sõltub teie funktsioonile eraldatava mälu hulgast. Teilt võetakse iga kasutatud GB-sekundi eest 0,00001667 dollarit.

* Allikas: AWS ametlik veebisait

Kui olete siiani jõudnud, olete kõik valmis Lambdas käed külge. Nautigem!

Praktiline: AWS Lambda isetegemine

Looge funktsioon Lambda, mis logib jaotise „Objekt on lisatud”, kui lisate objekti S3 kindlasse ämbrisse.

Samm 1: Valige AWS-i halduskonsooli arvutusjaotises AWS Lambda.

hübriidraamistik seleeni veebidraiveris

2. samm: Klõpsake AWS Lambda konsoolil nupul „Loo Lambda funktsioon”.

3. samm: Järgmisel lehel peate valima kavandi. Näiteks valime oma kasutusjuhtumi jaoks tühja funktsiooni.

4. samm: Järgmisel lehel määrate (1) päästiku, kuna hakkame töötama S3-ga, (2) valige päästik S3 ja seejärel (3) klõpsake nuppu Edasi.

5. samm: Sisestage konfiguratsioonilehel üksikasjad. Võite sisestada oma koodi või kopeerida sama koodi sellelt kasutusjuhtumilt. Pärast seda täitke käitleja ja roll, jätke täpsemad seaded selliseks, nagu see on, lõpuks klõpsake järgmisel.

6. samm: Järgmisel lehel vaadake kogu teave üle ja klõpsake nuppu „Loo funktsioon”.

7. samm: Kuna me lõime funktsiooni S3 ämbrile, peaksite hetkel, kui lisate faili oma S3 ämbrisse, hankima sama logi CloudWatchist, mis on AWS-i jälgimisteenus.

Palju õnne!Olete Lambda funktsiooni edukalt täitnud.

Loodan, et teile meeldis sügav sukeldumine AWS Lambda juhendamisse. See on AWS-i ökosüsteemi üks ihaldatumaid teadmiste valdkondi selliste ametikohtade jaoks nagu Solutions Architect, Cloud Engineer, DevOps Engineer. Siin on kogumik mis aitab teil valmistuda järgmiseks AWS-i töövestluseks.

Kui leiate, et see AWS Lambda õpetus on asjakohane, saate tutvuda Edureka otseülekande ja juhendajate juhitud kursusega , mille on loonud tööstuse praktikud.

Kas teil on meile küsimus? Palun mainige seda kommentaaride jaotises ja võtame teiega ühendust.