Mi az AWS Lambda? Lambda funkció példákkal
Az AWS Lambda funkció előtt értsük meg:
Mi az a szerver nélküli?
A kiszolgáló nélküli kifejezés általában a kiszolgáló nélküli alkalmazásokra utal. A kiszolgáló nélküli alkalmazások olyanok, amelyeknek nincs szükségük kiszolgálóra, és nem kell kiszolgálókat kezelniük.
Mi az AWS Lambda?
AWS Lambda által biztosított eseményvezérelt, szerver nélküli számítási platform Amazon részeként Amazon Webszolgáltatások. Ezért nem kell azon aggódnia, hogy mely AWS-erőforrásokat indítsa el, vagy hogyan fogja kezelni őket. Ehelyett be kell helyeznie a kódot a Lambdára, és az fut.
Az AWS Lambdában a kód végrehajtása az AWS-szolgáltatásokban lévő eseményekre adott válaszok alapján történik, például fájlok hozzáadása/törlése S3 tárolóban, HTTP kérés Amazon API-átjáró stb. Amazon A Lambda csak háttérfeladatok végrehajtására használható.
Az AWS Lambda funkciója segít abban, hogy az operációs rendszer (OS) hozzáférés-vezérlése, az operációs rendszer javítása, a megfelelő méretezés, az üzembe helyezés, a méretezés stb. kezelése helyett az alapvető termékeire és üzleti logikájára összpontosítson.
Hogyan működik az AWS Lambda?
A következő AWS Lambda példa blokkdiagrammal néhány egyszerű lépésben elmagyarázza az AWS Lambda működését:
Lépés 1: Először töltse fel az AWS Lambda kódját az AWS Lambda által támogatott bármely nyelven. Java, Python, Go és C# néhány olyan nyelv, amelyet az AWS Lambda funkció támogat.
Lépés 2: Ezek olyan AWS-szolgáltatások, amelyek lehetővé teszik az AWS Lambda aktiválását.
Lépés 3: Az AWS Lambda segít feltölteni a kódot és az esemény részleteit, amelyeken aktiválni kell.
Lépés 4: Az AWS Lambda kódot hajtja végre, ha azt az AWS szolgáltatások aktiválják:
Lépés 5: Az AWS csak az AWS lambda kód lefutásakor tölt fel, egyébként nem.
Ez a következő forgatókönyvekben fog megtörténni:
- Töltsön fel fájlokat egy S3 vödörbe
- Ha a HTTP get/post végpont URL-jét leütik
- Dynamo DB táblák hozzáadásához/módosításához és törléséhez
- Az adatfolyam-gyűjtés folyamatában
- Azonnali értesítés
- Weboldal hosting
- E-mail küldés
Jegyzet: Ne feledje, hogy az AWS szolgáltatásokért csak az AWS Lambda kód végrehajtása után kell fizetnie, különben nem kell fizetnie semmit.
Az AWS Lambdát kiváltó események
Itt vannak azok az események, amelyek az AWS Lambda használatakor aktiválódnak.
- Adatok beszúrása, frissítése és törlése Dynamo DB tábla
- Push értesítések felvétele az SNS-be
- Naplóelőzmények kereséséhez a CloudTrailben
- Belépés egy S3 objektumba
- DynamoDB kiválthatja az AWS Lambdát, amikor adatot adnak hozzá, módosítanak vagy törölnek a táblázatban.
- Segít az esemény ütemezésében, hogy a feladatot a szokásos időrendben hajtsák végre.
- Objektumok módosítása az S3 gyűjtőhelyeken
- Értesítések küldése innen: Amazon SNS.
- Az AWS Lambda használható a CloudTrail naplók feldolgozására
- Az API Gateway lehetővé teszi az AWS Lambda aktiválását GET/POST metódusokon.
AWS Lambda Concepts
Funkció:
A függvény egy program vagy egy parancsfájl, amely az AWS Lambdában fut. A Lambda átadja a meghívási eseményeket a függvénynek, amely feldolgozza az eseményt, és visszaadja a választ.
Futásidők:
A futási idő lehetővé teszi a funkciókat különböző nyelveken, amelyek ugyanazon az alapvégrehajtási környezetben futnak. Ez segít a funkció futásidejű konfigurálásában. Ez is megfelel a kiválasztottnak programozási nyelv.
Az esemény forrása:
Az eseményforrás egy AWS szolgáltatás, mint pl Amazon SNS vagy egyedi szolgáltatás. Ez a triggerek funkció segít a logikájának végrehajtásában.
Lambda rétegek:
A lambda rétegek fontos elosztási mechanizmust jelentenek a könyvtárak, az egyéni futási környezetek és más fontos függvényfüggőségek számára. Ez az AWS-összetevő abban is segít, hogy a fejlesztési funkció kódját az általa használt változatlan kódtól és erőforrásoktól elkülönítve kezelje.
Napló folyamok:
A naplófolyam lehetővé teszi, hogy a függvénykódot egyéni naplózási utasításokkal lássa el, amelyek segítik az AWS Lambda funkciói végrehajtási folyamatának és teljesítményének elemzését.
Az AWS Lambda használata
Most megtanuljuk, hogyan kell használni az AWS Lambdát az AWS Lambda példával:
1 lépés) 1. lépés: Nyissa meg az AWS Lambda URL-címét
Menj https://aws.amazon.com/lambda/ és Kezdje el
2 lépés) Hozzon létre egy fiókot
Ezután hozzon létre egy fiókot, vagy jelentkezzen be meglévő fiókjával
3 lépés) Szerkessze a kódot, majd kattintson a Futtatás gombra,
A következő Lambda oldalon
- Szerkessze a kódot
- Kattintson a Futtatás gombra
4 lépés) Ellenőrizze a kimenetet
Látni fogja a kimenetet
AWS Lambda VS AWS EC2
Íme néhány fő különbség az AWS Lambda és a EC2.
paraméterek | AWS Lambda | AWS EC2 |
---|---|---|
Meghatározás | Az AWS Lambda egy platform mint szolgáltatás (PaaS). Segít a háttérkód futtatásában és végrehajtásában. | Az AWS EC2 egy infrastruktúra szolgáltatásként (laaS). Virtualizált számítási erőforrásokat biztosít. |
Rugalmas | Nem nyújt rugalmasságot a számítási példányokba való bejelentkezéshez. Lehetővé teszi a testreszabott operációs rendszer vagy nyelv futási környezetének kiválasztását. | Rugalmasságot kínál a különféle példányok, egyedi operációs rendszerek, biztonsági javítások és hálózatok stb. kiválasztásához. |
Telepítési folyamat | Ki kell választania azt a környezetet, ahol futtatni szeretné a kódot, és be kell küldenie a kódot az AWS Lambdába. | Az EC2-ben először ki kell választania az operációs rendszert, telepítenie kell az összes szükséges szoftvert, majd be kell küldenie a kódot az EC2-be. |
Környezeti korlátozások | Néhány nyelvre korlátozódik. | Nincsenek környezetvédelmi korlátozások. |
AWS Lambda VS AWS Elasztikus babszár
Íme néhány fő különbség az AWS Lambda és az Elastic Beanstalk között.
paraméterek | AWS Elastic Beanstalk | AWS Lambda |
---|---|---|
Fő feladat | Telepítse és kezelje az alkalmazásokat az AWS Cloudon anélkül, hogy aggódnia kellene az alkalmazásokat futtató infrastruktúra miatt. | Az AWS Lambda a háttérkód futtatására és végrehajtására szolgál. Nem használhatja alkalmazás üzembe helyezésére. |
Az AWS-erőforrások kiválasztása | Szabadságot biztosít az AWS-erőforrások kiválasztásához; Például kiválaszthatja az alkalmazásának megfelelő EC2 példányt. | Nem választhatja ki az AWS-erőforrásokat, például az EC2-példányok típusát, a Lambda az Ön munkaterhelése alapján kínál erőforrásokat. |
A rendszer típusa | Ez egy állapotalapú rendszer. | Ez egy hontalan rendszer. |
Az AWS Lambda használati esetei
Az AWS Lambda számos alkalmazáshoz használható, mint például:
- Segít az ETL folyamatban
- Lehetővé teszi valós idejű fájlfeldolgozást és valós idejű adatfolyam-feldolgozást
- Használja webes alkalmazások létrehozására
- Használja be Amazon olyan termékek, mint az Alexa Chatbots és Amazon Echo/Alexa
- Adatfeldolgozás (valós idejű adatfolyam-elemzés)
- Automatizált biztonsági mentések a mindennapi feladatokról
- Méretezhető hátterek (mobilalkalmazások, lot-eszközök)
- Segít a szerveroldali háttérlogika végrehajtásában
- Lehetővé teszi az adatok szűrését és átalakítását
A lambda funkció legjobb gyakorlatai
Íme néhány bevált gyakorlat AWS Lambda funkciók:
- Használja a megfelelő „időtúllépést”.
- Használja az 500 MB méretű helyi tároló funkcióit a /temp mappában
- Az indítási kód használatának minimalizálása, amely nem kapcsolódik közvetlenül az aktuális esemény feldolgozásához.
- A Lambda-funkciók beépített CloudWatch-felügyeletét kell használnia a kérések késleltetésének megtekintéséhez és optimalizálásához.
Mikor ne használja az AWS Lambdát
Íme a helyzet, amikor a lambda biztosan nem ideális választás:
- Nem célszerű olyan AWS Lambda szoftvercsomagokat vagy alkalmazásokat használni, amelyek a mögöttes hívásokra támaszkodnak Windows RPC-k
- Ha egyedi szoftveralkalmazásokhoz használják licencszerződéssel, például MS-Office dokumentumfeldolgozással, Oracle adatbázisok stb.
- Az AWS Lambda nem használható egyéni hardverfolyamatokhoz, például GPU-gyorsításhoz, hardveraffinitáshoz.
Az AWS Lambda használatának előnyei
Íme, az AWS lambda használatának előnyei/előnyei:
- Az AWS Lambda egy rendkívül rugalmas eszköz
- Segít hozzáférést biztosítani az erőforrásokhoz, beleértve a VPC-ket is
- Szerző közvetlenül WYSIWYG szerkesztő konzolban.
- Beépülő modulként használhatod Eclipse és a Visual Studio.
- Mivel ez egy kiszolgáló nélküli architektúra, nem kell aggódnia a kiszolgálók kezelésével vagy kiépítésével.
- Nem kell beállítani egyiket sem Virtuális gép.
- Segíti a fejlesztőket a kód eseményekre adott válaszának futtatásában és végrehajtásában infrastruktúra kiépítése nélkül.
- Csak a számítási időre van szüksége, csak akkor, amikor a kód fut.
- A CloudWatch segítségével valós időben nyomon követheti a kód teljesítményét.
- Lehetővé teszi a kód futtatását kiépítés nélkül, vagy bármely más kiszolgáló kezelését
- Segít a kód végrehajtásában, ha csak szükséges
- Automatikusan méretezheti, hogy napi néhány kérést kezeljen, és akár több ezer kérést is támogatjon másodpercenként.
- Az AWS Lambda külső eseményidőzítők segítségével konfigurálható ütemezett feladatok végrehajtására.
- Az AWS lambda funkcióját külső eseményekkel és időzítőkkel kell konfigurálni; ütemezésre használható.
- A lambda funkciók állapot nélküliek, így gyorsan skálázhatóak.
- Az AWS Lambda gyors, így ezredmásodperceken belül végrehajtja a kódot.
Az AWS lambda korlátai
Íme az AWS Lambda használatának hátrányai/hátrányai:
- Az AWS Lambda eszköz nem alkalmas kis projektekhez.
- Az AWS Lambda teljes mértékben az AWS-re támaszkodik az infrastruktúra tekintetében, így nem telepíthet további szoftvereket, ha a kód megköveteli.
- Az egyidejű végrehajtás 100-ra korlátozódik
- Az AWS Lambda teljes mértékben az AWS-től függött az infrastruktúra tekintetében; nem telepíthet semmilyen további szoftvert, ha a kód megköveteli.
- A memória mennyisége 128 és 1536 MB között változhat.
- Az eseménykérés nem haladhatja meg a 128 KB-ot.
- A Lambda-funkciók segítenek abban, hogy naplóikat csak a CloudWatch-ben írhasd. Ez az egyetlen eszköz, amely lehetővé teszi a funkciók figyelését vagy hibaelhárítását.
- A kódvégrehajtási időtúllépés mindössze 5 perc.
Összegzésként
- A kiszolgáló nélküli kifejezés általában a kiszolgáló nélküli alkalmazásokra utal.
- Az AWS Lambda egy ilyen kiszolgáló nélküli számítási szolgáltatás. Ezért nem kell aggódnia amiatt, hogy mely AWS-erőforrásokat indítsa el, vagy hogyan fogják kezelni azokat.
- A függvény egy program vagy egy parancsfájl, amely AWS szerver nélküli Lambdában fut.
- A futási idő lehetővé teszi a funkciókat különböző nyelveken, amelyek ugyanazon az alapvégrehajtási környezetben futnak.
- Az eseményforrás egy AWS szolgáltatás, mint pl Amazon SNS vagy egyedi szolgáltatás.
- A lambda rétegek fontos elosztási mechanizmust jelentenek a könyvtárak, az egyéni futási környezetek és más fontos függvényfüggőségek számára.
- A naplófolyam lehetővé teszi, hogy a függvénykódot egyéni naplózási utasításokkal lássa el, amelyek segítik a Lambda-funkciók végrehajtási folyamatának és teljesítményének elemzését.
- Az AWS Lambda egy platform mint szolgáltatás (PaaS). Segít a háttérkód futtatásában és végrehajtásában.
- Az AWS EC2 egy infrastruktúra szolgáltatásként (laaS). Virtualizált számítási erőforrásokat biztosít.
- Telepítse és kezelje az alkalmazásokat az AWS Cloudon anélkül, hogy aggódnia kellene az alkalmazásokat futtató infrastruktúra miatt.
- Az AWS Lambda a háttérkód futtatására és végrehajtására szolgál. Nem használhatja alkalmazás üzembe helyezésére.
- Az AWS Lambda segít Önnek a ETL folyamat.
- A lambda funkció legjobb gyakorlata az AWS-ben a megfelelő „időtúllépés” használata.
- Nem célszerű olyan AWS Lambda szoftvercsomagokat vagy alkalmazásokat használni, amelyek a mögöttes hívásokra támaszkodnak Windows RPC-k
- Az AWS Lambda egy rendkívül rugalmas eszköz.
- Az AWS Lambda eszköz nem alkalmas kis projektekhez.
- Az AWS Lambda használatakor kiváltott gyakori esemény a Dynamo DB tábla beszúrása, frissítése és törlése.