Úvod do AWS Lambda

AWS Lambda je responzívna cloudová služba, ktorá kontroluje činnosti aplikácie a reaguje nasadením užívateľsky definovaných kódov známych ako funkcie. Predtým, ako sa túto tému do hĺbky naučíme, najprv porozumieme AWS Lambda z dvoch rôznych scenárov.

problém

Máte na mysli projekt. Vo svojej mysli formulujete algoritmus. Posudzujete možnosti zásobníka technológií, ktoré môžete použiť na vytvorenie vášho projektu. Všetko sa darí veľmi dobre, kým si neuvedomíte, že si musíte stiahnuť požadovaný softvér, IDE, nástroje a zaobstarať si serverový priestor, ktorý slúži vášmu kódu. Dobre, budete musieť nastaviť základnú infraštruktúru skôr, ako začnete skutočné kódovanie vo vašom projekte. Ohh, ale potrebujete, aby vaša aplikácia fungovala bez problémov na počítačoch aj na mobilných rozhraniach. To znamená, že pred zásahom do pozemného kódovania je potrebné vytvoriť viac infraštruktúry.

Príliš veľa režijných nákladov na počiatočné fázy vývoja? Príliš veľa režijných nákladov na správu infraštruktúry, aj keď sa váš projekt rozširuje? Prekračuje váš projekt odhad nákladov? Je vaše zameranie rozdelené medzi všetky veci okrem kódovania?

Riešenie - To sú problémy, ale riešením je AWS Lambda.

AWS Lambda - bez serverov

AWS Lambda vám umožní spustiť váš kód bez zabezpečenia serverov a inej podpornej infraštruktúry. Môžete kódovať v ľubovoľnom type aplikácie alebo backendovej služby bez obáv zo servera alebo podporovaných DLL / softvéru. Musíte sa zamerať iba na svoj kód. Odpočinok o všetko sa postará AWS, počnúc od doručenia kódu, cez spustenie kódu pri konkrétnych udalostiach až po spravovanie väčšieho priestoru na serveri, keď sa váš kód zväčšuje.

  • AWS vám účtuje účty v závislosti od času vykonávania kódu v násobkoch 100 milisekúnd. Za čas nečinnosti kódu na serveri sa neplatí. Aká lepšia motivácia písať efektívny kód!
  • Výraz „bez servera“ často označuje posun k cloudu. Vďaka cloudu môžete delegovať svoje prevádzkové povinnosti na AWS a viac sa zamerať na poskytovanie lepšej zákazníckej skúsenosti prostredníctvom svojej aplikácie.
  • Aj keď tak urobíte, AWS rieši úlohy, ako sú správa infraštruktúry, klastrovanie, opravy, bezpečnosť, údržba operačného systému atď.

Prečo AWS Lambda?

Rovnako ako ľudská povaha je vždy dobré posúdiť, či táto technológia / nástroj stojí za to. Pozrime sa na niektoré z funkcií AWS Lambda, ktoré vývojárom uľahčujú život.

1) Prineste si vlastný kód

Keďže spoločnosť AWS túto funkciu veľmi miluje, spoločnosť Lambda vám umožňuje kódovať v akomkoľvek jazyku a základná podpora poskytuje spoločnosť AWS. Podporuje takmer všetky pôvodné jazyky, rámce jazyka JavaScript, knižnice tretích strán a čo nie.

2) Hostiteľ ďalších služieb AWS

AWS je jednotné kontaktné miesto pre všetku potrebnú infraštruktúru. Má ľahkú integráciu do rôznych služieb, ako sú úložisko (S3), databázy (RDS, DynamoDB), servery (EC2), správa bezpečnosti (IAM), sieťové pripojenie (Route53, CloudFront) a mnoho ďalšieho.

3) Vlastný kód

Potrebujete napísať vlastnú back-end logiku šitú na mieru pre jedného klienta? Namiesto toho, aby ste písali logiku na strane klienta, použite AWS Lambda na písanie vlastných služieb a zbavte svoj kód aktualizácií klientskej platformy.

4) Platenie za použitie

Nemusíte vyhadzovať peniaze za čas, keď váš kód nečinne stojí. Ak vaša služba prijíma prístupy iba počas dňa, platte iba za čas, keď sa váš kód spustí. Vypočíta sa to v časových rámcoch 100 milisekúnd.

5) Automatické škálovanie

AWS automaticky rozširuje zdroje, keď vaša služba dostane vyššie prístupy. Na obstaranie ďalších zdrojov nemusíte nič konfigurovať. Počet žiadostí, ktoré váš kód zvládne, nie je nijako obmedzený. Výkon teda zostáva stále vysoký.

6) Amazon's Disaster Recovery

S vašim kódom a údajmi replikovanými vo viacerých zónach dostupnosti žiadne zlyhanie zariadenia neovplyvní vašu aplikáciu. Žiadosti sú automaticky smerované do inej zóny.

Začnime s výučbou AWS Lambda

Vzrušený? Začnime s AWS Lambda. Keďže je to vo svete programovania zvyčajné, mali by sme začať jednoduchým programom „Hello World“.

Predbežné kroky

Ak chcete začať s AWS Lambda, musíte mať účet AWS. Od účtu Amazon, ktorý používate na nakupovanie, sa líši. Ak ho už máte, prihláste sa do konzoly a prejdite na ďalšiu časť. Ak nie, postupujte podľa nasledujúcich krokov. Nerobte si starosti, je úplne zadarmo, pokiaľ vaša aplikácia nepresiahne limit voľnej úrovne.

Vytvorte si účet AWS

  • Otvorte konzolu AWS. Kliknite na Vytvoriť nový účet AWS.

  • Vyplňte svoje informácie a aktualizujte informácie o svojej karte. Spoločnosť Amazon vám nič neúčtuje, pokiaľ neprekročíte limit na používanie bezplatne. Hranica voľného použitia je dostatočná pre vývoj jedného používateľa.
  • Po dokončení procesu registrácie znova prejdite na odkaz v kroku 1. Tentoraz sa prihláste do konzoly pomocou svojho používateľského mena a hesla.

Zadajte konzolu Lambda

Po prihlásení do konzoly správy AWS sa v podokne hlavičky zobrazí odkaz na Služby. Kliknite na ňu a nájdete Lambdu vnútri podsekcie Výpočet .

Takto vyzerá konzola lambda na prvý pohľad:

Môžete tiež prejsť na informačný panel Lambda a zobraziť štatistiky svojho kódu. Poskytuje vám prehľad o počte vyvolávaní, trvaní vykonania, pomere úspešnosti a chyby atď. Vzorový informačný panel vyzerá takto.

Dobre, ďalším krokom je vytvorenie funkcie. Všetky kódy v Lambda sa nazývajú funkciami, pretože dobre vykonávajú určitú úlohu. Všimnite si tlačidlo Vytvoriť funkciu v pravom hornom rohu konzoly Lambda. Týmto tlačidlom sa dostanete na nasledujúcu obrazovku:

Vytvorenie funkcie AWS Lambda

Pozrime sa, ako vytvoriť funkciu AWS Lambda, vykonaním nasledujúcich krokov.

Krok 1

Teraz máme na výber tri možnosti:

  • Autor od nuly - dostanete prázdnu šablónu a môžete napísať svoj kód od nuly.
  • Použite plán - šablónu s niektorými knižnicami, ktoré sú súčasťou vašich potrieb. Musíte iba pracovať na logike kódu.
  • Prehliadať úložisko aplikácií bez serverov - pripravené na použitie vstavaných kódov vykonávajúcich rôzne funkcie. Tieto sa dajú ľahko použiť aj vo vašom kóde.

Aby sme vyhoveli nášmu účelu porozumenia Lambdy, mali by sme ísť najprv pomocou plánu. Akonáhle budete mať dostatočnú sebadôveru, môžete začať vytvárať kód od začiatku a skúmať potenciál AWS Lambda.

Teraz kliknite na Použiť plán a vyhľadajte slovo ahoj. Zobrazia sa nasledujúce výsledky. Vytvorme našu aplikáciu hello world pomocou NodeJS.

Krok 2

Teraz sa dostávame na obrazovku konfigurácie našej funkcie. Zadajte názov podľa vášho výberu a z rozbaľovacej ponuky vyberte položku Vytvoriť novú úlohu zo šablón pravidiel AWS. Názov roly uveďte ako „lambda_basic_execution“.

Poznámka - Vykonávacia rola definuje oprávnenia, ktoré môže AWS Lambda získať pri vykonávaní vášho kódu. Základné vykonanie znamená, že lambda jednoducho vykoná kód, ak nie je zapojená žiadna knižnica tretích strán. V prípade, že váš kód potrebuje interagovať s Amazon S3 alebo RDS alebo EC2 alebo inými službami, musíte mať k dispozícii funkciu lambda AWS.

Kliknite na tlačidlo Vytvoriť funkciu v dolnej časti obrazovky. Po úspešnom vytvorení vašej funkcie sa zobrazí nasledujúca obrazovka.

Poznámka - Názov zdroja ARN alebo Amazon je jedinečný názov vašej funkcie. Môže sa to použiť ako koncový bod na spustenie vašej funkcie. Spúšťače v návrhovej časti sú miesta, kde pridáte služby, ktoré môžu spustiť vašu funkciu. V každej službe, ktorá môže spustiť vašu funkciu, bude potrebné nakonfigurovať ARN vašej funkcie. Je to ako obojsmerné viazanie služieb. Spúšťacia služba by vedela, že musí zasiahnuť vašu funkciu a vaša funkcia by bola nakonfigurovaná na prijímanie požiadaviek od spúšťacích služieb, ktoré pridáte. Pridanie spúšťačov je ďalšou úrovňou lambda tutoriálov a je mimo rozsahu tohto článku.

Krok 3

Pod podsekciou návrhára je podsekcia kódu funkcie. Toto je vaše vložené IDE podporované spoločnosťou Amazon. Vyzerá to takto:

  • V rozbaľovacej ponuke Typ zadania kódu môžete vybrať, či chcete upraviť kód vložený do súboru alebo nahrať súbor zip z vášho systému alebo nahrať súbor zip z Amazonu S3. Možnosti nahrávania môžu byť použité pre zložité kódy, ktoré môžu byť ľahko editované v nejakom lepšie vybavenom IDE vo vašom lokálnom systéme.
  • Runtime je jazyk / framework, ktorý podporuje váš kód.
  • Handler je funkcia vyvolania vo vašej funkcii lambda AWS. Vaša funkcia AWS lambda môže mať viac obslužných programov a môžete určiť, s ktorým obslužným zariadením sa má spustiť vykonávanie. Obsluhy obrázkov ako metódy určené na vykonávanie konkrétnych úloh.

Krok 4

V hornej časti stránky sa zobrazuje pás s niektorými tlačidlami. Kliknutím na Vybrať testovaciu udalosť otestujete náš kód. Týmto sa zobrazí výzva na konfiguráciu testovacej udalosti v prípade, že sa nevytvorí žiadna.

Nakonfigurujte svoju prvú testovaciu udalosť, ako je uvedená nižšie:

Uložte testovaciu udalosť a kliknite na Test. Uvidíte výsledky vykonávania vašej funkcie.

  • Odpoveď - Konečný výsledok vrátený vašou funkciou. Všimnite si, že naša funkcia vrátila key1.
  • ID žiadosti - Každá požiadavka na vašu funkciu má jedinečné ID požiadavky. Amazon ich používa na sledovanie žiadostí a generovanie fakturačných informácií.
  • Protokoly funkcií - najzrozumiteľnejšia časť AWS Lambda. Toto sú podrobné denníky, ktoré určujú začiatok a koniec vykonávania vašej funkcie. Na rozdiel od ladenia v bežných IDE, AWS Lambda sa pri ladení silne spolieha na protokoly. Sú uložené v službe CloudWatch aj pre budúce referencie.

Blahoželáme! Úspešne ste vytvorili funkciu Lambda. Ale počkajte, ešte sme sa na to neobrátili. Iba sme to otestovali z vlastného prostredia. Vyvolajme to z vonkajšieho sveta.

Vyvolanie funkcie AWS Lambda

Vytvorili by sme REST API na vyvolanie funkcie Lambda.

Krok 1

Prejdite na bránu Amazon API Gateway. Nájdete ho aj v časti Služby -> Práca v sieti a doručovanie obsahu. Kliknite na Create API.

Krok 2

Nakonfigurujte základné podrobnosti rozhrania API a kliknite na tlačidlo Vytvoriť rozhranie API.

Krok 3

Teraz je vaše API vytvorené, ale v API nie je definovaná žiadna metóda HTTP. Kliknite na rozbaľovaciu ponuku Akcie a Vytvoriť metódu. V ľavej časti okna sa zobrazí menšie rozbaľovacie menu. V tomto rozbaľovacom zozname kliknite na GET. V podstate teda vytvárame pre naše API metódu HTTP GET.

Krok 4

Nakonfigurujte svoju metódu GET tak, aby vyvolala funkciu lambda, ako je to znázornené nižšie. V poli Lambda Function musíte špecifikovať ARN vašej funkcie Lambda. Kliknite na Uložiť.

Po uložení vašej metódy GET by ste sa dostali na nižšie uvedenú obrazovku vykonávania metódy.

Krok 5

Teraz je tiež vytvorená vaša metóda GET. Stále sme však nedodali páry kľúč - hodnota, ktoré sme urobili v našom testovacom prostredí. Naša funkcia AWS Lambda očakáva tri kľúče a hodnoty. Definujme ich.

Kliknite na žiadosť o integráciu a prejdite nadol na Mapovacie šablóny. Definujte svoju mapovaciu šablónu ako je uvedené nižšie. Typ obsahu je application / json. Toto je jednoducho formát parametrov, ktoré by ste poslali v tele žiadosti.

Rozhranie API je teraz pripravené na nasadenie.

Krok 6

Kliknite na Action and Deploy API. V rozbaľovacom zozname nasadenia vyberte položku New Stage a zadajte zmysluplný názov a popis.

Dostanete sa na spodnú obrazovku s koncovým bodom REST rozhrania API nakonfigurovaným a pripraveným na použitie.

Kliknite na koncový bod a prehliadač odošle žiadosť funkcii Lambda a zobrazí odpoveď.

Blahoželáme! Úspešne ste vyvolali aj svoju funkciu Lambda. Docela úspech.

Kto sa môže učiť AWS Lambda

Teraz musí byť zrejmé, že funkcia AWS Lambda vyžaduje trochu vedomostí o službách, nasadení služieb, požiadavkách a reakciách. Toto sú základné veci, ktoré musí každý počítačový programátor vedieť, aby mohol vytvárať webové aplikácie. Ak nemáte dostatočné vedomosti o tomto predmete, odporúča sa získať tieto znalosti, aby sa zaistilo bezproblémové kódovanie v AWS Lambda.

AWS má tiež komplexnú dokumentáciu o všetkých svojich službách. Preskúmajte dokumentáciu, aby ste lepšie porozumeli svetu AWS.

Kariéra v AWS Lambda

Nie je to len Lambda, ale celý sektor Amazon Web Services je dnes na vzostupe. Existuje dopyt po expertoch na služby AWS. AWS tiež poskytuje certifikáty, ktoré vyhovujú vašej úrovni odbornosti. Preskúmajte webovú stránku AWS, kde nájdete ďalšie informácie.

záver

Teraz, keď ste pochopili základy funkcií AWS Lambda, pokračujte vo vytváraní ďalších funkcií a integrácii s ostatnými službami AWS. Neustále hrajte a učte sa. Na zdravie!

Odporúčané články

Toto bol návod, čo je AWS Lambda. V tomto tutoriále o funkcii AWS Lambda sme vysvetlili, ako nakonfigurovať a nasadiť API. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Čo je AWS? | Ako to funguje?
  2. Kariéra v Azure Vzdelávanie Profesijnú dráhu
  3. Sprievodca službami cloud computingu
  4. Aké sú alternatívy k AWS?
  5. Kompletný sprievodca poskytovateľmi služieb cloud computingu

Kategórie: