Výukový program AWS Lambda: Váš sprievodca po výpočtoch bez servera Amazon



Tento výučbový program AWS Lambda popisuje serverovú výpočtovú platformu AWS a pokrýva podrobnosti o funkcii Lambda, zdroji udalostí, cenách Lambda s prípadom použitia.

Výukový program AWS Lambda

Dnes si povieme niečo o AWS Lambda. AWS Lambda je výpočtová služba ponúkaná spoločnosťou Amazon. Musíte byť zvedaví, pretože od AWS existuje niekoľko ďalších výpočtových služieb, ako napríklad AWS EC2, AWS Elastic Beanstalk, AWS Opsworks atď., Tak prečo ďalšia výpočtová služba? V tomto výučbe AWS Lambda zistíte, čo je AWS Lambda, prečo sa používa a v ktorých prípadoch použitia by ste to mali zvážiť.

choďte triediť c ++

Pozrime sa, ako Amazon definuje AWS Lambda, a potom sa hlboko ponoríme do kľúčových konceptov, pochopíme prípad použitia s praktickým príkladom.





Výpočty bez servera Lambda - výučba aws lambda

Čo je AWS Lambda?

Amazon vysvetľuje, že AWS Lambda (& lambda) je výpočtová služba bez servera, čo znamená, že vývojári sa nemusia obávať, ktoré zdroje AWS majú spustiť, alebo ako ich budú spravovať, iba vložia kód na lambda a spustia ho , je to také jednoduché! Pomáha vám zamerať sa na základné kompetencie, tj. Na budovanie aplikácií alebo kód.



Kde použijem AWS Lambda?

AWS Lambda vykoná váš backendový kód automatickou správou zdrojov AWS. Keď hovoríme „spravovať“, zahrnuje to spustenie alebo ukončenie inštancií, kontroly stavu, automatické prispôsobenie, aktualizácia alebo oprava nových aktualizácií atď.

Ako to teda funguje?

Kód, ktorý má Lambda spustiť, je známy ako Funkcia lambda . Teraz, ako vieme, funkcia funguje iba vtedy, keď je volaná, nie? Tu, Zdroj udalosti je entita, ktorá spúšťa funkciu Lambda, a potom sa úloha vykoná.

Urobme si príklad, aby sme to pochopili jasnejšie.



Predpokladajme, že máte aplikáciu na nahrávanie obrázkov. Keď teraz nahrávate obrázok, pred jeho uložením je potrebných veľa úloh, napríklad zmena veľkosti, použitie filtrov, kompresia atď.

Túto úlohu nahrávania obrázka teda môžeme definovať ako Zdroj udalosti alebo „spúšťač“, ktorý bude volať funkciu Lambda, a potom je možné všetky tieto úlohy vykonať prostredníctvom funkcie Lambda.

V tomto príklade musí vývojár iba definovať zdroj udalosti a nahrať kód.

Poďme teraz pochopiť tento príklad so skutočnými prostriedkami AWS,

Obr Prípad použitia lambda s S3

Sem budeme nahrávať obrázky vo forme objektov do vedra S3. Toto nahranie obrázka do segmentu S3 sa stane zdrojom udalosti alebo „spúšťačom“.

Celý proces, ako vidíte na diagrame, je rozdelený do 5 krokov, pochopme každý z nich.

  1. Užívateľ nahrá obrázok (objekt) do zdrojového segmentu v S3, ku ktorému je pripojené oznámenie, pre Lambda.
  2. Oznámenie prečíta S3 a ten rozhodne, kam má dané upozornenie poslať.
  3. S3 odošle upozornenie na Lambdu, toto upozornenie slúži ako vyvolanie volania funkcie lambda.
  4. Rolu vykonania v nástroji Lambda možno definovať pomocou IAM (Správa identít a prístupu) na udelenie prístupového povolenia pre zdroje AWS, v tomto prípade by to bol S3.
  5. Nakoniec vyvolá požadovanú funkciu lambda, ktorá funguje na objekte, ktorý bol nahraný do vedra S3.

Ak by ste tento scenár riešili tradične spolu s vývojom, najali by ste ľudí na správu týchto úloh:

  • Veľkosť, zabezpečenie a zväčšenie skupiny serverov
  • Správa aktualizácií OS
  • Použite bezpečnostné záplaty a
  • Monitorujte výkon a dostupnosť celej tejto infraštruktúry.

To by bola nákladná, namáhavá a namáhavá úloha, a preto je potreba AWS Lambda oprávnená.AWS Lambda je kompatibilný s Node.JS, Python a Java, takže môžete svoj súbor nahrať v zip formáte, definovať zdroj udalosti a máte hotovo!

Môžete si prečítať viac o S3 AWS tu pre hlbšie pochopenie.

Teraz vieme -Ako funguje Lambda aČo lambda laň s .

Nou, pochopme-

  • Kde použiť Lambdu?
  • Na čo slúži Lambda?iné služby AWS Compute nie?

Ak by ste mali navrhnúť riešenie problému, mali by ste vedieť určiť, kde použiť Lambdu, že?

Ako architekt teda máte k dispozícii nasledujúce možnosti na vykonanie úlohy:

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

Zoberme si vyššie uvedený prípad použitia ako príklad a pochopme, prečo sme si na jeho riešenie vybrali Lambdu.

Na nasadenie aplikácie sa používajú AWS OpsWorks a AWS ElasticBeanstalk, takže náš prípad použitia je nie vytvoriť aplikáciu , ale vykonať back-endový kód.

Prečo potom nie EC2?

Ak by ste chceli použiť EC2, museli by ste navrhnúť všetko, t. J. Balancer záťaže, zväzky EBS, softvérové ​​komíny atď. V lambda sa nemusíte o nič starať, stačí vložiť kód a AWS bude spravovať zvyšok!

Napríklad , v EC2 by ste nainštalovali softvérové ​​balíčky na váš virtuálny stroj, ktoré by podporovali váš kód, ale v Lambde sa nemusíte starať o žiadny VM, stačí vložiť obyčajný kód a Lambda ho vykoná za vás.

Ak však váš kód bude bežať hodiny a očakávate nepretržitý tok žiadostí, mali by ste pravdepodobne ísť s EC2, pretože architektúra Lambda slúži na sporadický druh pracovnej záťaže, kde bude niekoľko tichých hodín a niekoľko hrotov v č. tiež požiadaviek.

Napríklad , prihlásenie e-mailovej aktivity napríklad pre malú spoločnosť, zaznamenalo by viac aktivity cez deň ako v noci, tiež by mohli nastať dni, kedy bude potrebné spracovať menej e-mailov, a niekedy by vám mohol začať posielať e-maily celý svet! V obidvoch prípadoch je služba Lambda k vašim službám.

Ak vezmeme do úvahy tento prípad použitia pre veľkú spoločnosť v oblasti sociálnych sietí, kde e-maily nikdy nekončia, pretože má obrovskú užívateľskú základňu, nemusí byť Lambda trefnou voľbou.

Môžete si prečítať viac o EC2 AWS tu pre hlbšie pochopenie.

Obmedzenia AWS Lambda

Niektoré obmedzenia sú špecifické pre hardvér a niektoré sú viazané na architektúru. Poďme si predstaviť všetky.

Hardvérové ​​obmedzenia zahŕňajú veľkosť disku, ktorá je obmedzená na 512 MB, pamäť sa môže pohybovať medzi 128 MB a 1536 MB. Potom existujú aj ďalšie, napríklad časový limit vykonania je možné maximalizovať iba na 5 minút, užitočné zaťaženie tela žiadosti nesmie byť väčšie ako 6 MB a telo žiadosti je 128 kB. Užitočné zaťaženie tela žiadosti je ako dáta, ktoré odosielate s požiadavkou „GET“ alebo „PUT“ v HTTP, kde ako telo žiadosti by mal byť typ žiadosti, hlavičky atď.

V skutočnosti nejde o obmedzenia, ale o hranice dizajnu, ktoré boli stanovené v architektúre Lambda, takže ak váš prípad použitia tieto nezodpovedá, máte vždy k dispozícii ďalšie výpočtové služby AWS.

V tomto príručke AWS Lambda Tutorial sme diskutovali, že to, ako robiť úlohy v Lambde, nie je „namáhavé a namáhavé. Poďme si teraz pokryť aj výdavkovú časť.

Ceny v AWS Lambda

Rovnako ako väčšina služieb AWS, aj AWS Lambda je služba platenia za použitie, čo znamená, že platíte iba to, čo používate, a preto sú vám účtované nasledujúce parametre

  • Počet žiadosti ktoré urobíte pre svoju funkciu lambda
  • The trvanie pre ktorý sa vykonáva váš kód.

Žiadosti

  • Účtuje sa vám počet žiadostí, ktoré zadáte vo všetkých svojich funkciách lambda.
  • AWS Lambda počíta požiadavku zakaždým, keď sa začne vykonávať v reakcii na zdroj udalosti alebo vyvolanie hovoru, vrátane testu vyvolaného z konzoly. Pozrime sa teraz na ceny:
    • Prvých 1 milión žiadostí každý mesiac je zadarmo.
    • Následne 0,20 $ za milión žiadostí.

Trvanie

  • Trvanie sa počíta od okamihu, keď sa váš kód začne vykonávať, až do okamihu, keď sa vráti alebo skončí, zaokrúhli sa na najbližších 100 ms nahor.
  • Cena závisí od množstva pamäte, ktorú pridelíte svojej funkcii. Za každú použitú GB-sekundu sa vám účtuje 0,00001667 USD.

* Zdroj: Oficiálna webová stránka AWS

Ak ste sa dostali až sem, ste pripravení na praktický výcvik v Lambde. Poďme sa zabaviť!

Hands-on: AWS Lambda pre domácich majstrov

Poďme vytvoriť funkciu Lambda, ktorá zaznamená „Objekt bol pridaný“, akonáhle pridáte objekt do konkrétneho segmentu v S3.

Krok 1: V konzole AWS Management Console v časti Compute zvoľte AWS Lambda.

Krok 2: Na konzole AWS Lambda Console kliknite na „Vytvoriť funkciu Lambda“.

Krok 3: Na nasledujúcej stránke musíte zvoliť podrobný plán. Napríklad vyberieme prázdnu funkciu pre náš prípad použitia.

Krok 4: Na nasledujúcej stránke budete (1) nastavovať spúšťač, pretože budeme pracovať na S3, (2) zvoliť spúšťač S3 a (3) kliknúť na Ďalej.

Krok 5: Na konfiguračnej stránke vyplňte podrobnosti. Môžete vložiť vlastný kód alebo môžete skopírovať rovnaký kód z tohto prípadu použitia. Potom vyplňte obslužný program a rolu, nechajte rozšírené nastavenia tak, ako sú, nakoniec kliknite na Ďalej.

Krok 6: Na nasledujúcej stránke skontrolujte všetky informácie a kliknite na „Vytvoriť funkciu“.

Krok 7: Teraz, keď sme vytvorili funkciu pre vedro S3, v okamihu, keď do svojho vedra S3 pridáte súbor, mali by ste dostať rovnaký protokol v službe CloudWatch, čo je monitorovacia služba od AWS.

Blahoželáme!Úspešne ste vykonali funkciu Lambda.

Dúfam, že sa vám hlboký ponor do výučby AWS Lambda páčil. Je to jedna z najžiadanejších oblastí znalostí v ekosystéme AWS pre pracovné pozície, ako sú Solutions Architect, Cloud Engineer, DevOps Engineer. Tu je zbierka ktorý vám pomôže pripraviť sa na ďalší pracovný pohovor AWS.

Ak sa vám zdá tento výučbový program AWS Lambda relevantný, môžete sa pozrieť na živý kurz Edureky a kurz vedený inštruktorom na , spoluvytvorené odborníkmi v odbore.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov a my sa vám ozveme.