Pred funkcijo AWS Lambda, razumimo:
Kaj je brez strežnika?
Brez strežnika je izraz, ki se na splošno nanaša na aplikacije brez strežnika. Aplikacije brez strežnika so tiste, ki ne potrebujejo nobene strežniške opreme in ne zahtevajo upravljanja strežnikov.
Kaj je AWS Lambda?
AWS Lambda je računalniška platforma brez strežnikov, ki temelji na dogodkih in jo ponuja Amazon kot del Amazon Web Services. Zato vam ni treba skrbeti, katere vire AWS želite zagnati ali kako jih boste upravljali. Namesto tega morate kodo postaviti na Lambda in ta deluje.
V AWS Lambda se koda izvede na podlagi odziva na dogodke v storitvah AWS, kot so dodajanje / brisanje datotek v vedru S3, zahteva HTTP iz prehoda Amazon API itd. Vendar pa se Amazon Lambda lahko uporablja samo za izvajanje nalog v ozadju.
Funkcija AWS Lambda vam pomaga, da se osredotočite na svoj osnovni izdelek in poslovno logiko, namesto da bi upravljali nadzor dostopa do operacijskega sistema (OS), popravljanje OS, določanje velikosti, zagotavljanje, spreminjanje itd.
V tej vadnici AWS Lambda za začetnike boste izvedeli:
- Kako deluje AWS Lambda?
- Dogodki, ki sprožijo AWS Lambda
- Koncepti AWS Lambda
- AWS Lambda VS AWS EC2
- AWS Lambda VS AWS Elastični fižol
- Uporabite primere AWS Lambda
- Najboljše prakse glede funkcije Lambda
- Kdaj ne uporabljati AWS Lambda
- Prednosti uporabe AWS Lambda
- Omejitve AWS Lambda
Kako deluje AWS Lambda?
Naslednji primer AWS Lambda z blokovnim diagramom razlaga delovanje AWS Lambda v nekaj preprostih korakih:
1. korak: Najprej naložite kodo AWS Lambda v kateri koli jezik, ki ga podpira AWS Lambda. Java, Python, Go in C # so nekateri jeziki, ki jih podpira funkcija AWS Lambda.
2. korak: To je nekaj storitev AWS, ki vam omogočajo, da sprožite AWS Lambda.
3. korak: AWS Lambda vam pomaga naložiti kodo in podrobnosti o dogodku, na katerih naj se sproži.
4. korak: Izvede Lambda kodo AWS, ko jo sprožijo storitve AWS:
5. korak: AWS se zaračuna samo, ko se izvede lambda koda AWS, in ne drugače.
To se bo zgodilo v naslednjih primerih:
- Naložite datoteke v vedro S3
- Ko je dosežen URL končne točke get / post HTTP
- Za dodajanje / spreminjanje in brisanje Dynamo DB tabel
- V procesu zbiranja podatkovnih tokov
- Potisno obvestilo
- Gostovanje spletne strani
- Pošiljanje e-pošte
Opomba: Ne pozabite, da boste storitve AWS zaračunavali šele, ko se izvede koda AWS Lambda, sicer vam ni treba plačati ničesar.
Dogodki, ki sprožijo AWS Lambda
Tu so dogodki, ki se bodo sprožili, ko uporabite AWS Lambda.
- Vstavljanje, posodabljanje in brisanje podatkov tabele Dynamo DB
- Vključitev potisnih obvestil v SNS
- Za iskanje zgodovine dnevnikov v CloudTrail
- Vstop v objekt S3
- DynamoDB lahko sproži AWS Lambda, kadar so v tabeli dodani, spremenjeni in izbrisani podatki.
- Pomaga vam razporediti dogodek za izvajanje naloge v običajnem časovnem vzorcu.
- Spremembe predmetov v vedrih S3
- Obvestila, poslana iz Amazon SNS.
- AWS Lambda se lahko uporablja za obdelavo dnevnikov CloudTrail
- API Gateway vam omogoča, da sprožite AWS Lambda na metodah GET / POST.
Koncepti AWS Lambda
Funkcija:
Funkcija je program ali skript, ki deluje v AWS Lambda. Lambda posreduje klicne dogodke v vašo funkcijo, ki obdela dogodek in vrne njegov odziv.
Čas izvajanja:
Izvajalno okolje omogoča funkcije v različnih jezikih, ki se izvajajo v istem osnovnem okolju za izvajanje. To vam pomaga konfigurirati svojo funkcijo med izvajanjem. Ujema se tudi z izbranim programskim jezikom.
Vir dogodka:
Vir dogodka je storitev AWS, kot je Amazon SNS, ali storitev po meri. Ta sprožilna funkcija vam pomaga izvesti njeno logiko.
Lambda sloji:
Lambda plasti so pomemben mehanizem distribucije za knjižnice, izvajalne izvode po meri in druge pomembne odvisnosti funkcij. Ta komponenta AWS vam pomaga tudi pri upravljanju kode razvojne funkcije ločeno od nespremenljive kode in virov, ki jih uporablja.
Dnevniki:
Pretok dnevnika vam omogoča, da svojo funkcijsko kodo označite s stavki dnevnika po meri, ki vam pomagajo analizirati tok izvajanja in delovanje vaših funkcij AWS Lambda.
Kako uporabljati AWS Lambda
Zdaj se bomo naučili, kako uporabljati AWS Lambda s primerom AWS Lambda:
1. korak: Pojdite na https://aws.amazon.com/lambda/ in začnite
Korak 2 ) Ustvarite račun ali se prijavite z obstoječim računom
Korak 3 ) Na naslednji strani Lambda
- Uredite kodo
- Kliknite Zaženi
Korak 4 ) Videli boste izhod
AWS Lambda VS AWS EC2
Tukaj je nekaj glavnih razlik med AWS Lambda in EC2.
Parametri | AWS Lambda | AWS EC2 |
Definicija | AWS Lambda je platforma kot storitev (PaaS). Pomaga vam zagnati in zagnati svojo zaledno kodo. | AWS EC2 je infrastruktura kot storitev (laaS). Zagotavlja virtualizirane računalniške vire. |
Prilagodljivost | Ne ponuja prilagodljivosti za prijavo v računske primerke. Omogoča izbiro prilagojenega operacijskega sistema ali časa izvajanja jezika. | Ponuja prilagodljivost pri izbiri različnih primerkov, sistemov za upravljanje, varnostnih popravkov in omrežja itd. |
Postopek namestitve | Izbrati morate svoje okolje, v katerem želite zagnati kodo, in potisniti kodo v AWS Lambda. | Prvič v EC2 morate izbrati operacijski sistem in namestiti vso potrebno programsko opremo ter nato potisniti kodo v EC2. |
Okoljske omejitve | Omejeno je na nekaj jezikov. | Brez omejitev okolja. |
AWS Lambda VS AWS Elastični fižol
Tukaj je nekaj glavnih razlik med AWS Lambda in Elastic Beanstalk.
Parametri | AWS Elastični fižol | AWS Lambda |
Glavna naloga | Razmestite in upravljajte aplikacije v oblaku AWS, ne da bi vas skrbelo za infrastrukturo, ki te programe izvaja. | AWS Lambda se uporablja za zagon in izvajanje vaše zaledne kode. Ne morete ga uporabiti za razmestitev aplikacije. |
Izbira virov AWS | Omogoča vam izbiro virov AWS; Izberete lahko na primer primerek EC2, ki je optimalen glede na vašo aplikacijo. | Virov AWS ne morete izbrati, kot je vrsta primerka EC2, Lambda ponuja vire glede na vašo delovno obremenitev. |
Vrsta sistema | To je sistem s stanjem države. | To je sistem brez državljanstva. |
Uporabite primere AWS Lambda
AWS Lambda se uporablja za široko paleto aplikacij, kot so:
- Pomaga vam pri postopku ETL
- Omogoča izvajanje obdelave datotek v realnem času in obdelave tokov v realnem času
- Uporabite za ustvarjanje spletnih aplikacij
- Uporaba v Amazonovih izdelkih, kot sta Alexa Chatbots in Amazon Echo / Alexa
- Obdelava podatkov (real-time streaming analytics)
- Avtomatizirane varnostne kopije vsakodnevnih opravil
- Prilagodljivi zadnji deli (mobilne aplikacije, naprave loT)
- Pomaga vam pri izvajanju logike zaledja na strani strežnika
- Omogoča filtriranje in preoblikovanje podatkov
Najboljše prakse glede funkcije Lambda
Tu je nekaj najboljših praks funkcij AWS Lambda:
- Uporabite pravi "timeout".
- Uporabite funkcije lokalnega pomnilnika, ki je v mapi / temp velik 500 MB
- Zmanjšanje uporabe zagonske kode, ki ni neposredno povezana z obdelavo trenutnega dogodka.
- Za ogled in optimizacijo zakasnitev zahtev bi morali uporabiti vgrajeno spremljanje vaših funkcij Lambda v programu CloudWatch.
Kdaj ne uporabljati AWS Lambda
Sledijo primeri, ko Lambda zagotovo ni idealna možnost:
- Ni primerno uporabljati programskih paketov ali aplikacij AWS Lambda, ki se zanašajo na klicanje osnovnih RPC-jev sistema Windows
- Če se uporablja za programe po meri z licenčnimi pogodbami, kot so obdelava dokumentov MS-Office, zbirke podatkov Oracle itd.
- AWS Lambda se ne sme uporabljati za strojne procese po meri, kot so pospeševanje GPU-ja, afiniteta strojne opreme.
Prednosti uporabe AWS Lambda
Tu so prednosti / prednosti uporabe lambda AWS:
- AWS Lambda je zelo prilagodljivo orodje za uporabo
- Pomaga vam, da omogočite dostop do virov, vključno z VPC-ji
- Avtor neposredno z urejevalnikom WYSIWYG v konzoli.
- Uporabite ga lahko kot vtičnik za Eclipse in Visual Studio.
- Ker gre za brezstrežniško arhitekturo, vam ni treba skrbeti za upravljanje ali zagotavljanje strežnikov.
- Ni vam treba nastaviti nobenega navideznega računalnika.
- Razvijalcem pomaga, da zaženejo in izvedejo odziv kode na dogodke brez gradnje infrastrukture.
- Za izračunski čas morate le, ko se koda zažene.
- Učinkovitost kode lahko v realnem času spremljate prek storitve CloudWatch.
- Omogoča vam, da zaženete svojo kodo brez priprave ali upravljate kateri koli drug strežnik
- Pomaga vam pri izvajanju kode le, kadar je to potrebno
- Lahko ga samodejno prilagodite tako, da obdela nekaj zahtev na dan in celo podpira več kot tisoč zahtev na sekundo.
- AWS Lambda je mogoče konfigurirati s pomočjo zunanjih časovnikov dogodkov za izvajanje načrtovanih nalog.
- Lambda funkcijo v AWS je treba konfigurirati z zunanjimi dogodki in časovniki; lahko se uporablja za razporejanje.
- Lambda funkcije so brez državljanstva, tako da jih je mogoče hitro prilagoditi.
- AWS Lambda je hiter, zato bo vašo kodo izvedel v milisekundah.
Omejitve AWS Lambda
Tu so slabosti / slabosti uporabe AWS Lambda:
- Orodje AWS Lambda ni primerno za manjše projekte.
- AWS Lambda se v celoti zanaša na AWS za infrastrukturo, zato ne morete namestiti dodatne programske opreme, če to zahteva vaša koda.
- Sočasno izvajanje je omejeno na 100
- AWS Lambda je bil za infrastrukturo popolnoma odvisen od AWS; ne morete namestiti ničesar dodatne programske opreme, če to zahteva vaša koda.
- Prostornina pomnilnika se lahko giblje med 128 in 1536 MB.
- Zahteva za dogodek ne sme presegati 128 KB.
- Lambda funkcije vam pomagajo zapisovati njihove dnevnike samo v CloudWatch. To je edino orodje, ki vam omogoča spremljanje ali odpravljanje težav s svojimi funkcijami.
- Čas njegove izvedbe kode je le 5 minut.
Povzetek
- Brez strežnika je izraz, ki se na splošno nanaša na aplikacije brez strežnika.
- AWS Lambda je ena takih računalniških storitev brez strežnika. Zato vam ni treba skrbeti, katere vire AWS želite zagnati ali kako jih bodo upravljali.
- Funkcija je program ali skript, ki deluje v brezsrezniški lambdi AWS.
- Izvajalno okolje omogoča funkcije v različnih jezikih, ki se izvajajo v istem osnovnem okolju za izvajanje.
- Vir dogodka je storitev AWS, kot je Amazon SNS, ali storitev po meri.
- Lambda plasti so pomemben mehanizem distribucije za knjižnice, izvajalne izvode po meri in druge pomembne odvisnosti funkcij.
- Dnevnik vam omogoča, da svojo funkcijsko kodo označite s stavki dnevnika po meri, ki vam pomagajo analizirati potek izvajanja in delovanje vaših Lambda funkcij.
- AWS Lambda je platforma kot storitev (PaaS). Pomaga vam zagnati in zagnati svojo zaledno kodo.
- AWS EC2 je infrastruktura kot storitev (laaS). Zagotavlja virtualizirane računalniške vire.
- Razmestite in upravljajte aplikacije v oblaku AWS, ne da bi vas skrbelo za infrastrukturo, ki te programe izvaja.
- AWS Lambda se uporablja za zagon in izvajanje vaše zaledne kode. Ne morete ga uporabiti za razmestitev aplikacije.
- AWS Lambda vam pomaga pri postopku ETL.
- Najboljša praksa funkcije Lambda v sistemu AWS je uporaba prave "časovne omejitve".
- Ni primerno uporabljati programskih paketov ali aplikacij AWS Lambda, ki se zanašajo na klicanje osnovnih RPC-jev sistema Windows
- AWS Lambda je zelo prilagodljivo orodje.
- Orodje AWS Lambda ni primerno za manjše projekte.
- Pogost dogodek, ki se bo sprožil, ko uporabite AWS Lambda, je Vstavljanje, posodabljanje in brisanje podatkov tabele Dynamo DB.