Výukový program AWS Lambda: Váš průvodce po Amazon Serverless Computing

Tento výukový program AWS Lambda popisuje serverovou výpočetní platformu AWS pokrývající podrobnosti o funkci Lambda, zdroji událostí, ceně Lambda s případem použití.

Výukový program AWS Lambda

Dnes si povíme o AWS Lambda. AWS Lambda je výpočetní služba nabízená společností Amazon. Musíte být zvědaví, protože existuje několik dalších výpočetních služeb od AWS, jako AWS EC2, AWS Elastic Beanstalk, AWS Opsworks atd., Tak proč další výpočetní služba? V tomto výukovém programu AWS Lambda zjistíte, co je AWS Lambda, proč se používá a ve kterých případech použití byste to měli zvážit.

jít třídit c ++

Podívejme se, jak Amazon definuje AWS Lambda, a poté se ponoříme do hloubky do klíčových konceptů, pochopíme případ použití s ​​praktickým koncem.





Lambda Serverless computing - aws lambda tutorial

Co je AWS Lambda?

Amazon vysvětluje, že AWS Lambda (& lambda) jako výpočetní služba bez serveru, což znamená, že vývojáři se nemusí starat o to, které zdroje AWS mají spustit, nebo jak je budou spravovat, pouze umístí kód na lambda a běží , je to tak jednoduché! Pomůže vám zaměřit se na základní kompetence, tj. Vytváření aplikací nebo kód.



Kde použiji AWS Lambda?

AWS Lambda provede váš backendový kód automatickou správou zdrojů AWS. Když řekneme „spravovat“, zahrnuje to spouštění nebo ukončení instancí, kontroly stavu, automatické škálování, aktualizace nebo opravy nových aktualizací atd.

Jak to tedy funguje?

Kód, který má Lambda spustit, je známý jako Funkce lambda . Nyní, jak víme, funkce běží pouze tehdy, když je volána, že? Tady, Zdroj události je entita, která spouští funkci Lambda, a poté je úloha provedena.

Uveďme si příklad, abychom tomu porozuměli jasněji.



Předpokládejme, že máte aplikaci pro nahrávání obrázků. Nyní, když nahráváte obrázek, je před uložením spousta úkolů, jako je změna velikosti, použití filtrů, komprese atd.

Takže tento úkol nahrávání obrázku lze definovat jako Zdroj události nebo „spouštěč“, který bude volat funkci Lambda, a poté lze všechny tyto úkoly provést pomocí funkce Lambda.

V tomto příkladu musí vývojář pouze definovat zdroj události a nahrát kód.

Pojďme nyní pochopit tento příklad se skutečnými prostředky AWS,

Obr. Lambda případ použití s ​​S3

Tady budeme nahrávat obrázky ve formě objektů do kbelíku S3. Toto nahrání obrázku do segmentu S3 se stane zdrojem události nebo „spouštěčem“.

Celý proces, jak vidíte na obrázku, je rozdělen do 5 kroků, pojďme pochopit každý z nich.

  1. Uživatel nahraje obrázek (objekt) do zdrojového segmentu v S3, ke kterému je připojeno oznámení, pro Lambda.
  2. Oznámení čte S3 a ten rozhodne, kam toto oznámení poslat.
  3. S3 odešle oznámení Lambda, toto oznámení funguje jako vyvolávací volání funkce lambda.
  4. Role spuštění v Lambda lze definovat pomocí IAM (Správa identit a přístupu) k udělení přístupového oprávnění pro prostředky AWS, v tomto příkladu by to bylo S3.
  5. Nakonec vyvolá požadovanou funkci lambda, která funguje na objektu, který byl nahrán do kbelíku S3.

Pokud byste tento scénář řešili tradičně spolu s vývojem, najali byste lidi na správu následujících úkolů:

  • Velikost, zřízení a zvětšení skupiny serverů
  • Správa aktualizací OS
  • Aplikujte bezpečnostní záplaty a
  • Monitorujte výkon a dostupnost této infrastruktury.

To by byl nákladný, zdlouhavý a únavný úkol, a proto je potřeba AWS Lambda oprávněná.AWS Lambda je kompatibilní s Node.JS, Python a Java, takže můžete svůj soubor nahrát ve formátu zip, definovat zdroj události a jste připraveni!

Můžete si přečíst více o S3 AWS zde pro hlubší pochopení.

Nyní víme -Jak Lambda funguje aCo lambda doe s .

Nou, pochopme -

  • Kde použít Lambdu?
  • Jakému účelu to Lambda slouží?jiné služby AWS Compute ne?

Pokud byste měli navrhnout řešení problému, měli byste být schopni určit, kde použít Lambda, že?

Jako architekt tedy máte k provedení úkolu následující možnosti:

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

Vezměme si výše uvedený případ použití jako příklad a pochopme, proč jsme k jeho řešení vybrali Lambdu.

K nasazení aplikace se používají AWS OpsWorks a AWS ElasticBeanstalk, takže náš případ použití je ne k vytvoření aplikace , ale provést back-endový kód.

Tak proč ne EC2?

Pokud byste chtěli použít EC2, museli byste vše navrhnout, tj. Vyrovnávač zatížení, svazky EBS, softwarové balíčky atd. V lambda se nemusíte o nic starat, stačí vložit svůj kód a zbytek zvládne AWS!

Například , v EC2 byste instalovali softwarové balíčky na váš virtuální stroj, který by podporoval váš kód, ale v Lambda si nemusíte dělat starosti s žádným VM, stačí vložit prostý kód a Lambda ho provede za vás.

Pokud však váš kód bude běžet hodiny a očekáváte nepřetržitý proud požadavků, měli byste pravděpodobně jít s EC2, protože architektura Lambda je pro sporadický druh pracovního vytížení, kde budou nějaké klidné hodiny a některé hroty v č. požadavků.

Například , přihlášení e-mailové aktivity řekněme malé společnosti, uvidí více aktivity během dne než v noci, také mohou existovat dny, kdy bude zpracováno méně e-mailů, a někdy vám celý e-mail může začít posílat e-maily! V obou případech je vám Lambda k službám.

Vzhledem k tomuto případu použití pro velkou společnost v oblasti sociálních sítí, kde e-maily nikdy nekončí, protože má obrovskou uživatelskou základnu, nemusí být Lambda trefnou volbou.

Můžete si přečíst více o EC2 AWS zde pro hlubší pochopení.

Omezení AWS Lambda

Některá omezení jsou specifická pro hardware a jiná jsou vázána architekturou, pojďme si o nich promluvit.

Hardwarová omezení zahrnují velikost disku, která je omezena na 512 MB, paměť se může pohybovat mezi 128 MB a 1536 MB. Pak existují i ​​další, například časový limit spuštění lze maximalizovat na pouhých 5 minut, užitečné zatížení těla požadavku může být maximálně 6 MB a tělo požadavku 128 kB. Užitečné zatížení těla požadavku je jako data, která odešlete s požadavkem „GET“ nebo „PUT“ v HTTP, kde jako tělo požadavku bude typ požadavku, hlavičky atd.

Ve skutečnosti se nejedná o omezení, ale o hranice designu, které byly stanoveny v architektuře Lambda, takže pokud se váš případ použití nehodí, máte vždy k dispozici další výpočetní služby AWS.

V tomto výukovém programu AWS Lambda Tutorial jsme diskutovali, že to, jak dělat úkoly v Lambda „není“ zdlouhavé a únavné. Pojďme nyní pokrýt také výdajovou část.

Ceny v AWS Lambda

Stejně jako většina služeb AWS je AWS Lambda také službou pay per use, což znamená, že platíte pouze to, co používáte, proto vám jsou účtovány následující parametry

  • Počet žádosti které provedete ve své funkci lambda
  • The doba trvání pro které je váš kód spuštěn.

Žádosti

  • Účtuje se vám počet požadavků, které zadáte ve všech svých funkcích lambda.
  • AWS Lambda počítá požadavek pokaždé, když se spustí v reakci na zdroj události nebo vyvolání volání, včetně testu vyvolaného z konzoly. Podívejme se nyní na ceny:
    • Prvních 1 milion požadavků, každý měsíc zdarma.
    • Následně 0,20 $ za milion požadavků.

Doba trvání

  • Doba trvání se počítá od okamžiku, kdy se váš kód začne spouštět, do okamžiku, kdy se vrátí nebo skončí, zaokrouhlí se nahoru na nejbližších 100 ms.
  • Cena závisí na množství paměti, které přidělíte své funkci, za každou použitou GB-sekundu vám bude účtováno 0,00001667 USD.

* Zdroj: oficiální web AWS

Pokud jste se dostali až sem, jste připraveni na Hands-on v Lambda. Pojďme se bavit!

Hands-on: AWS Lambda DIY

Pojďme vytvořit funkci Lambda, která zaznamená „Objekt byl přidán“, jakmile přidáte objekt do konkrétního segmentu v S3.

Krok 1: V konzole pro správu AWS v části výpočetní vyberte AWS Lambda.

Krok 2: Na konzole AWS Lambda klikněte na „Vytvořit funkci Lambda“.

Krok 3: Na další stránce musíte vybrat plán. Například vybereme prázdnou funkci pro náš případ použití.

Krok 4: Na další stránce budete (1) nastavovat spouštěč, protože budeme pracovat na S3, (2) vyberte spouštěč S3 a poté (3) klikněte na Další.

Krok 5: Na konfigurační stránce vyplňte podrobnosti. Můžete vložit vlastní kód nebo zkopírovat stejný kód z tohoto případu použití. Poté vyplňte obslužnou rutinu a roli, ponechejte pokročilá nastavení tak, jak jsou, nakonec klikněte na další.

Krok 6: Na další stránce zkontrolujte všechny informace a klikněte na „Vytvořit funkci“.

Krok 7: Nyní, protože jsme vytvořili funkci pro kbelík S3, v okamžiku, kdy do svého kbelíku S3 přidáte soubor, byste měli získat stejný záznam v CloudWatch, což je monitorovací služba od AWS.

Gratulujeme!Úspěšně jste provedli funkci Lambda.

Doufám, že jste si užili hluboký ponor do výukového programu AWS Lambda. Je to jedna z nejžádanějších oblastí znalostí v ekosystému AWS pro pracovní pozice, jako jsou Solutions Architect, Cloud Engineer, DevOps Engineer. Tady je sbírka abychom vám pomohli připravit se na další pracovní pohovor AWS.

Pokud shledáte tento AWS Lambda Tutorial relevantní, můžete se podívat na živý a instruktorský kurz Edureky na , společně vytvořené odborníky z oboru.

Máte na nás dotaz? Uveďte to prosím v sekci komentáře a my se vám ozveme.