Co je AWS Lambda? Lambda funkce s příklady
⚡ Chytré shrnutí
AWS Lambda je událostmi řízená, bezserverová výpočetní platforma od společnosti Amazon Webové služby, které spouštějí váš kód v reakci na spouštěče a automaticky zpracovávají zřizování, škálování a správu serveru, takže se můžete soustředit pouze na obchodní logiku.

Než se pustíme do AWS Lambda, je dobré pochopit, co znamená bezserverový přístup (serverless).
Co je Serverless?
Termín „serverless“ se obecně vztahuje na bezserverové aplikace. Bezserverové aplikace jsou ty, které nepotřebují žádné zprovoznění serveru a nevyžadují od vás jeho správu.
Co je AWS Lambda?
AWS Lambda je událostmi řízená, bezserverová výpočetní platforma poskytovaná společností Amazon jako součást Amazon Webové služby. Proto se nemusíte starat o to, které zdroje AWS spustit nebo jak je budete spravovat. Místo toho stačí umístit kód na Lambdu a ten běží.
V AWS Lambda se kód spouští na základě odezvy událostí ve službách AWS, jako je přidání nebo odstranění souborů v bucketu S3, požadavek HTTP od Amazon API Gateway a podobné události. Nicméně Amazon Lambda lze použít pouze k provádění úloh na pozadí.
Funkce AWS Lambda vám pomáhá soustředit se na váš klíčový produkt a obchodní logiku namísto správy řízení přístupu k operačnímu systému (OS), oprav OS, úpravy velikosti, zřizování, škálování atd.
Jak funguje AWS Lambda?
Následující příklad AWS Lambda s blokovým diagramem vysvětluje fungování AWS Lambda v několika jednoduchých krocích:
Krok 1: Nejprve nahrajte svůj kód AWS Lambda v jakémkoli jazyce podporovaném AWS Lambda. Java, PythonMezi jazyky, které funkce AWS Lambda podporuje, patří , Go a C#.
Krok 2: Toto jsou některé služby AWS, které vám umožňují spouštět AWS Lambda.
Krok 3: AWS Lambda vám pomůže nahrát kód a podrobnosti o události, při které by měl být spuštěn.
Krok 4: Spustí kód AWS Lambda, když je spuštěn službami AWS.
Krok 5: AWS účtuje poplatky pouze tehdy, když se spustí kód AWS Lambda, a nikoli jinak.
K tomu dojde v následujících scénářích:
- Nahrajte soubory do bucketu S3
- Když koncový bod HTTP get/post URL je zasažen
- Pro přidávání, úpravu a mazání tabulek databáze Dynamo
- V procesu sběru datových toků
- Oznámení
- Hosting webových stránek
- Odeslání emailu
Poznámka: Měli byste si uvědomit, že poplatky za služby AWS vám budou účtovány pouze v případě spuštění kódu AWS Lambda, jinak nemusíte platit nic.
Události, které spouští AWS Lambda
Zde jsou události, které se spustí při používání AWS Lambda.
- Vkládání, aktualizace a mazání dat v tabulce databáze Dynamo
- Chcete-li do SNS zahrnout oznámení push
- Chcete-li vyhledat historii protokolů v CloudTrail
- Vstup do objektu S3
- DynamoDB může spustit AWS Lambda, kdykoli jsou v tabulce přidána, upravena nebo odstraněna data.
- Pomáhá vám naplánovat událost tak, aby úkol probíhal v pravidelném časovém rámci.
- Úpravy objektů v bucklech S3
- Oznámení odeslaná z Amazon SNS.
- AWS Lambda lze použít ke zpracování protokolů CloudTrail.
- API Gateway umožňuje spouštět AWS Lambda na metodách GET/POST.
AWS Lambda Concepts
Funkce: Funkce je program nebo skript, který běží v AWS Lambda. Lambda předává události vyvolání do vaší funkce, která událost zpracuje a vrátí její odpověď.
Běh: Runtime umožňuje funkce v různých jazycích, které běží ve stejném základním spouštěcím prostředí. To vám pomůže nakonfigurovat funkci v běhovém prostředí. Také to odpovídá vámi zvolenému programovací jazyk.
Zdroj události: Zdrojem události je služba AWS, jako je např Amazon Sociální sítě nebo vlastní služba. Tento spouštěč pomáhá funkci spustit její logiku.
Lambda vrstvy: Lambda vrstvy jsou důležitým distribučním mechanismem pro knihovny, vlastní runtime a další důležité funkce. Tato komponenta AWS vám také pomáhá spravovat kód vývojové funkce odděleně od neměnného kódu a prostředků, které používá.
Zaznamenat streamy: Proud protokolů umožňuje anotovat váš funkční kód pomocí vlastních příkazů protokolování, které vám pomohou analyzovat tok provádění a výkon vašich funkcí AWS Lambda.
Jak používat AWS Lambda
Nyní se naučíme, jak používat AWS Lambda na příkladu AWS Lambda:
Krok 1) Otevřete AWS Lambda URL
Přejít https://aws.amazon.com/lambda/ a Začít.
Krok 2) Vytvořit účet
Dále si vytvořte účet nebo se přihlaste pomocí stávajícího účtu.
Krok 3) Upravte kód a klikněte na Spustit
Na další stránce Lambda upravte kód a klikněte na Spustit.
Krok 4) Zkontrolujte výstup
Uvidíte výstup.
AWS Lambda VS AWS EC2
Zde jsou některé hlavní rozdíly mezi AWS Lambda a EC2.
| parametry | AWS Lambda | AWS EC2 |
| Definice | AWS Lambda je platforma jako služba (PaaS). Pomáhá vám spouštět a spouštět váš backendový kód. | AWS EC2 je infrastruktura jako služba (IaaS). Poskytuje virtualizované výpočetní zdroje. |
| Flexibilita | Nenabízí žádnou flexibilitu pro přihlašování k výpočetním instancím. Umožňuje vám zvolit si vlastní operační systém nebo běhové prostředí. | Nabízí flexibilitu výběru různých instancí, vlastních operačních systémů, bezpečnostních záplat a sítí atd. |
| Instalační proces | Musíte vybrat prostředí, ve kterém chcete kód spustit, a vložit ho do AWS Lambda. | Poprvé v EC2 si musíte vybrat OS a nainstalovat veškerý požadovaný software a poté vložit svůj kód do EC2. |
| Omezení prostředí | Je omezeno na několik jazyků. | Žádná omezení prostředí. |
AWS Lambda VS AWS Elastic Beanstalk
Zde jsou některé hlavní rozdíly mezi AWS Lambda a Elastic Beanstalk.
| parametry | AWS Elastic Beanstalk | AWS Lambda |
| Hlavní úkol | Nasazujte a spravujte aplikace na AWS Cloud, aniž byste se museli starat o infrastrukturu, která tyto aplikace provozuje. | AWS Lambda se používá ke spouštění a provádění back-endového kódu. Nelze ji použít k nasazení aplikace. |
| Výběr zdrojů AWS | Dává vám svobodu výběru zdrojů AWS; například si můžete vybrat instanci EC2, která je optimální pro vaši aplikaci. | Nemůžete si vybrat zdroje AWS, jako je tomu u instance EC2; Lambda nabízí zdroje na základě vaší pracovní zátěže. |
| Typ systému | Je to stavový systém. | Je to bezstavový systém. |
Případy použití AWS Lambda
AWS Lambda se používá pro širokou škálu aplikací, jako například:
- Pomáhá vám s ETL proces
- Umožňuje provádět zpracování souborů v reálném čase a zpracování streamů v reálném čase
- Použití pro tvorbu webových aplikací
- Použití v Amazon produkty jako Alexa Chatbots a Amazon Echo/Alexa
- Zpracování dat (analýza streamování v reálném čase)
- Automatické zálohy každodenních úkolů
- Škálovatelné backendy (mobilní aplikace, IoT zařízení)
- Pomáhá vám spustit logiku backendu na straně serveru
- Umožňuje filtrovat a transformovat data
Osvědčené postupy funkce Lambda
Zde jsou některé osvědčené postupy pro funkce AWS Lambda:
- Použijte správný „časový limit“.
- Využijte funkce lokálního úložiště, které má velikost 500 MB ve složce /temp.
- Minimalizujte používání spouštěcího kódu, který přímo nesouvisí se zpracováním aktuální události.
- Pro zobrazení a optimalizaci latence požadavků byste měli používat vestavěné monitorování CloudWatch vašich funkcí Lambda.
Kdy nepoužívat AWS Lambda
Následují situace, kdy Lambda rozhodně není ideální volbou:
- Není vhodné používat AWS Lambda pro softwarové balíčky nebo aplikace, které se spoléhají na volání podkladových Windows RPC.
- Pokud se používá pro zakázkové softwarové aplikace s licenčními smlouvami, jako je zpracování dokumentů MS-Office, Oracle databáze atd.
- AWS Lambda by se neměla používat pro vlastní hardwarové procesy, jako je akcelerace GPU a hardwarová afinita.
Výhody použití AWS Lambda
Zde jsou výhody/výhody používání AWS Lambda:
- AWS Lambda je vysoce flexibilní nástroj.
- Pomáhá vám udělit přístup ke zdrojům, včetně VPC.
- Autor přímo s WYSIWYG editor v konzoli.
- Můžete jej použít jako plugin pro Eclipse a Visual Studio.
- Protože se jedná o bezserverovou architekturu, nemusíte se starat o správu ani zřizování serverů.
- Nemusíte žádné nastavovat Virtuální stroj.
- Pomáhá vývojářům spouštět a spouštět odezvu kódu na události bez budování jakékoli infrastruktury.
- Platit stačí za výpočetní čas, a to pouze tehdy, když se váš kód spustí.
- Výkon svého kódu můžete sledovat v reálném čase prostřednictvím CloudWatch.
- Umožňuje vám spouštět váš kód bez nutnosti zřizování nebo správy jakéhokoli jiného serveru.
- Pomáhá vám spustit kód pouze tehdy, když je to potřeba.
- Můžete jej automaticky škálovat tak, aby zpracoval několik požadavků za den a dokonce podporoval více než tisíce požadavků za sekundu.
- AWS Lambda lze nakonfigurovat pomocí externích časovačů událostí pro provádění naplánovaných úloh.
- Funkce Lambda v AWS by měla být konfigurována s externími událostmi a časovači, aby ji bylo možné použít pro plánování.
- Lambda funkce jsou bezstavové, takže je lze rychle škálovat.
- AWS Lambda je rychlý, takže váš kód spustí během milisekund.
Omezení AWS Lambda
Zde jsou nevýhody/nevýhody používání AWS Lambda:
- Nástroj AWS Lambda není vhodný pro malé projekty.
- AWS Lambda se pro infrastrukturu zcela spoléhá na AWS, takže pokud to váš kód vyžaduje, nemůžete instalovat žádný další software.
- Souběžné spouštění má výchozí limit 1 000 na region, který lze na vyžádání zvýšit.
- Jeho objem paměti se může pohybovat mezi 128 MB a 10 240 MB.
- Požadavek na událost by neměl přesáhnout 128 kB.
- Funkce Lambda vám pomohou zapisovat jejich protokoly pouze v CloudWatch. Toto je jediný nástroj, který vám umožňuje sledovat nebo odstraňovat problémy s vašimi funkcemi.
- Časový limit pro spuštění jeho kódu je omezen na 15 minut.




