Pirms AWS Lambda funkcijas sapratīsim:
Kas ir bez servera?
Bez servera ir termins, kas parasti attiecas uz bez servera lietojumprogrammām. Bez servera lietojumprogrammas ir tādas, kurām nav nepieciešams servera nodrošinājums, un tām nav nepieciešama serveru pārvaldība.
Kas ir AWS Lambda?
AWS Lambda ir notikumu virzīta, bez servera skaitļošanas platforma, ko Amazon nodrošina kā daļu no Amazon Web Services. Tāpēc jums nav jāuztraucas par to, kurus AWS resursus palaist vai kā tos pārvaldīsit. Tā vietā jums ir jāievieto kods Lambda, un tas darbojas.
Programmā AWS Lambda kods tiek izpildīts, pamatojoties uz AWS pakalpojumu notikumu reakciju, piemēram, failu pievienošana / dzēšana S3 segmentā, HTTP pieprasījums no Amazon API vārtejas utt. Tomēr Amazon Lambda var izmantot tikai fona uzdevumu izpildei.
AWS Lambda funkcija palīdz koncentrēties uz galveno produktu un biznesa loģiku, nevis pārvaldīt operētājsistēmas (OS) piekļuves kontroli, OS ielāpus, lieluma maiņu pa labi, nodrošināšanu, mērogošanu utt.
Šajā AWS Lambda apmācībā iesācējiem jūs uzzināsiet:
- Kā darbojas AWS Lambda?
- Notikumi, kas izraisa AWS Lambda
- AWS Lambda koncepcijas
- AWS Lambda VS AWS EC2
- AWS Lambda VS AWS elastīgais pupiņu kāts
- Izmantojiet AWS Lambda gadījumus
- Labākā Lambda funkcijas prakse
- Kad nelietot AWS Lambda
- AWS Lambda izmantošanas priekšrocības
- AWS Lambda ierobežojumi
Kā darbojas AWS Lambda?
Šis AWS Lambda piemērs ar blokshēmu izskaidro AWS Lambda darbību dažos vienkāršos soļos:
1. darbība: vispirms augšupielādējiet savu AWS Lambda kodu jebkurā valodā, kuru atbalsta AWS Lambda. Java, Python, Go un C # ir dažas no valodām, kuras atbalsta AWS Lambda funkcija.
2. solis: Šie ir daži AWS pakalpojumi, kas ļauj aktivizēt AWS Lambda.
3. darbība: AWS Lambda palīdz augšupielādēt kodu un detalizētu informāciju par notikumu, kurā tas jāaktivizē.
4. darbība: izpilda AWS Lambda kodu, kad to aktivizē AWS pakalpojumi:
5. darbība: AWS tiek iekasēta tikai tad, kad tiek izpildīts AWS lambda kods, nevis citādi.
Tas notiks šādos gadījumos:
- Augšupielādējiet failus S3 spainī
- Kad tiek sasniegts HTTP get / post galapunkta URL
- Dynamo DB tabulu pievienošanai / modificēšanai un dzēšanai
- Datu straumju vākšanas procesā
- Push paziņojums
- Tīmekļa vietnes mitināšana
- E-pasta nosūtīšana
Piezīme. Jums jāatceras, ka maksa par AWS pakalpojumiem tiks iekasēta tikai tad, kad tiks izpildīts AWS Lambda kods, pretējā gadījumā jums nekas nav jāmaksā.
Notikumi, kas izraisa AWS Lambda
Šeit ir notikumi, kas tiks aktivizēti, kad izmantojat AWS Lambda.
- Datu ievietošana, atjaunināšana un dzēšana Dynamo DB tabula
- Lai SNS iekļautu brīdinājuma paziņojumus
- Lai meklētu žurnāla vēsturi CloudTrail
- Ieeja S3 objektā
- DynamoDB var aktivizēt AWS Lambda ikreiz, kad tabulā ir pievienoti, modificēti un dzēsti dati.
- Palīdz jums ieplānot pasākumu, lai veiktu uzdevumu parastā laika režīmā.
- Objektu modifikācijas S3 spaiņos
- Paziņojumi nosūtīti no Amazon SNS.
- AWS Lambda var izmantot CloudTrail žurnālu apstrādei
- API vārteja ļauj aktivizēt AWS Lambda GET / POST metodēs.
AWS Lambda koncepcijas
Funkcija:
Funkcija ir programma vai skripts, kas darbojas AWS Lambda. Lambda nodod izsaukuma notikumus jūsu funkcijai, kas apstrādā notikumu un atgriež tā reakciju.
Runtimes:
Runtime ļauj veikt funkcijas dažādās valodās, kas darbojas vienā un tajā pašā bāzes izpildes vidē. Tas palīdz jums konfigurēt savu funkciju izpildlaikā. Tas arī atbilst jūsu izvēlētajai programmēšanas valodai.
Pasākuma avots:
Notikumu avots ir AWS pakalpojums, piemēram, Amazon SNS, vai pielāgots pakalpojums. Šī aktivizētāja funkcija palīdz izpildīt tās loģiku.
Lambda slāņi:
Lambda slāņi ir svarīgs bibliotēku, pielāgotu izpildlaiku un citu svarīgu funkciju atkarību izplatīšanas mehānisms. Šis AWS komponents arī palīdz pārvaldīt izstrādes funkcijas kodu atsevišķi no nemainīgā koda un tajā izmantotajiem resursiem.
Žurnāla straumes:
Žurnāla straume ļauj jums anotēt savas funkcijas kodu ar pielāgotiem reģistrēšanas paziņojumiem, kas palīdz analizēt AWS Lambda funkciju izpildes plūsmu un veiktspēju.
Kā lietot AWS Lambda
Tagad mēs uzzināsim, kā izmantot AWS Lambda ar AWS Lambda piemēru:
1. solis. Atveriet vietni https://aws.amazon.com/lambda/ un sāciet darbu
2. darbība. Izveidojiet kontu vai pierakstieties ar savu esošo kontu
3. solis ) Nākamajā Lambda lapā
- Rediģējiet kodu
- Noklikšķiniet uz Izpildīt
4. solis. Jūs redzēsiet izvadi
AWS Lambda VS AWS EC2
Šeit ir dažas būtiskas atšķirības starp AWS Lambda un EC2.
Parametri | AWS Lambda | AWS EC2 |
Definīcija | AWS Lambda ir platforma kā pakalpojums (PaaS). Tas palīdz palaist un izpildīt aizmugures kodu. | AWS EC2 ir infrastruktūra kā pakalpojums (laaS). Tas nodrošina virtualizētus skaitļošanas resursus. |
Elastīgums | Nepiedāvā nekādu elastību, lai pieteiktos, lai aprēķinātu gadījumus. Tas ļauj jums izvēlēties pielāgotu operētājsistēmu vai valodas izpildlaiku. | Piedāvā elastību, lai atlasītu dažādus gadījumus, pielāgotas darbības sistēmas, drošības ielāpus un tīklu utt. |
Instalācijas process | Jums jāizvēlas vide, kurā vēlaties palaist kodu, un jāievieto kods AWS Lambda. | Pirmo reizi EC2 jums ir jāizvēlas OS un jāinstalē visa nepieciešamā programmatūra un pēc tam jāatspiež kods EC2. |
Vides ierobežojumi | Tas ir ierobežots dažās valodās. | Nav vides ierobežojumu. |
AWS Lambda VS AWS elastīgais pupiņu kāts
Šeit ir dažas būtiskas atšķirības starp AWS Lambda un Elastic Beanstalk.
Parametri | AWS elastīgais pupiņu kāts | AWS Lambda |
Galvenais uzdevums | Izvietojiet un pārvaldiet lietotnes AWS Cloud, neuztraucoties par infrastruktūru, kurā darbojas šīs lietojumprogrammas. | AWS Lambda tiek izmantots, lai palaistu un izpildītu jūsu aizmugures kodu. To nevar izmantot, lai izvietotu lietojumprogrammu. |
AWS resursu atlase | Tas dod jums brīvību izvēlēties AWS resursus; Piemēram, jūs varat izvēlēties EC2 instanci, kas ir optimāla atbilstoši jūsu lietojumprogrammai. | Jūs nevarat atlasīt AWS resursus, piemēram, EC2 instances veidu, Lambda piedāvā resursus, pamatojoties uz jūsu darba slodzi. |
Sistēmas tips | Tā ir valstiska sistēma. | Tā ir bezvalstnieka sistēma. |
Izmantojiet AWS Lambda gadījumus
AWS Lambda tiek izmantots dažādiem lietojumiem, piemēram:
- Palīdz jums ETL procesā
- Ļauj veikt reāllaika failu apstrādi un reāllaika straumes apstrādi
- Izmantojiet, lai izveidotu tīmekļa lietojumprogrammas
- Izmantojiet tādos Amazon produktos kā Alexa Chatbots un Amazon Echo / Alexa
- Datu apstrāde (reāllaika straumēšanas analīze)
- Automatizēti ikdienas uzdevumu dublējumi
- Mērogojami aizmugurējie gali (mobilās lietotnes, loT ierīces)
- Palīdz izpildīt servera puses aizmugures loģiku
- Ļauj filtrēt un pārveidot datus
Labākā Lambda funkcijas prakse
Šeit ir daži AWS Lambda funkciju paraugprakse:
- Izmantojiet pareizo taimautu.
- Izmantojiet lokālās krātuves funkcijas, kuras izmērs ir 500 MB mapē / temp
- Samazinot starta koda izmantošanu, kas nav tieši saistīts ar pašreizējā notikuma apstrādi.
- Lai skatītu un optimizētu pieprasījumu aizkavi, jums jāizmanto iebūvētais Lambda funkciju CloudWatch monitorings.
Kad nelietot AWS Lambda
Seko situācija, kad Lambda noteikti nav ideāls risinājums:
- Nav pareizi izmantot AWS Lambda programmatūras pakotnes vai lietojumprogrammas, kuru pamatā ir Windows RPC izsaukšana
- Ja to lieto pielāgotām lietojumprogrammām ar licencēšanas līgumiem, piemēram, MS-Office dokumentu apstrādi, Oracle datu bāzēm utt.
- AWS Lambda nevajadzētu izmantot pielāgotiem aparatūras procesiem, piemēram, GPU paātrinājumam, aparatūras afinitātei.
AWS Lambda izmantošanas priekšrocības
Šeit ir AWS lambda lietošanas plusi / priekšrocības:
- AWS Lambda ir ļoti elastīgs izmantojams rīks
- Tas palīdz jums piešķirt piekļuvi resursiem, tostarp VPC
- Autors tieši ar WYSIWYG redaktoru konsolē.
- To var izmantot kā spraudni Eclipse un Visual Studio.
- Tā kā tā ir bez servera arhitektūra, jums nav jāuztraucas par serveru pārvaldīšanu vai nodrošināšanu ar tiem.
- Jums nav jāiestata neviena virtuālā mašīna.
- Palīdz izstrādātājiem palaist un izpildīt koda atbildi uz notikumiem, neveidojot nekādu infrastruktūru.
- Jums ir nepieciešams tikai aprēķinātais laiks, tikai tad, kad darbojas jūsu kods.
- Izmantojot CloudWatch, reāllaikā varat uzraudzīt koda veiktspēju.
- Tas ļauj palaist kodu bez nodrošināšanas vai pārvaldīt jebkuru citu serveri
- Palīdz izpildīt kodu tikai nepieciešamības gadījumā
- Varat to automātiski pielāgot, lai apstrādātu dažus pieprasījumus dienā, un pat atbalstītu vairāk nekā tūkstošiem pieprasījumu sekundē.
- AWS Lambda var konfigurēt ar ārēju notikumu taimeru palīdzību, lai veiktu ieplānotus uzdevumus.
- Lambda funkcija AWS ir jākonfigurē ar ārējiem notikumiem un taimeriem; to var izmantot plānošanai.
- Lambda funkcijas ir bezvalstnieki, lai to varētu ātri mainīt.
- AWS Lambda ir ātrs, tāpēc tas izpildīs jūsu kodu milisekunžu laikā.
AWS Lambda ierobežojumi
Šeit ir AWS Lambda lietošanas mīnusi / trūkumi:
- AWS Lambda rīks nav piemērots maziem projektiem.
- AWS Lambda pilnībā paļaujas uz AWS infrastruktūrai, tāpēc jūs nevarat instalēt papildu programmatūru, ja kods to prasa.
- Vienlaicīga izpilde ir ierobežota līdz 100
- AWS Lambda infrastruktūrai bija pilnībā atkarīgs no AWS; jūs nevarat instalēt neko citu programmatūru, ja kods to prasa.
- Tās atmiņas apjoms var svārstīties no 128 līdz 1536 MB.
- Pasākuma pieprasījums nedrīkst pārsniegt 128 KB.
- Lambda funkcijas palīdz rakstīt viņu žurnālus tikai CloudWatch. Šis ir vienīgais rīks, kas ļauj pārraudzīt vai novērst problēmas.
- Tā koda izpildes noildze ir tikai 5 minūtes.
Kopsavilkums
- Bez servera ir termins, kas parasti attiecas uz bez servera lietojumprogrammām.
- AWS Lambda ir viens no šādiem bezserveru skaitļošanas pakalpojumiem. Tāpēc jums nav jāuztraucas par to, kurus AWS resursus palaist vai kā viņi tos pārvaldīs.
- Funkcija ir programma vai skripts, kas darbojas AWS serverless Lambda.
- Runtime ļauj veikt funkcijas dažādās valodās, kas darbojas vienā un tajā pašā bāzes izpildes vidē.
- Notikumu avots ir AWS pakalpojums, piemēram, Amazon SNS, vai pielāgots pakalpojums.
- Lambda slāņi ir svarīgs bibliotēku, pielāgotu izpildlaiku un citu svarīgu funkciju atkarību izplatīšanas mehānisms.
- Žurnāla straume ļauj jums anotēt savas funkcijas kodu ar pielāgotiem reģistrēšanas paziņojumiem, kas palīdz analizēt jūsu Lambda funkciju izpildes plūsmu un veiktspēju.
- AWS Lambda ir platforma kā pakalpojums (PaaS). Tas palīdz palaist un izpildīt aizmugures kodu.
- AWS EC2 ir infrastruktūra kā pakalpojums (laaS). Tas nodrošina virtualizētus skaitļošanas resursus.
- Izvietojiet un pārvaldiet lietotnes AWS Cloud, neuztraucoties par infrastruktūru, kurā darbojas šīs lietojumprogrammas.
- AWS Lambda tiek izmantots, lai palaistu un izpildītu jūsu aizmugures kodu. To nevar izmantot, lai izvietotu lietojumprogrammu.
- AWS Lambda palīdz jums ETL procesā.
- Labākā Lambda funkcijas prakse AWS ir pareizā "taimauta" izmantošana.
- Nav pareizi izmantot AWS Lambda programmatūras pakotnes vai lietojumprogrammas, kuru pamatā ir Windows RPC izsaukšana
- AWS Lambda ir ļoti elastīgs rīks.
- AWS Lambda rīks nav piemērots maziem projektiem.
- Bieži sastopams notikums, kas tiks aktivizēts, kad izmantojat AWS Lambda, ir datu ievietošana, atjaunināšana un dzēšana Dynamo DB tabula.