Úvod do AWS Lambda pro začátečníky

Pojďme se naučit základy AWS Lambda a jak spustit funkci krok za krokem.

Úvod

Když vytváříte aplikace, chcete, aby poskytovaly vynikající uživatelský zážitek. Aby se kouzlo stalo, vaše aplikace potřebuje backendový kód, který běží v reakci na události.

Správa infrastruktury pro hostování a spouštění backendového kódu však vyžaduje, abyste dimenzovali, zajišťovali a škálovali spoustu serverů, spravovali aktualizace operačního systému, aplikovali bezpečnostní záplaty a následně monitorovali výkon a dostupnost celé této infrastruktury.

Nebylo by hezké, kdybyste se mohli soustředit na vytváření skvělých aplikací, aniž byste se museli starat o jejich infrastrukturu? Zde přichází na scénu AWS Lambda.

Co je AWS Lambda?

AWS Lambda je výpočetní služba bez serveru, která vám umožní spouštět váš kód, aniž byste se museli starat o poskytování nebo správu jakéhokoli serveru. Svou aplikaci nebo backendovou službu můžete provozovat pomocí AWS Lambda s nulovou administrací. Stačí nahrát svůj kód na Lambda a ono spustí váš kód, dokonce i škáluje infrastrukturu s vysokou dostupností.

Kód, který spustíte na AWS Lambda, se nazývá funkce lambda. V současné době podporuje následující programovací jazyky:

  • Jáva
  • Krajta
  • C#
  • Node.js
  • Jít
  • PowerShell
  • Rubín

Poskytuje také runtime API, které lze použít ke spouštění funkcí napsaných v jiných (nativních) programovacích jazycích.

Pro práci s AWS Lambda existuje pouze jeden předpoklad; měli byste mít účet na AWS, odkud máte přístup ke konzole pro správu AWS.

  Jak nastavit časový limit aplikace na iPhone a iPad

Lambda je FaaS (Function-as-a-Service) od AWS.

Vlastnosti AWS Lambda

Níže jsou uvedeny některé z důležitých funkcí nabízených AWS Lambda:

  • AWS Lambda snadno škáluje infrastrukturu bez jakékoli další konfigurace. Snižuje to provozní práci.
  • Nabízí několik možností, jako je AWS S3, CloudWatch, DynamoDB, API Gateway, Kinesis, CodeCommit a mnoho dalších pro spuštění události.
  • Nemusíte investovat předem. Platíte pouze za paměť využívanou funkcí lambda a minimální náklady na počet požadavků, a proto jsou nákladově efektivní.
  • AWS Lambda je bezpečný. K definování všech rolí a bezpečnostních zásad používá AWS IAM.
  • Nabízí odolnost proti chybám pro služby spouštějící kód i funkci. Nemusíte se bát, že by aplikace selhala.

Ceny AWS Lambda

Cena AWS Lambda závisí na době trvání a paměti používané vámi napsanou funkcí lambda. Maximum, které můžete přiřadit funkci lambda, je 3008 MB paměti v krocích po 64 MB. Níže je uvedena cenová tabulka se všemi paměťovými kartami na 100 milisekund.

Jak AWS Lambda funguje?

  • Nejprve vytvoříte funkci a přidáte k ní základní informace, jako je programovací jazyk, který se má ve funkci použít.
  • Poté napíšete svůj kód do lambda editoru nebo jej nahrajete v podporovaném programovacím jazyce v souboru zip.
  • Jakmile je lambda kód nahrán, služba se postará o veškeré škálování kapacity, opravy a správu infrastruktury.
  • Chcete-li spustit kód, musíte spustit funkci lambda pomocí externí služby AWS, která může funkci lambda vyvolat. Může to být například kbelík S3.
  • Během několika sekund bude lambda připravena automaticky spustit vaši funkci, když dojde k události. AWS Lambda spustí váš kód, když je zavolána spouštěcí událost. Zajišťuje správu a monitorování serverů za vás.
  • Pokud vaše funkce vyžaduje velký výpočetní výkon, vybere typ instance, který má větší výpočetní výkon a RAM, nebo pokud se váš kód lambda spustí pouze dvě sekundy, vybere nejnižší možnou instanci, což šetří vaše peníze a čas. .
  Jak najít něčí IP adresu na Instagramu

AWS Lambda tedy interně funguje. Dovolte mi ukázat vám demo na AWS Lambda.

Vytvoření funkce AWS Lambda

Pro tento článek se chystám vytvořit velmi jednoduchou hru pomocí funkce lambda v Node.js. Vytvořím lambda funkci pro hod kostkou, náhodné vygenerování čísla mezi 1 až 6 a jeho vytištění.

  • Přejděte do konzoly pro správu AWS a do vyhledávacího pole zadejte Lambda a klikněte na Lambda.

  • Zobrazí se okno funkce, klikněte na Vytvořit funkci.

  • S jejich vysvětlením získáte různé možnosti pro vytvoření funkce. Protože to vytvářím od začátku, vyberu Autor od začátku.

  • Poté musíte vyplnit některé potřebné informace pro tuto funkci lambda. Zadejte název funkce a vyberte verzi Node.js, kterou chcete pro tuto funkci použít.
  • Musíte si také vybrat prováděcí roli. Protože ve svém účtu AWS nemám žádnou existující roli definovanou, pokračuji a vyberu možnost vytvořit novou roli. Klikněte na Vytvořit funkci.

  • Obdržíte zprávu o úspěchu, že pomazání bylo vytvořeno. Kliknutím na okno Návrhář jej minimalizujete.
  Ubuntu: smazat historii aplikací [Guide]

  • Dále bude okno Kód funkce.
  • Vložte níže uvedený kód do editoru. Kód můžete také nahrát pomocí souboru zip, ale já používám interní editor kódu AWS.

  • Je to jednoduchý kód, který bere číslo pouze od 1 do 6 a používá náhodnou matematickou funkci k náhodnému generování čísla a jeho vytištění, když je funkce volána.
exports.handler = async (event) => {
const min = 1;
const max = 6;
const randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
const out="Dice throw result is: " + randomNum;
return out;
};
  • Nyní klikněte na tlačítko Test v pravém horním rohu. Zobrazí se vyskakovací okno pro konfiguraci testovací události, zadejte název události a klikněte na konfigurovat.

  • Nyní klikněte na Uložit a poté na Test.

V Execution Result uvidíte výstup logiky funkce, kterou jsme právě napsali. Vytiskne se – výsledek hodu kostkou je 2.

  • Přejděte nahoru a klikněte na podrobné výsledky provedení, abyste získali úplný souhrn této funkce lambda s očekávaným výstupem. K dispozici jsou také podrobnosti, jako je ID požadavku, doba trvání, fakturovaná doba, nakonfigurované zdroje atd. s výstupem protokolu.

  • Kliknutím na kartu monitorování zobrazíte protokoly cloudových hodinek a výkon funkce lambda po definovanou dobu.

  • Pokud se dostanete do protokolů, které vytvořil CloudWatch, můžete se podívat na podrobnosti o tom, co se stalo, když se spustila funkce lambda, kterou CloudWatch sledoval.

Závěr

Začínáme s Lambdou je opravdu snadné. Pokud vaše obchodní aplikace vyžaduje spuštění backendového kódu, můžete zvážit použití platformy bez serveru, jako je AWS Lambda.

Užili jste si čtení článku? Co takhle sdílet se světem?