Vadnica za lambda AWS: Vaš vodnik po Amazon Serverless Computing



Ta vadnica AWS Lambda opisuje brezžično računalniško platformo AWS, ki zajema podrobnosti o funkciji Lambda, viru dogodkov, ceni lambda s primerom uporabe.

Vadnica AWS Lambda

Danes se bomo pogovarjali o AWS Lambda. AWS Lambda je računalniška storitev, ki jo ponuja Amazon. Zanima vas, ker obstaja več drugih računskih storitev podjetja AWS, kot so AWS EC2, AWS Elastic Beanstalk, AWS Opsworks itd., Zakaj potem druga računalniška storitev? V tej vadnici AWS Lambda boste odkrili, kaj je AWS Lambda, zakaj se uporablja in v katerih primerih uporabe bi jo morali upoštevati.

Poglejmo, kako Amazon definira AWS Lambda, nato pa se bomo poglobili v ključne koncepte in na koncu razumeli primere uporabe.





Lambda brezžično računalništvo - aws lambda tutorial

Kaj je AWS Lambda?

Amazon pojasnjuje, AWS Lambda (& lambda) kot računalniška storitev brez strežnika, kar pomeni, da razvijalcem ni treba skrbeti, katere vire AWS zagnati ali kako bodo z njimi upravljali, samo dajo kodo na lambdo in ta deluje , tako preprosto je! Pomaga vam, da se osredotočite na osnovno kompetenco, tj. App Building ali kodo.



Kje bom uporabil AWS Lambda?

AWS Lambda izvrši vašo zaledno kodo s samodejnim upravljanjem virov AWS. Ko rečemo „upravljaj“, vključuje zagon ali zaključek primerkov, zdravstvene preglede, samodejno spreminjanje velikosti, posodabljanje ali popravljanje novih posodobitev itd.

Torej, kako deluje?

Koda, za katero želite, da se izvaja Lambda, je znana kot Lambda funkcija . Kot vemo, se funkcija zažene šele, ko je poklicana, kajne? Tukaj, Vir dogodka je entiteta, ki sproži Lambda funkcijo, nato pa se naloga izvede.

Vzemimo primer, da ga bomo jasneje razumeli.



Recimo, da imate aplikacijo za nalaganje slik. Zdaj, ko naložite sliko, je pred shranjevanjem vključenih veliko nalog, na primer spreminjanje velikosti, uporaba filtrov, stiskanje itd.

Torej je to nalogo nalaganja slike mogoče opredeliti kot Vir dogodka ali 'sprožilec', ki bo poklical funkcijo Lambda, nato pa je vse te naloge mogoče izvajati s pomočjo funkcije Lambda.

V tem primeru mora razvijalec samo določiti vir dogodka in naložiti kodo.

Zdaj razumimo ta primer z resničnimi viri AWS,

kako zagnati atom python

Slika Lambda primer uporabe s S3

Tukaj bomo nalagali slike v obliki predmetov v vedro S3. To nalaganje slike v vedro S3 bo postalo vir dogodka ali 'sprožilec'.

Celoten postopek je, kot lahko vidite na diagramu, razdeljen na 5 korakov, razumejmo vsakega od njih.

  1. Uporabnik naloži sliko (predmet) v izvorno vedro v S3, ki ima priloženo obvestilo, za Lambda.
  2. Obvestilo prebere S3 in odloči, kam ga pošlje.
  3. S3 pošlje obvestilo Lambdi, to obvestilo deluje kot pozivni klic funkcije lambda.
  4. Izvedbeno vlogo v Lambdi lahko določimo z uporabo IAM (upravljanje identitete in dostopa), da damo dovoljenje za dostop do virov AWS, v tem primeru bi bil to S3.
  5. Končno prikliče želeno lambda funkcijo, ki deluje na objektu, ki je bil naložen v vedro S3.

Če bi ta scenarij reševali tradicionalno, skupaj z razvojem, bi najeli ljudi za upravljanje naslednjih nalog:

  • Velikost, ponudba in povečanje skupine strežnikov
  • Upravljanje posodobitev OS
  • Uporabi varnostne popravke in
  • Spremljajte vso to infrastrukturo glede zmogljivosti in razpoložljivosti.

To bi bila draga, dolgočasna in mučna naloga, zato je potreba po AWS Lambda upravičena.AWS Lambda je združljiv z Node.JS, Python in Java, tako da lahko datoteko naložite v zip, določite vir dogodka in ste pripravljeni!

Več o tem lahko preberete S3 AWS tukaj za globlje razumevanje.

Zdaj vemo -Kako Lambda deluje inKakšna lambda srna s .

Noj, dajmo razumeti-

  • Kje uporabiti Lambdo?
  • Čemu služi Lambda, todruge storitve AWS Compute ne?

Če bi morali oblikovati rešitev problema, bi morali biti sposobni ugotoviti, kje uporabiti Lambdo, kajne?

Torej imate kot arhitekt naslednje možnosti za izvedbo naloge:

  • AWS EC2
  • AWS Elastični fižol
  • AWS OpsWorks
  • AWS Lambda

Za primer vzemimo zgornji primer uporabe in razumemo, zakaj smo za njegovo rešitev izbrali Lambdo.

AWS OpsWorks in AWS ElasticBeanstalk se uporabljata za razmestitev aplikacije, zato je naš primer uporabe ne da ustvarite aplikacijo , ampak za izvajanje zaledne kode.

Zakaj potem ne EC2?

Če bi uporabljali EC2, bi morali zgraditi vse, npr. Izravnalnik obremenitve, količine EBS, sklade programske opreme itd. Pri lambdi vam ni treba ničesar skrbeti, samo vstavite svojo kodo in AWS bo uredil ostalo!

Na primer , v EC2 bi na vaš navidezni računalnik namestili programske pakete, ki bi podpirali vašo kodo, v Lambdi pa vam ni treba skrbeti za noben VM, preprosto vstavite navadno kodo in Lambda jo bo izvedla namesto vas.

Če pa se bo vaša koda izvajala ure in pričakujete neprekinjen tok zahtev, bi verjetno morali uporabiti EC2, ker je arhitektura Lambde namenjena občasni delovni obremenitvi, v kateri bo nekaj mirnih ur in nekaj konic v št. zahtev.

Na primer , beleženje dejavnosti e-pošte za recimo majhno podjetje, bi videlo več aktivnosti podnevi kot ponoči, prav tako bi lahko bili dnevi, ko bi bilo treba obdelati manj e-poštnih sporočil, in včasih bi vam lahko ves svet začel pošiljati e-pošto! V obeh primerih vam je na voljo Lambda.

Glede na ta primer uporabe za veliko podjetje za socialna omrežja, pri katerem se e-poštna sporočila nikoli ne končajo, ker ima ogromno uporabniško bazo, Lambda morda ni primerna izbira.

Več o tem lahko preberete EC2 AWS tukaj za globlje razumevanje.

Omejitve AWS Lambda

Nekatere omejitve so povezane s strojno opremo, nekatere pa jih zavezuje arhitektura, o vseh se pogovorimo.

Omejitve strojne opreme vključuje velikost diska, ki je omejena na 512 MB, pomnilnik se lahko giblje med 128 MB in 1536 MB. Potem obstajajo še nekateri drugi, na primer, če je časovno omejitev izvedbe mogoče povečati na samo 5 minut, nosilnost telesa zahteve ne sme presegati 6 MB, telo zahteve pa 128 KB. Nosilnost telesa zahteve je podobna podatkom, ki jih pošljete z zahtevo »GET« ali »PUT« v HTTP, kjer bi kot telo zahteve bili vrsta zahteve, glave itd.

Pravzaprav to niso omejitve, temveč so meje načrtovanja, ki so bile določene v arhitekturi Lambda, tako da, če vaš primer uporabe teh ne ustreza, imate vedno na voljo druge računske storitve AWS.

V tem priročniku AWS Lambda smo razpravljali, da izvajanje nalog v Lambdi 'ni' dolgočasno in dolgočasno. Pokrijmo zdaj tudi odhodkovni del.

Cene v AWS Lambda

Kot večina storitev AWS je tudi AWS Lambda storitev s plačilom na uporabo, kar pomeni, da plačate samo tisto, kar uporabljate, zato vam zaračunamo naslednje parametre

  • Število zahteve ki ga naredite za svojo funkcijo lambda
  • The trajanje za katero se izvaja vaša koda.

Zahteve

java razlika med hashmap in hashtable
  • Zaračunali ste vam število zahtev, ki jih oddate v vseh svojih funkcijah lambda.
  • AWS Lambda šteje zahtevo vsakič, ko se začne izvajati kot odgovor na vir dogodka ali klic na klic, vključno s preskusom, ki ga prikliče konzola. Poglejmo zdaj cene:
    • Prvi milijon zahtev vsak mesec je brezplačnih.
    • 0,20 $ na milijon zahtevkov po tem.

Trajanje

  • Trajanje se izračuna od trenutka, ko se koda začne izvajati, do trenutka, ko se vrne ali konča, se zaokroži na najbližjih 100 ms.
  • Cena je odvisna od količine pomnilnika, ki ga dodelite svoji funkciji, za vsako porabljeno GB-sekundo vam zaračunajo 0,00001667 USD.

* Vir: uradna spletna stran AWS

Če ste prišli do tu, ste pripravljeni za praktično uporabo v Lambdi. Zabavajmo se!

Praktično: AWS Lambda DIY

Ustvarimo funkcijo Lambda, ki bo zabeležila 'Predmet je bil dodan', ko dodate objekt v določeno vedro v S3.

Korak 1: V konzoli AWS Management Console v razdelku za izračun izberite AWS Lambda.

2. korak: Na Lambda konzoli AWS kliknite »Ustvari funkcijo Lambda«.

3. korak: Na naslednji strani morate izbrati načrt. Na primer, izbrali bomo prazno funkcijo za naš primer uporabe.

pretvori decimalno v binarno kodo pythona

4. korak: Na naslednji strani boste (1) nastavili sprožilec, saj bomo delali na S3, (2) izberite sprožilec S3 in nato (3) kliknite Naprej.

5. korak: Na konfiguracijski strani vnesite podrobnosti. Lahko vnesete svojo kodo ali pa isto kodo kopirate iz tega primera uporabe. Po tem napolnite vodnik in vlogo, pustite napredne nastavitve takšne, kot so, na koncu kliknite naprej.

6. korak: Na naslednji strani preglejte vse informacije in kliknite na 'Ustvari funkcijo'.

7. korak: Zdaj, ko smo ustvarili funkcijo za vedro S3, bi morali v trenutku, ko dodate datoteko v vedro S3, v CloudWatch, ki je storitev za spremljanje s strani AWS, dobiti dnevnik istega.

Čestitamo!Uspešno ste izvedli funkcijo Lambda.

Upam, da ste uživali v globokem potopu v vajo AWS Lambda. Je eno najbolj zaželenih področij znanja v ekosistemu AWS za delovna mesta, kot so Solutions Architect, Cloud Engineer, DevOps Engineer. Tukaj je zbirka za pomoč pri pripravi na naslednji razgovor za službo AWS.

Če se vam zdi ta vaja AWS Lambda ustrezna, si lahko ogledate Edurekin tečaj v živo in inštruktorje na , ki so ga soustvarili strokovnjaki iz industrije.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje in se vam bomo javili.