Před funkcí AWS Lambda pochopíme:
Co je Serverless?
Serverless je termín, který obecně označuje aplikace bez serveru. Aplikace bez serveru jsou aplikace, které nepotřebují žádné zajištění serveru a nevyžadují správu serverů.
Co je AWS Lambda?
AWS Lambda je výpočetní platforma založená na událostech, bez serveru, kterou poskytuje Amazon jako součást Amazon Web Services. Proto si nemusíte dělat starosti s tím, které zdroje AWS spustit, nebo jak je budete spravovat. Místo toho musíte umístit kód na Lambdu a běží.
V AWS Lambda se kód provádí na základě odezvy událostí ve službách AWS, jako je přidávání / mazání souborů v kbelíku S3, požadavek HTTP z brány Amazon API atd. Amazon Lambda však lze použít pouze k provádění úkolů na pozadí.
Funkce AWS Lambda vám pomůže soustředit se na váš hlavní produkt a obchodní logiku místo správy přístupu k operačnímu systému (OS), opravování OS, správné velikosti, zajišťování, škálování atd.
V tomto výukovém programu AWS Lambda pro začátečníky se naučíte:
- Jak AWS Lambda funguje?
- Události, které spouští AWS Lambda
- AWS Lambda Concepts
- AWS Lambda VS AWS EC2
- AWS Lambda VS AWS Elastic Beanstalk
- Použijte případy AWS Lambda
- Osvědčené postupy funkce Lambda
- Kdy nepoužívat AWS Lambda
- Výhody použití AWS Lambda
- Omezení AWS Lambda
Jak AWS Lambda funguje?
Následující příklad AWS Lambda s blokovým diagramem vysvětluje práci AWS Lambda v několika snadných krocích:
Krok 1: Nejprve nahrajte svůj kód AWS Lambda v libovolném jazyce podporovaném AWS Lambda. Java, Python, Go a C # jsou některé z jazyků, které jsou podporovány funkcí AWS Lambda.
Krok 2: Jedná se o některé služby AWS, které vám umožňují spustit AWS Lambda.
Krok 3: AWS Lambda vám pomůže nahrát kód a podrobnosti události, na kterých by měl být spuštěn.
Krok 4: Spustí AWS Lambda kód, když je spuštěn službami AWS:
Krok 5: AWS se účtuje pouze při spuštění AWS lambda kódu, a ne jinak.
K tomu dojde v následujících scénářích:
- Nahrávejte soubory do bloku S3
- Když je zasažen URL koncového bodu HTTP get / post
- Pro přidávání / úpravy a mazání tabulek Dynamo DB
- V procesu sběru datových proudů
- Oznámení
- Hosting webových stránek
- Zasílání e-mailů
Poznámka: Měli byste si pamatovat, že za služby AWS budete účtovat, až když se spustí kód AWS Lambda, jinak nemusíte nic platit.
Události, které spouští AWS Lambda
Zde jsou události, které se spustí, když použijete AWS Lambda.
- Vkládání, aktualizace a mazání dat tabulky Dynamo DB
- Zahrnout push oznámení do SNS
- Chcete-li vyhledat historii protokolu v CloudTrail
- Vstup do objektu S3
- DynamoDB může spustit AWS Lambda, kdykoli jsou v tabulce přidána, upravena a odstraněna data.
- Pomůže vám naplánovat událost tak, aby úkol plnila v pravidelném čase.
- Úpravy objektů v segmentech 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á události vyvolání do vaší funkce, která událost zpracuje a vrátí její odpověď.
Doba běhu:
Modul runtime umožňuje funkce v různých jazycích, které běží ve stejném základním prováděcím prostředí. To vám pomůže nakonfigurovat vaši funkci za běhu. Rovněž odpovídá vašemu vybranému programovacímu jazyku.
Zdroj události:
Zdrojem události je služba AWS, například Amazon SNS, nebo vlastní služba. Tato spouštěcí funkce vám pomůže provést jeho logiku.
Lambda vrstvy:
Lambda vrstvy jsou důležitým distribučním mechanismem pro knihovny, vlastní běhové časy a další důležité závislosti funkcí. Tato komponenta AWS vám také pomůže spravovat váš kód vývojové funkce odděleně od neměnného kódu a prostředků, které používá.
Protokolovat proudy:
Stream protokolu vám umožňuje anotovat váš kód funkce 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 s příkladem AWS Lambda:
Krok 1 ) Přejděte na https://aws.amazon.com/lambda/ a začněte
Krok 2 ) Vytvořte si účet nebo se přihlaste pomocí svého stávajícího účtu
Krok 3 ) Na další stránce Lambda
- Upravte kód
- Klikněte na Spustit
Krok 4 ) 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ůže vám spustit a spustit váš back-endový kód. | AWS EC2 je infrastruktura jako služba (laaS). Poskytuje virtualizované výpočetní prostředky. |
Flexibilita | Neposkytuje žádnou flexibilitu pro přihlášení k výpočtu instancí. Umožňuje vám vybrat si přizpůsobený operační systém nebo jazykový modul runtime. | Nabízí flexibilitu při výběru různých instancí, vlastních operačních systémů, bezpečnostních oprav a sítě atd. |
Proces instalace | Musíte vybrat prostředí, ve kterém chcete spustit kód, a vložit kód do AWS Lambda. | Poprvé v EC2 musíte zvolit OS a nainstalovat veškerý požadovaný software a poté vložit kód do EC2. |
Omezení prostředí | Je omezen 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 bez obav o infrastrukturu, která tyto aplikace spouští. | AWS Lambda se používá ke spouštění a provádění vašeho back-endového kódu. Nelze jej použít k nasazení aplikace. |
Výběr zdrojů AWS | Poskytuje vám svobodu výběru zdrojů AWS; Můžete například zvolit instanci EC2, která je optimální podle vaší aplikace. | Nemůžete vybrat prostředky AWS, jako typ instance EC2, Lambda nabízí zdroje na základě vaší pracovní zátěže. |
Typ systému | Je to stavový systém. | Je to systém bez státní příslušnosti. |
Použijte případy AWS Lambda
AWS Lambda používá pro širokou škálu aplikací, jako jsou:
- Pomůže vám s procesem ETL
- Umožňuje provádět zpracování souborů v reálném čase a zpracování streamů v reálném čase
- Slouží k vytváření webových aplikací
- Používejte v produktech Amazon, jako jsou Alexa Chatbots a Amazon Echo / Alexa
- Zpracování dat (analýza streamování v reálném čase)
- Automatické zálohování každodenních úkolů
- Škálovatelné zadní konce (mobilní aplikace, zařízení loT)
- Pomáhá vám provádět backendovou logiku na straně serveru
- Umožňuje filtrovat a transformovat data
Osvědčené postupy funkce Lambda
Zde jsou některé osvědčené postupy funkcí AWS Lambda:
- Použijte správný časový limit.
- Využijte funkce místního úložiště o velikosti 500 MB ve složce / temp
- Minimalizace použití spouštěcího kódu, který přímo nesouvisí se zpracováním aktuální události.
- K zobrazení a optimalizaci latencí požadavků byste měli používat integrované monitorování vašich funkcí Lambda pomocí CloudWatch.
Kdy nepoužívat AWS Lambda
Následuje situace, kdy Lambda rozhodně není ideální volbou:
- Není vhodné používat softwarové balíčky nebo aplikace AWS Lambda, které se spoléhají na volání podkladových RPC Windows
- Pokud se používá pro vlastní softwarové aplikace s licenčními smlouvami, jako je zpracování dokumentů MS-Office, databáze Oracle atd.
- AWS Lambda by se neměl používat pro vlastní hardwarové procesy, jako je akcelerace GPU, spřažení hardwaru.
Výhody použití AWS Lambda
Zde jsou výhody / výhody používání AWS lambda:
- AWS Lambda je vysoce flexibilní nástroj k použití
- Pomůže vám udělit přístup ke zdrojům, včetně VPC
- Vytvořte přímo pomocí editoru WYSIWYG v konzole.
- Můžete jej použít jako plugin pro Eclipse a Visual Studio.
- Jelikož se jedná o architekturu bez serveru, nemusíte se starat o správu nebo zajišťování serverů.
- Není třeba nastavovat žádný virtuální stroj.
- Pomáhá vývojářům spouštět a spouštět reakci kódu na události bez budování infrastruktury.
- Potřebujete pouze výpočetní čas, jen když je spuštěn váš kód.
- Výkon svých kódů můžete sledovat v reálném čase prostřednictvím služby CloudWatch.
- Umožňuje vám spouštět váš kód bez zajišťování nebo spravovat jakýkoli jiný server
- Pomůže vám spustit kód pouze v případě potřeby
- Můžete jej automaticky škálovat tak, aby zpracovával několik požadavků denně a dokonce podporoval více než tisíce požadavků za sekundu.
- AWS Lambda lze konfigurovat pomocí externích časovačů událostí k provádění naplánovaných úkolů.
- Funkce lambda v AWS by měla být konfigurována s externími událostmi a časovači; lze jej použít pro plánování.
- Funkce Lambda jsou bez státní příslušnosti, takže je lze rychle škálovat.
- AWS Lambda je rychlý, takže provede váš kód 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 zcela spoléhá na AWS pro infrastrukturu, takže nemůžete nainstalovat žádný další software, pokud to váš kód vyžaduje.
- Souběžné spuštění je omezeno na 100
- AWS Lambda zcela závisel na AWS pro infrastrukturu; pokud to váš kód vyžaduje, nemůžete nainstalovat žádný další software.
- Objem jeho paměti se může pohybovat mezi 128 až 1536 MB.
- Žádost o událost by neměla přesáhnout 128 KB.
- Funkce Lambda vám pomohou zapisovat jejich protokoly pouze do CloudWatch. Toto je jediný nástroj, který vám umožňuje sledovat nebo odstraňovat problémy s vašimi funkcemi.
- Časový limit jeho spuštění kódu je pouhých 5 minut.
souhrn
- Serverless je termín, který obecně označuje aplikace bez serveru.
- AWS Lambda je jednou z takových serverových výpočetních služeb. Proto si nemusíte dělat starosti s tím, které zdroje AWS spustit, nebo jak je budou spravovat.
- Funkce je program nebo skript, který běží v Lambda bez serveru AWS.
- Modul runtime umožňuje funkce v různých jazycích, které běží ve stejném základním prováděcím prostředí.
- Zdrojem události je služba AWS, například Amazon SNS, nebo vlastní služba.
- Lambda vrstvy jsou důležitým distribučním mechanismem pro knihovny, vlastní běhové časy a další důležité závislosti funkcí.
- Stream protokolu vám umožňuje anotovat kód funkce pomocí vlastních příkazů protokolování, které vám pomohou analyzovat tok provádění a výkon vašich funkcí Lambda.
- AWS Lambda je platforma jako služba (PaaS). Pomůže vám spustit a spustit váš back-endový kód.
- AWS EC2 je infrastruktura jako služba (laaS). Poskytuje virtualizované výpočetní prostředky.
- Nasazujte a spravujte aplikace na AWS Cloud bez obav o infrastrukturu, která tyto aplikace spouští.
- AWS Lambda se používá ke spouštění a provádění vašeho back-endového kódu. Nelze jej použít k nasazení aplikace.
- AWS Lambda vám pomůže s procesem ETL.
- Nejlepším postupem funkce Lambda v AWS je použití správného „časového limitu“.
- Není vhodné používat softwarové balíčky nebo aplikace AWS Lambda, které se spoléhají na volání podkladových RPC Windows
- AWS Lambda je vysoce flexibilní nástroj.
- Nástroj AWS Lambda není vhodný pro malé projekty.
- Běžnou událostí, která se spustí, když použijete AWS Lambda, je Vložení, aktualizace a odstranění dat tabulky Dynamo DB.