Mõistame enne AWS Lambda funktsiooni:
Mis on serverivaba?
Serverivaba on termin, mis üldiselt viitab serverita rakendustele. Serverita rakendused on sellised, mis ei vaja serverirakendusi ega vaja serverite haldamist.
Mis on AWS Lambda?
AWS Lambda on sündmustepõhine serverivaba arvutiplatvorm, mille pakub Amazon Amazoni veebiteenuste osana. Seetõttu ei pea te muretsema, milliseid AWS-i ressursse käivitada või kuidas neid hallata. Selle asemel peate koodi panema Lambdale ja see töötab.
AWS Lambdas täidetakse kood vastavalt AWS-i teenuste sündmuste reageerimisele, näiteks failide lisamine / kustutamine S3 ämbris, HTTP-päring Amazon API lüüsilt jne. Kuid Amazon Lambdat saab kasutada ainult taustülesannete täitmiseks.
AWS Lambda funktsioon aitab teil keskenduda oma põhitoodetele ja äriloogikale, selle asemel et hallata operatsioonisüsteemi juurdepääsu kontrollimist, operatsioonisüsteemi lappimist, parema suuruse määramist, ettevalmistamist, skaleerimist jne.
Selles AWS Lambda õpetuses algajatele saate teada:
- Kuidas AWS Lambda töötab?
- AWS Lambda käivitavad sündmused
- AWS Lambda kontseptsioonid
- AWS Lambda VS AWS EC2
- AWS Lambda VS AWS elastne oavarrest
- Kasutage AWS Lambda juhtumeid
- Lambda funktsiooni parimad tavad
- Millal AWS Lambdat mitte kasutada
- AWS Lambda kasutamise eelised
- AWS Lambda piirangud
Kuidas AWS Lambda töötab?
Järgmine plokkskeemiga AWS Lambda näide selgitab AWS Lambda tööd mõne lihtsa sammuga:
1. samm: laadige kõigepealt üles oma AWS Lambda kood mis tahes keeles, mida AWS Lambda toetab. Java, Python, Go ja C # on mõned keeled, mida AWS Lambda funktsioon toetab.
2. samm: need on mõned AWS-teenused, mis võimaldavad teil käivitada AWS Lambda.
3. samm: AWS Lambda aitab teil üles laadida koodi ja sündmuse üksikasjad, mille korral see peaks käivituma.
4. samm: käivitab AWS Lambda koodi, kui selle käivitavad AWS-teenused:
5. samm: AWS võtab tasu ainult siis, kui AWS lambda kood käivitub, ja mitte teisiti.
See juhtub järgmiste stsenaariumide korral:
- Laadige failid üles S3 ämbris
- Kui HTTP get / post lõpp-punkti URL on tabatud
- Dynamo DB tabelite lisamiseks / muutmiseks ja kustutamiseks
- Andmevoogude kogumise protsessis
- Lükka teatis
- Veebisaidi majutamine
- E-kirja saatmine
Märkus. Peaksite meeles pidama, et võtate AWS-teenuste eest tasu ainult siis, kui AWS Lambda kood käivitub, muidu ei pea te midagi maksma.
AWS Lambda käivitavad sündmused
Siin on sündmused, mis käivitatakse AWS Lambda kasutamisel.
- Andmete sisestamine, värskendamine ja kustutamine Dynamo DB tabel
- Tõukemärguannete lisamiseks SNS-i
- Logi ajaloo otsimiseks CloudTrailist
- S3 objekti sisestamine
- DynamoDB võib käivitada AWS Lambda alati, kui tabelisse on lisatud, muudetud ja kustutatud andmeid.
- Aitab teil sündmuse ajastada ülesande täitmiseks tavapärase aja järgi.
- S3 ämbrite objektide muudatused
- Amazon SNS-ilt saadetud teated.
- AWS Lambdat saab kasutada CloudTraili logide töötlemiseks
- API värav võimaldab teil käivitada AWS Lambda meetoditel GET / POST.
AWS Lambda kontseptsioonid
Funktsioon:
Funktsioon on programm või skript, mis töötab AWS Lambdas. Lambda edastab teie funktsioonile kutsumissündmused, mis töötlevad sündmust ja tagastavad selle vastuse.
Kestusajad:
Käitusaeg võimaldab funktsioone erinevates keeltes, mis töötavad samas baaskäitluskeskkonnas. See aitab teil oma funktsiooni käitusajal konfigureerida. See sobib ka teie valitud programmeerimiskeelega.
Sündmuse allikas:
Sündmuse allikas on AWS-teenus, näiteks Amazon SNS, või kohandatud teenus. See päästikute funktsioon aitab teil selle loogikat täita.
Lambda kihid:
Lambda kihid on oluline teekide, kohandatud käituste ja muude oluliste funktsioonisõltuvuste levitamise mehhanism. See AWS-komponent aitab teil hallata oma arendusfunktsiooni koodi eraldi muutumatust koodist ja ressurssidest, mida see kasutab.
Logi voogud:
Logi voog võimaldab teil märkida oma funktsioonikoodi kohandatud logimislausetega, mis aitab teil analüüsida AWS Lambda funktsioonide täitmisvoogu ja jõudlust.
Kuidas AWS Lambdat kasutada
Nüüd õpime, kuidas AWS Lambdat kasutada koos AWS Lambda näitega:
1. samm. Minge https://aws.amazon.com/lambda/ ja alustage
2. samm. Looge konto või logige sisse oma olemasoleva kontoga
Samm 3 ) Järgmisel Lambda lehel
- Muutke koodi
- Klõpsake nuppu Käivita
4. samm. Näete väljundit
AWS Lambda VS AWS EC2
Siin on mõned peamised erinevused AWS Lambda ja EC2 vahel.
Parameetrid | AWS Lambda | AWS EC2 |
Definitsioon | AWS Lambda on platvorm kui teenus (PaaS). See aitab teil taustaprogrammi käivitada ja käivitada. | AWS EC2 on infrastruktuur kui teenus (laaS). See pakub virtualiseeritud arvutusressursse. |
Paindlikkus | Ei paku paindlikkust eksemplaride arvutamiseks sisselogimiseks. See võimaldab teil valida kohandatud operatsioonisüsteemi või keele käitamise. | Pakub paindlikkust mitmesuguste eksemplaride, kohandatud operatsioonisüsteemide, turvapaikade ja võrgu jne valimiseks. |
Paigaldusprotsess | Peate valima oma keskkonna, kus soovite koodi käivitada, ja sisestage kood AWS Lambdasse. | Esimest korda EC2-s peate valima operatsioonisüsteemi ja installima kogu vajaliku tarkvara ning seejärel sisestama oma koodi EC2-sse. |
Keskkonnapiirangud | See on piiratud mõne keelega. | Keskkonnaalaseid piiranguid pole. |
AWS Lambda VS AWS elastne oavarrest
Siin on mõned peamised erinevused AWS Lambda ja Elastic Beanstalk vahel.
Parameetrid | AWS elastne oavarrest | AWS Lambda |
Peamine ülesanne | Rakenduste juurutamine ja haldamine AWS Cloudis muretsemata neid rakendusi käitava infrastruktuuri pärast. | AWS Lambdat kasutatakse teie tagakoodi käitamiseks ja käivitamiseks. Te ei saa seda rakenduse juurutamiseks kasutada. |
AWS-i ressursside valik | See annab teile vabaduse valida AWS-i ressursse; Näiteks saate valida EC2 eksemplari, mis on teie rakenduse järgi optimaalne. | Te ei saa valida AWS-i ressursse, näiteks EC2 eksemplari tüüpi, Lambda pakub ressursse teie töökoormuse põhjal. |
Süsteemi tüüp | See on riiklik süsteem. | See on kodakondsuseta süsteem. |
Kasutage AWS Lambda juhtumeid
AWS Lambdat kasutatakse mitmesuguste rakenduste jaoks, näiteks:
- Aitab teid ETL-protsessis
- Võimaldab teil failide töötlemist reaalajas ja voogude reaalajas töötlemist
- Kasutage veebirakenduste loomiseks
- Kasutage Amazoni toodetes nagu Alexa Chatbots ja Amazon Echo / Alexa
- Andmetöötlus (reaalajas voogesituse analüüs)
- Igapäevaste ülesannete automatiseeritud varundamine
- Skaleeritavad tagumised otsad (mobiilirakendused, loT-seadmed)
- Aitab teil täita serveripoolset taustaprogrammi loogikat
- Võimaldab andmeid filtreerida ja teisendada
Lambda funktsiooni parimad tavad
Siin on mõned AWS Lambda funktsioonide parimad tavad:
- Kasutage õiget "timeouti".
- Kasutage / temp kaustas 500 MB suuruse kohaliku salvestusruumi funktsioone
- Stardikoodi kasutamise minimeerimine, mis pole otseselt seotud praeguse sündmuse töötlemisega.
- Taotluste latentsuste vaatamiseks ja optimeerimiseks peaksite kasutama oma Lambda funktsioonide sisseehitatud CloudWatchi jälgimist.
Millal AWS Lambdat mitte kasutada
Järgnevalt on toodud olukord, kus Lambda pole kindlasti ideaalne võimalus:
- Ei ole asjakohane kasutada AWS Lambda tarkvarapakette ega rakendusi, mis tuginevad Windowsi RPC-de helistamisele
- Kui seda kasutatakse litsentsilepingutega kohandatud tarkvararakenduste jaoks, näiteks MS-Office'i dokumenditöötlus, Oracle'i andmebaasid jne.
- AWS Lambdat ei tohiks kasutada kohandatud riistvaraprotsesside jaoks, näiteks GPU kiirendus, riistvara afiinsus.
AWS Lambda kasutamise eelised
Siin on AWS lambda kasutamise plussid / eelised:
- AWS Lambda on väga paindlik tööriist kasutamiseks
- See aitab teil anda juurdepääsu ressurssidele, sealhulgas VPC-dele
- Kirjutage otse konsoolis WYSIWYG-redaktoriga.
- Saate seda kasutada Eclipse'i ja Visual Studio pistikprogrammina.
- Kuna tegemist on serverivaba arhitektuuriga, ei pea te serverite haldamise ega eraldamise pärast muretsema.
- Teil pole vaja ühtegi virtuaalset masinat seadistada.
- Aitab arendajatel käivitada ja käivitada koodi vastus sündmustele ilma infrastruktuuri ehitamata.
- Peate lihtsalt võtma arvutusaja, ainult siis, kui teie kood töötab.
- Pilve vaatamise kaudu saate oma koodi jõudlust reaalajas jälgida.
- See võimaldab teil oma koodi käivitada ilma eraldisteta või hallata mõnda muud serverit
- Aitab teil koodi täita ainult vajaduse korral
- Saate seda automaatselt skaleerida, et töödelda paar taotlust päevas ja toetada isegi rohkem kui tuhandeid päringuid sekundis.
- AWS Lambda saab väliste sündmuste taimerite abil konfigureerida ajastatud ülesannete täitmiseks.
- AWS-i Lambda-funktsioon peaks olema konfigureeritud väliste sündmuste ja taimeritega; seda saab kasutada ajastamiseks.
- Lambda funktsioonid on kodakondsuseta, et seda saaks kiiresti skaleerida.
- AWS Lambda on kiire, nii et see käivitab teie koodi millisekundite jooksul.
AWS Lambda piirangud
Siin on AWS Lambda kasutamise miinused / puudused:
- AWS Lambda tööriist ei sobi väikeste projektide jaoks.
- AWS Lambda tugineb infrastruktuuri jaoks täielikult AWS-ile, nii et kui teie kood seda nõuab, ei saa te täiendavat tarkvara installida.
- Samaaegne täitmine on piiratud 100-ga
- AWS Lambda sõltus infrastruktuuri jaoks täielikult AWS-ist; te ei saa midagi täiendavat tarkvara installida, kui teie kood seda nõuab.
- Selle mälumaht võib varieeruda vahemikus 128 kuni 1536 MB.
- Sündmuse taotlus ei tohiks olla suurem kui 128 KB.
- Lambda funktsioonid aitavad teil nende logisid kirjutada ainult CloudWatchis. See on ainus tööriist, mis võimaldab teil oma funktsioone jälgida või tõrkeotsingut teha.
- Selle koodi täitmise ajalõpp on vaid 5 minutit.
Kokkuvõte
- Serverivaba on termin, mis üldiselt viitab serverita rakendustele.
- AWS Lambda on üks sellistest serveriteta arvutusteenustest. Seetõttu ei pea te muretsema selle pärast, milliseid AWS-i ressursse käivitada või kuidas nad neid haldavad.
- Funktsioon on programm või skript, mis töötab AWS-serverita lambdas.
- Käitusaeg võimaldab funktsioone erinevates keeltes, mis töötavad samas baaskäitluskeskkonnas.
- Sündmuse allikas on AWS-teenus, näiteks Amazon SNS, või kohandatud teenus.
- Lambda kihid on oluline teekide, kohandatud käituste ja muude oluliste funktsioonisõltuvuste levitamise mehhanism.
- Logi voog võimaldab teil märkida oma funktsioonikoodi kohandatud logimislausetega, mis aitab teil analüüsida oma Lambda funktsioonide täitmisvoogu ja jõudlust.
- AWS Lambda on platvorm kui teenus (PaaS). See aitab teil taustaprogrammi käivitada ja käivitada.
- AWS EC2 on infrastruktuur kui teenus (laaS). See pakub virtualiseeritud arvutusressursse.
- Rakenduste juurutamine ja haldamine AWS Cloudis muretsemata neid rakendusi käitava infrastruktuuri pärast.
- AWS Lambdat kasutatakse teie tagakoodi käitamiseks ja käivitamiseks. Te ei saa seda rakenduse juurutamiseks kasutada.
- AWS Lambda aitab teid ETL-protsessis.
- Parim Lambda funktsiooni tava AWS-is on õige "timeouti" kasutamine.
- Ei ole asjakohane kasutada AWS Lambda tarkvarapakette ega rakendusi, mis tuginevad Windowsi RPC-de helistamisele
- AWS Lambda on väga paindlik tööriist.
- AWS Lambda tööriist ei sobi väikeste projektide jaoks.
- Tavaline sündmus, mis käivitatakse AWS Lambda kasutamisel, on andmete lisamine, värskendamine ja kustutamine Dynamo DB tabel.