Mi az AWS Lambda? Lambda funkció példákkal

Tartalomjegyzék:

Anonim

Az AWS Lambda funkció előtt értsük meg:

Mi a szerver nélküli?

A kiszolgáló nélküli kifejezés olyan kifejezés, amely általában szerver nélküli alkalmazásokat jelent. A kiszolgáló nélküli alkalmazások olyanok, amelyek nem igényelnek semmilyen kiszolgálói rendelkezést, és nem igényelnek kiszolgálókat.

Mi az AWS Lambda?

Az AWS Lambda egy eseményvezérelt, szerver nélküli számítási platform, amelyet az Amazon biztosít az Amazon Web Services részeként. Ezért nem kell aggódnia, hogy mely AWS-erőforrásokat indítja el, és hogyan fogja kezelni őket. Ehelyett fel kell tennie a kódot a Lambda-ra, és fut.

Az AWS Lambda-ban a kódot az AWS-szolgáltatások eseményeinek válasza alapján hajtják végre, például fájlok hozzáadása / törlése az S3-csoportban, HTTP-kérés az Amazon API-átjárótól stb. Azonban az Amazon Lambda csak háttérfeladatok végrehajtására használható.

Az AWS Lambda funkció segít az alaptermékre és az üzleti logikára összpontosítani ahelyett, hogy kezelné az operációs rendszerek (OS) beléptetés-szabályozását, az operációs rendszer javítását, a jobb oldali méretezést, a kiépítést, a méretezést stb.

Ebben a kezdőknek szánt AWS Lambda oktatóanyagban megtudhatja:

  • Hogyan működik az AWS Lambda?
  • Az AWS Lambda kiváltó események
  • AWS Lambda fogalmak
  • AWS Lambda VS AWS EC2
  • AWS Lambda VS AWS rugalmas babkocsik
  • Használjon AWS Lambda tokokat
  • A Lambda funkció legjobb gyakorlatai
  • Mikor ne használja az AWS Lambda szolgáltatást
  • Az AWS Lambda használatának előnyei
  • Az AWS Lambda korlátai

Hogyan működik az AWS Lambda?

Az alábbi AWS Lambda példa blokkvázlattal néhány egyszerű lépésben elmagyarázza az AWS Lambda működését:

1. lépés: Először töltse fel az AWS Lambda kódot az AWS Lambda által támogatott bármely nyelven. A Java, a Python, a Go és a C # azok a nyelvek, amelyeket az AWS Lambda funkció támogat.

2. lépés: Ezek olyan AWS-szolgáltatások, amelyek lehetővé teszik az AWS Lambda elindítását.

3. lépés: Az AWS Lambda segít feltölteni a kódot és az esemény részleteit, amelyeken aktiválni kell.

4. lépés: Futtatja az AWS Lambda kódot, amikor az AWS szolgáltatások váltják ki:

5. lépés: Az AWS csak akkor számít fel díjat, amikor az AWS lambda kód végrehajtódik, másként nem.

Ez a következő esetekben történik:

  • Fájlokat töltsön fel egy S3 csoportba
  • Amikor a HTTP get / post végpont URL eltalált
  • A Dynamo DB táblák hozzáadásához / módosításához és törléséhez
  • Az adatfolyamok gyűjtésének folyamatában
  • Azonnali értesítés
  • Weboldal tárolása
  • E-mail küldése

Megjegyzés: Ne feledje, hogy az AWS-szolgáltatásokért csak akkor kell díjat számolnia, amikor az AWS Lambda kód végrehajtódik, különben nem kell semmit fizetnie.

Az AWS Lambda kiváltó események

Itt vannak olyan események, amelyek az AWS Lambda használatakor váltanak ki.

  • Adatok beszúrása, frissítése és törlése Dynamo DB táblázat
  • Leküldéses értesítések felvétele az SNS-be
  • Naplóelőzmények keresése a CloudTrail szolgáltatásban
  • Belépés egy S3 objektumba
  • A DynamoDB kiválthatja az AWS Lambda szolgáltatást, amikor a táblázatban hozzáadják, módosítják és törlik az adatokat.
  • Segít ütemezni az eseményt, hogy a feladatot rendes idő szerint hajtsa végre.
  • Az S3 vödrökben lévő objektumok módosítása
  • Értesítéseket küldött az 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 a GET / POST módszereken.

AWS Lambda fogalmak

Funkció:

A függvény az AWS Lambda-ban futó program vagy szkript. A Lambda átadja az invokációs eseményeket a funkciójának, amely feldolgozza az eseményeket, és visszaadja a válaszát.

Futásidők:

A Runtime lehetővé teszi a különböző nyelvű funkciókat, amelyek ugyanazon az alap végrehajtási környezetben futnak. Ez segít konfigurálni a funkciót futás közben. Ez egyezik a kiválasztott programozási nyelvvel is.

Esemény forrása:

Eseményforrás egy AWS-szolgáltatás, például az Amazon SNS, vagy egy egyedi szolgáltatás. Ez a kiváltó funkció segít a logika végrehajtásában.

Lambda rétegek:

A lambda rétegek fontos terjesztési mechanizmusok a könyvtárak, az egyedi futásidők és más fontos függőségi függvények számára. Ez az AWS-összetevő segít abban is, hogy a fejlesztési funkció kódját külön kezelje a változatlan kódtól és az általa használt erőforrásoktól.

Naplófolyamok:

A naplófolyam lehetővé teszi, hogy egyedi naplózási utasításokkal jegyezze fel a funkciókódot, amely segít elemezni az AWS Lambda funkcióinak végrehajtási folyamatát és teljesítményét.

Az AWS Lambda használata

Most megtanuljuk az AWS Lambda használatát az AWS Lambda példával:

1. lépés: Lépjen a https://aws.amazon.com/lambda/ oldalra és kezdje el

2. lépés: Hozzon létre egy fiókot, vagy jelentkezzen be meglévő fiókjával

3. lépés ) A következő Lambda oldalon,

  1. Szerkessze a kódot
  2. Kattintson a Futtatás gombra

4. lépés ) Megjelenik a kimenet

AWS Lambda VS AWS EC2

Íme néhány fő különbség az AWS Lambda és az EC2 között.

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 infrastruktúra mint szolgáltatás (laaS). Virtualizált számítási erőforrásokat biztosít.
Rugalmasság Nem kínál rugalmasságot a bejelentkezéshez a példányok kiszámításához. Ez lehetővé teszi, hogy testreszabott operációs rendszert vagy nyelvi futásidőt válasszon. Rugalmasságot kínál a különböző példányok, egyedi operációs rendszerek, biztonsági javítások és hálózat stb. Kiválasztásához.
Telepítési folyamat Ki kell választania azt a környezetet, ahová futtatni szeretné a kódot, és be kell tolnia a kódot az AWS Lambda-ba. Az EC2-ben először ki kell választania az operációs rendszert, és telepítenie kell az összes szükséges szoftvert, majd be kell nyomnia a kódot az EC2-be.
Környezeti korlátozások Kevés nyelvre korlátozódik. Nincsenek környezeti korlátozások.

AWS Lambda VS AWS rugalmas babkocsik

Íme néhány fő különbség az AWS Lambda és az Elastic Beanstalk között.

Paraméterek AWS Rugalmas Beanstalk AWS Lambda
Fő feladat Telepítse és kezelje az alkalmazásokat az AWS Cloud szolgáltatáson anélkül, hogy aggódnia kellene az ezeket 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álható alkalmazás telepítésére.
Az AWS erőforrások kiválasztása Szabadságot ad az AWS erőforrások kiválasztására; Például kiválaszthatja az EC2 példányt, amely az alkalmazásának megfelelően optimális. Nem választhatja ki az AWS erőforrásokat, például az EC2 példány típusát, a Lambda erőforrásokat kínál a munkaterhelés alapján.
A rendszer típusa Ez egy állapotszerű rendszer. Hontalan rendszer.

Használjon AWS Lambda tokokat

Az AWS Lambda számos alkalmazáshoz használható, például:

  • Segít az ETL folyamatban
  • Valós idejű fájlfeldolgozást és valós idejű adatfolyam-feldolgozást végezhet
  • Használja webalkalmazások létrehozásához
  • Használja az Amazon termékeiben, mint az Alexa Chatbots és az Amazon Echo / Alexa
  • Adatfeldolgozás (valós idejű adatfolyam-analitika)
  • A mindennapi feladatok automatizált biztonsági mentése
  • Méretezhető hátlapok (mobilalkalmazások, loT eszközök)
  • Segít a kiszolgálóoldali háttér-logika 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 legjobb gyakorlat az AWS Lambda funkcióiról:

  • Használja a megfelelő "időkorlátot".
  • Használja a helyi tárhely funkcióit, amelyek 500 MB méretűek a / temp mappában
  • Az indító kód használatának minimalizálása, amely nem kapcsolódik közvetlenül az aktuális esemény feldolgozásához.
  • A kérelem késleltetésének megtekintéséhez és optimalizálásához használja a Lambda funkcióinak beépített CloudWatch felügyeletét.

Mikor ne használja az AWS Lambda szolgáltatást

Az alábbiakban bemutatjuk azt a helyzetet, amikor a Lambda biztosan nem ideális megoldás:

  • Nem célszerű olyan AWS Lambda szoftvercsomagokat vagy alkalmazásokat használni, amelyek az alapul szolgáló Windows RPC meghívására támaszkodnak
  • Ha licencszolgáltatási megállapodásokkal rendelkező egyedi szoftveralkalmazásokhoz használják, például MS-Office dokumentumfeldolgozáshoz, Oracle adatbázisokhoz stb.
  • Az AWS Lambda nem használható egyedi hardveres folyamatokhoz, például GPU-gyorsításhoz vagy hardver-affinitáshoz.

Az AWS Lambda használatának előnyei

Az AWS lambda használatának előnyei / előnyei:

  • Az AWS Lambda 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 a WYSIWYG szerkesztővel a konzolon.
  • Használhatja az Eclipse és a Visual Studio bővítményeként.
  • Mivel szerver nélküli architektúráról van szó, nem kell aggódnia a szerverek kezelése vagy kiépítése miatt.
  • Nem kell beállítania egyetlen virtuális gépet sem.
  • Segít a fejlesztőknek az infrastruktúra kiépítése nélkül futtatni és végrehajtani a kód eseményekre adott válaszát.
  • Csak a szükséges számítási időre van szükség, csak akkor, amikor a kód fut.
  • A CloudWatch segítségével valós időben figyelemmel kísérheti 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 szerver kezelését
  • Csak szükség esetén segít végrehajtani a kódot
  • Automatikusan méretezhető, hogy naponta néhány kérést kezeljen, és másodpercenként több mint ezer kérést támogasson.
  • Az AWS Lambda külső esemény-idő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 hontalanok, így gyorsan méretezhetők.
  • Az AWS Lambda gyors, így ez milliszekundumon 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 szempontjából, így nem telepíthet további szoftvereket, ha a kódja 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 az infrastruktúra szempontjából; nem telepíthet további szoftvert, ha a kódja megköveteli.
  • Memóriája 128-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 a naplók írásában csak CloudWatch-ban. Ez az egyetlen eszköz, amely lehetővé teszi a funkciók figyelemmel kísérését vagy hibaelhárítását.
  • A kód végrehajtásának időkorlátja mindössze 5 perc.

Összegzés

  • A kiszolgáló nélküli kifejezés olyan kifejezés, amely általában szerver nélküli alkalmazásokat jelent.
  • Az AWS Lambda egy ilyen kiszolgáló nélküli számítási szolgáltatás. Ezért nem kell aggódnia, hogy mely AWS-erőforrásokat indítja el, és hogyan fogják kezelni őket.
  • A függvény olyan program vagy szkript, amely az AWS szerver nélküli Lambda-ban fut.
  • A Runtime lehetővé teszi a különböző nyelvű funkciókat, amelyek ugyanazon az alap végrehajtási környezetben futnak.
  • Eseményforrás egy AWS-szolgáltatás, például az Amazon SNS, vagy egy egyedi szolgáltatás.
  • A lambda rétegek fontos terjesztési mechanizmusok a könyvtárak, az egyedi futásidők és más fontos függőségi függvények számára.
  • A naplófolyam lehetővé teszi, hogy a naplózási utasításokkal kommentálja a funkciókódot, amely segít elemezni a Lambda funkciók végrehajtási folyamatát és teljesítményé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 infrastruktúra mint szolgáltatás (laaS). Virtualizált számítási erőforrásokat biztosít.
  • Telepítse és kezelje az alkalmazásokat az AWS Cloud szolgáltatáson anélkül, hogy aggódnia kellene az ezeket 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álható alkalmazás telepítésére.
  • Az AWS Lambda segít az ETL folyamatban.
  • A Lambda funkció legjobb gyakorlata az AWS-ben a megfelelő "timeout" használata.
  • Nem célszerű olyan AWS Lambda szoftvercsomagokat vagy alkalmazásokat használni, amelyek az alapul szolgáló Windows RPC meghívására támaszkodnak
  • Az AWS Lambda rendkívül rugalmas eszköz.
  • Az AWS Lambda eszköz nem alkalmas kis projektekhez.
  • Az AWS Lambda használatakor gyakori esemény az Adatok beillesztése, frissítése és törlése Dynamo DB tábla.