Úvod do AWS Lambda

AWS Lambda je responzivní cloudová služba, která kontroluje akce aplikace a reaguje nasazením uživatelem definovaných kódů známých jako funkce. Než se toto téma do hloubky naučíme, nejprve pochopíme AWS Lambdu ze dvou různých scénářů.

Problém

Máte na mysli projekt. Formulujete algoritmus ve své mysli. Vyhodnocujete možnosti zásobníku technologií, které můžete použít k sestavení projektu. Vše jde velmi dobře, dokud si neuvědomíte, že ke stažení kódu potřebujete stáhnout požadovaný software, IDE, nástroje a získat serverový prostor. Dobře, budete muset nastavit základní infrastrukturu, než začnete s vlastním kódováním projektu. Ohh, ale potřebujete, aby aplikace fungovala hladce v počítačích i v mobilních rozhraních. To znamená, že je třeba nastavit více infrastruktury, než se dotknete pozemního kódování.

Příliš velká režie pro počáteční fáze vývoje? Příliš velká režie na správu infrastruktury, i když se váš projekt rozšiřuje? Překračuje váš projekt odhad nákladů? Je vaše zaměření rozděleno na všechny věci kromě kódování?

Řešení - To jsou problémy, ale řešením je AWS Lambda.

AWS Lambda - bez serverů

AWS Lambda vám umožní spustit kód bez zajištění serverů a další podpůrné infrastruktury. Můžete kódovat v libovolném typu aplikace nebo backendové služby, aniž byste se museli obávat serveru nebo podporovaných DLL / softwaru. Stačí se soustředit na svůj kód. O zbytek se postará AWS, počínaje obsluhováním kódu, spuštěním kódu na konkrétní události až po správu více prostoru na serveru, když se váš kód zvětší.

  • AWS vám účtuje účty v závislosti na době provádění kódu v násobcích 100 milisekund. Za čas, kdy je váš kód nečinný na serveru, se neplatí žádné poplatky. Jaká lepší motivace k psaní efektivního kódu!
  • Termín „bez serveru“ často označuje posun do cloudu. Díky cloudu můžete delegovat své provozní povinnosti na AWS a více se zaměřit na poskytování lepších zákaznických zkušeností prostřednictvím vaší aplikace.
  • AWS přitom zpracovává úkoly, jako je správa infrastruktury, klastrování, opravování, zabezpečení, údržba operačního systému atd.

Proč AWS Lambda?

Stejně jako lidská povaha je vždy dobré posoudit, zda daná technologie / nástroj stojí za to. Podívejme se na některé z funkcí AWS Lambda, které vývojářům usnadní život.

1) Přineste si svůj vlastní kód

Protože AWS velmi laskavě vychloubá tuto funkci, Lambda vám umožní kódovat v jakémkoli jazyce a AWS by poskytla základní podporu. Podporuje téměř všechny rodné jazyky, JavaScripty, knihovny třetích stran a co ne.

2) Host dalších služeb AWS

AWS je komplexní kontaktní místo pro veškerou potřebnou infrastrukturu. Má snadnou integraci do různých služeb, jako jsou úložiště (S3), databáze (RDS, DynamoDB), servery (EC2), správa zabezpečení (IAM), sítě (Route53, CloudFront) a mnoho dalšího.

3) Vlastní kód

Potřebujete napsat vlastní logiku back-end šitou na míru pro jednoho klienta? Namísto psaní logiky na straně klienta použijte AWS Lambda k napsání vlastních služeb a zbavte váš kód aktualizací klientské platformy.

4) Platit za použití

Po dobu, kdy je váš kód nečinný, nemusíte vysílat peníze. Pokud vaše služba přijímá požadavky na server pouze během dne, platte pouze za dobu provedení kódu. To se počítá v časových rámcích 100 milisekund.

5) Automatické měřítko

AWS automaticky rozšiřuje zdroje, když vaše služba obdrží vyšší požadavky na server. Chcete-li získat další zdroje, nemusíte nic konfigurovat. Počet žádostí, které váš kód zvládne, není nijak omezen. Výkon tedy zůstává stále vysoký.

6) Amazon's Disaster Recovery

S vaším kódem a daty replikovanými ve více zónách dostupnosti žádné selhání zařízení neovlivní vaši aplikaci. Požadavky jsou automaticky směrovány do jiné zóny.

Začínáme s výukovým programem AWS Lambda

Vzrušený? Začněme s AWS Lambda. Protože je to v celém programovém světě obvyklé, měli bychom začít jednoduchým programem „Hello World“.

Předběžné kroky

Abyste mohli začít s AWS Lambda, musíte mít účet AWS. Liší se od účtu Amazon, který používáte pro nakupování. Pokud ji již máte, přihlaste se ke konzole a přejděte k další části. Pokud ne, postupujte podle následujících kroků. Nebojte se, je zcela zdarma, pokud vaše aplikace nepřesáhne limit volné úrovně.

Vytvořte si účet AWS

  • Otevřete konzolu AWS. Klikněte na Vytvořit nový účet AWS.

  • Vyplňte své údaje a aktualizujte údaje o své kartě. Společnost Amazon vám nic neúčtuje, pokud nepřekročíte limit využití na volných úrovních. Limit použití na volném stupni je hojný pro vývoj jednoho uživatele.
  • Po dokončení procesu registrace znovu navštivte odkaz v kroku 1. Tentokrát se přihlaste do konzole pomocí svého uživatelského jména a hesla.

Vstupte do Lambda Console

Po přihlášení do konzoly správy AWS se v podokně záhlaví zobrazí odkaz na Služby. Klikněte na něj a najdete Lambdu uvnitř Compute subsection.

Takto vypadá lambda konzole na první pohled:

Můžete také přejít na panel Lambda a zobrazit statistiky vašeho kódu. To vám umožní nahlédnout do počtu vyvolání, délky provádění, úspěšnosti a chybovosti atd. Ukázkový panel vypadá podobně jako níže.

Dobře, dalším krokem je vytvoření funkce. Všechny kódy v Lambdě jsou označovány jako funkce, protože dobře plní určitý úkol. Všimněte si tlačítka Vytvořit funkci v pravém horním rohu konzoly Lambda. Tímto tlačítkem se dostanete na následující obrazovku:

Vytvoření funkce AWS Lambda

Podívejme se, jak vytvořit funkci AWS Lambda, pomocí následujících kroků.

Krok 1

Nyní máme tři možnosti:

  • Autor od nuly - Dostanete prázdnou šablonu a můžete psát svůj kód od nuly.
  • Použijte plán - šablona s některými knihovnami zahrnutými podle vašich potřeb. Stačí pracovat na logice kódu.
  • Procházet úložiště aplikací bez serveru - připraveno k použití vestavěných kódů provádějících různé funkce. Lze je také snadno použít ve vašem kódu.

Abychom vyhověli našemu účelu porozumět Lambdě, nejdřív bychom šli s použitím plánu. Jakmile budete mít dost sebevědomí, můžete začít vytvářet kód od nuly a prozkoumat potenciál AWS Lambda.

Nyní klikněte na Použít plán a vyhledejte slovo ahoj. Zobrazí se následující výsledky. Vytvořme naši aplikaci hello world pomocí NodeJS.

Krok 2

Nyní dorazíme na konfigurační obrazovku pro naši funkci. Zadejte název podle svého výběru a v rozevíracím seznamu vyberte položku Vytvořit novou roli ze šablon zásad AWS. Pojmenujte roli „lambda_basic_execution“.

Poznámka - Prováděcí role definuje oprávnění, která může AWS Lambda získat při provádění kódu. Základní provedení znamená, že lambda jednoduše provede kód, pokud není zapojena žádná knihovna třetích stran. V případě, že váš kód potřebuje interagovat s Amazon S3 nebo RDS nebo EC2 nebo jinými službami, musí být vaší funkci AWS lambda udělena příslušná oprávnění pro přístup k těmto službám.

Klikněte na tlačítko Vytvořit funkci ve spodní části obrazovky. Po úspěšném vytvoření funkce se zobrazí následující obrazovka.

Poznámka - Název zdroje ARN nebo Amazon je jedinečné jméno vaší funkce. To lze použít jako koncový bod ke spuštění vaší funkce. Spouštěče v sekci návrháře jsou přidáním služeb, které mohou spustit vaši funkci. V každé službě, která může spustit vaši funkci, bude třeba nakonfigurovat ARN vaší funkce. Je to jako obousměrné vázání služeb. Spouštěcí služba by věděla, že musí zasáhnout vaši funkci a vaše funkce by byla nakonfigurována tak, aby přijímala požadavky od spouštěcích služeb, které přidáte. Přidání spouštěčů je další úrovní výuky lambda a je nad rámec tohoto článku.

Krok 3

Pod návrhovou podsekcí je podčást Funkční kód. Toto je vaše inline IDE podporované Amazonem. Vypadá to takto:

  • V rozevíracím seznamu Typ zadání kódu můžete vybrat, zda chcete upravit kód inline nebo nahrát soubor zip z vašeho systému nebo nahrát soubor zip z Amazonu S3. Možnosti nahrávání lze použít pro složité kódy, které lze snadno upravovat v nějakém lépe fungujícím IDE ve vašem místním systému.
  • Runtime je jazyk / framework, který podporuje váš kód.
  • Popisovač je funkce vyvolání uvnitř vaší funkce AWS lambda. Vaše funkce AWS lambda může mít více obslužných programů a můžete určit, s jakým obslužným programem se má spustit spuštění. Obsluhy obrázků jako metody určené k provádění konkrétních úkolů.

Krok 4

V horní části stránky uvidíte pruh s některými tlačítky. Kliknutím na Vybrat zkušební událost otestujte náš kód. Budete vyzváni, abyste nakonfigurovali testovací událost, pokud nebude vytvořena žádná.

Nakonfigurujte svou první testovací událost, jako je ta níže:

Uložte testovací událost a klikněte na Test. Uvidíte výsledky provádění vaší funkce.

  • Odpověď - Konečný výsledek vrácený vaší funkcí. Všimněte si, že naše funkce vrátila key1.
  • ID požadavku - Každý požadavek na vaši funkci má jedinečné ID požadavku. Používá je Amazon ke sledování požadavků a generování fakturačních údajů.
  • Protokoly funkcí - nejvzhlednější část AWS Lambda. Jedná se o podrobné protokoly, které určují začátek a konec provádění vaší funkce. Na rozdíl od ladění v běžných IDE se AWS Lambda silně spoléhá na protokoly pro účely ladění. Jsou uloženy v CloudWatch pro budoucí reference.

Gratulujeme! Úspěšně jste vytvořili funkci Lambda. Ale počkejte, ještě jsme se na to neobrátili. Právě jsme to testovali z našeho vlastního prostředí. Pojďme to vyvolat z vnějšího světa.

Vyvolání funkce AWS Lambda

Vytvořili bychom REST API pro vyvolání funkce Lambda.

Krok 1

Přejděte na Amazon API Gateway. Najdete ji také v části Služby -> Sítě a doručování obsahu. Klikněte na Create API.

Krok 2

Nakonfigurujte základní podrobnosti o API níže a klikněte na Vytvořit API.

Krok 3

Nyní je vaše API vytvořeno, ale v API není definována žádná metoda HTTP. Klikněte na rozbalovací nabídku Akce a Vytvořit metodu. V levém podokně uvidíte menší rozevírací nabídku. V tomto rozbalovacím seznamu klikněte na GET. V zásadě tedy vytváříme pro naše API metodu HTTP GET.

Krok 4

Nakonfigurujte metodu GET tak, aby vyvolala funkci lambda, jak je znázorněno níže. V poli Lambda Function musíte zadat ARN funkce Lambda. Klikněte na Uložit.

Jakmile je vaše metoda GET uložena, dostanete se na níže uvedenou obrazovku Provedení metody.

Krok 5

Nyní je také vytvořena vaše metoda GET. Ale stále jsme nedodali páry klíč-hodnota, které jsme provedli v našem testovacím prostředí. Naše funkce AWS Lambda očekává tři klíče a hodnoty. Pojďme je definovat.

Klikněte na žádost o integraci a přejděte dolů na Mapovací šablony. Definujte svou mapovací šablonu níže. Typ obsahu je application / json. Toto je prostě formát parametrů, které byste odeslali v těle požadavku.

Rozhraní API je nyní připraveno k nasazení.

Krok 6

Klikněte na Action and Deploy API. V rozevíracím seznamu nasazení vyberte New Stage a zadejte smysluplný název a popis.

Dostanete se na níže uvedenou obrazovku s koncovým bodem REST vašeho API nakonfigurovaným a připraveným k použití.

Klikněte na koncový bod a prohlížeč odešle požadavek vaší funkci Lambda a zobrazí odpověď.

Gratulujeme! Úspěšně jste také spustili svou funkci Lambda. Docela úspěch.

Kdo se může učit AWS Lambda

Nyní musí být zřejmé, že funkce AWS Lambda vyžaduje trochu znalostí o službách, nasazení služeb, požadavcích a odpovědích. Toto jsou základní věci, které musí každý počítačový programátor znát, aby mohl vytvářet webové aplikace. Pokud nemáte dostatečné znalosti o tomto předmětu, doporučujeme tyto znalosti získat, aby bylo zajištěno bezproblémové kódování v AWS Lambda.

AWS má také komplexní dokumentaci o všech svých službách. Prohlédněte si dokumentaci pro hlubší pochopení světa AWS.

Kariéra v AWS Lambda

Není to jen Lambda, ale celý sektor Amazon Web Services je dnes na vzestupu. Existuje poptávka po odbornících na služby AWS. AWS také poskytuje certifikáty odpovídající vaší úrovni znalostí. Prohlédněte si webovou stránku AWS, kde najdete další informace.

Závěr

Nyní, když jste pochopili základy funkcí AWS Lambda, pokračujte vytvořením dalších funkcí a integrací s ostatními službami AWS. Pokračujte ve hře a učte se. Na zdraví!

Doporučené články

Toto byl průvodce Co je AWS Lambda. V tomto tutoriálu o funkci AWS Lambda jsme vysvětlili, jak konfigurovat a implementovat API. Další informace naleznete také v dalších navrhovaných článcích -

  1. Co je AWS? | Jak to funguje?
  2. Kariéra v Azure | Vzdělávání | Kariérní cesta
  3. Průvodce službami cloud computingu
  4. Jaké jsou alternativy k AWS?
  5. Kompletní průvodce poskytovateli cloudových služeb

Kategorie: