AWS Lambda apmācība: jūsu ceļvedis Amazon bez skaitļošanas



Šajā AWS Lambda apmācībā aprakstīta AWS bez servera aprēķināšanas platforma, kurā sniegta detalizēta informācija par Lambda funkciju, notikumu avotu, Lambda cenām un lietošanas gadījumu.

AWS Lambda apmācība

Šodien mēs runāsim par AWS Lambda. AWS Lambda ir skaitļošanas pakalpojums, ko piedāvā Amazon. Jums jābūt ziņkārīgam, jo ​​no AWS ir vairāki citi skaitļošanas pakalpojumi, piemēram, AWS EC2, AWS Elastic Beanstalk, AWS Opsworks utt., Kāpēc tad vēl viens skaitļošanas pakalpojums? Šajā AWS Lambda apmācībā jūs uzzināsiet, kas ir AWS Lambda, kāpēc to lieto un kādos lietošanas gadījumos jums tas jāņem vērā.

Apskatīsim, kā Amazon definē AWS Lambda, un tad mēs dziļi ienirsim galvenajos jēdzienos, galu galā izprotot lietošanas gadījumu.





Lambda bez servera skaitļošana - aws lambda apmācība

Kas ir AWS Lambda?

Amazon skaidro, ka AWS Lambda (& lambda) kā “bez servera” skaitļošanas pakalpojums, kas nozīmē, ka izstrādātājiem nav jāuztraucas par to, kurus AWS resursus palaist vai kā viņi tos pārvaldīs, viņi vienkārši ievieto kodu lambda un tas darbojas , tas ir tik vienkārši! Tas palīdz koncentrēties uz galveno kompetenci, t.i., lietotņu veidošanu vai kodu.



Kur es izmantošu AWS Lambda?

AWS Lambda izpilda jūsu aizmugures kodu, automātiski pārvaldot AWS resursus. Kad mēs sakām “pārvaldīt”, tas ietver gadījumu palaišanu vai pārtraukšanu, veselības pārbaudi, automātisku mērogošanu, jaunu atjauninājumu atjaunināšanu vai ielāpīšanu utt.

Tātad, kā tas darbojas?

Kods, kuru vēlaties palaist Lambda, ir pazīstams kā a Lambda funkcija . Tagad, kā mēs zinām, funkcija darbojas tikai tad, kad to izsauc, vai ne? Šeit, Notikuma avots ir entītija, kas iedarbina Lambda funkciju, un pēc tam uzdevums tiek izpildīts.

Ņemsim piemēru, lai to skaidrāk saprastu.



Pieņemsim, ka jums ir lietotne attēlu augšupielādēšanai. Tagad, kad augšupielādējat attēlu, pirms tā saglabāšanas ir jāveic daudz uzdevumu, piemēram, izmēru maiņa, filtru lietošana, saspiešana utt.

Tātad šo attēla augšupielādes uzdevumu var definēt kā Notikuma avots vai ‘trigeris’, kas izsauks Lambda funkciju, un pēc tam visus šos uzdevumus var izpildīt, izmantojot Lambda funkciju.

split funkcija java piemērā

Šajā piemērā izstrādātājam vienkārši jādefinē notikuma avots un jāaugšupielādē kods.

Sapratīsim šo piemēru ar reāliem AWS resursiem tagad,

Lambda lietošanas gadījums ar S3

Šeit mēs augšupielādēsim attēlus objektu veidā S3 spainī. Attēla augšupielāde S3 spainī kļūs par notikuma avotu vai “trigeri”.

Viss process, kā redzat diagrammā, ir sadalīts 5 posmos, sapratīsim katru no tiem.

  1. Lietotājs augšupielādē attēlu (objektu) S3 avota segmentā, kuram ir pievienots paziņojums par Lambda.
  2. Paziņojumu lasa S3, un tas izlemj, kur nosūtīt šo paziņojumu.
  3. S3 nosūta paziņojumu Lambda, šis paziņojums darbojas kā lambda funkcijas izsaukuma izsaukums.
  4. Izpildes lomu Lambda var definēt, izmantojot IAM (Identity and Access Management), lai piešķirtu piekļuves atļauju AWS resursiem, šajā piemērā tas būtu S3.
  5. Visbeidzot, tā izsauc vēlamo lambda funkciju, kas darbojas objektā, kas augšupielādēts S3 spainī.

Ja jūs tradicionāli atrisinātu šo scenāriju kopā ar attīstību, jūs būtu pieņēmis darbā cilvēkus, lai pārvaldītu šādus uzdevumus:

  • Serveru lielums, nodrošinājums un paplašināšana
  • OS atjauninājumu pārvaldība
  • Ievietojiet drošības ielāpus un
  • Pārraugiet visas šīs infrastruktūras veiktspēju un pieejamību.

Tas būtu bijis dārgs, garlaicīgs un nogurdinošs uzdevums, tāpēc nepieciešamība pēc AWS Lambda ir pamatota.AWS Lambda ir saderīga ar Node.JS, Python un Java, tāpēc varat augšupielādēt failu zip formātā, definēt notikuma avotu un esat iestatīts!

Jūs varat lasīt vairāk par S3 AWS šeit, lai iegūtu dziļāku izpratni.

Tagad mēs zinām -Kā darbojas Lambda unKo Lambda dara s .

Nak, sapratīsim-

  • Kur lietot Lambda?
  • Kādu mērķi Lambda pildaciti AWS Compute pakalpojumi nav?

Ja jūs projektējat problēmas risinājumu, jums vajadzētu būt iespējai noteikt, kur lietot Lambda, vai ne?

Tātad kā arhitektam uzdevuma izpildei ir šādas iespējas:

  • AWS EC2
  • AWS elastīgais pupiņu kāts
  • AWS OpsWorks
  • AWS Lambda

Ņemsim par piemēru iepriekš minēto lietošanas gadījumu un sapratīsim, kāpēc mēs to izvēlējāmies Lambda.

AWS OpsWorks un AWS ElasticBeanstalk tiek izmantoti, lai izvietotu lietotni, tāpēc mūsu lietošanas gadījums ir lai izveidotu lietotni , bet izpildīt aizmugures kodu.

Tad kāpēc ne EC2?

Ja izmantotu EC2, jums būtu jāveido viss, t.i., slodzes līdzsvarotājs, EBS apjomi, programmatūras skursteņi utt. Lambdā jums nekas nav jāuztraucas, vienkārši ievietojiet kodu, un AWS pārvaldīs pārējo!

Piemēram , EC2 jūs savā virtuālajā mašīnā instalētu programmatūras pakotnes, kas atbalstītu jūsu kodu, taču Lambdā jums nav jāuztraucas par jebkuru VM, vienkārši ievietojiet vienkāršu kodu, un Lambda to izpildīs jūsu vietā.

Bet, ja jūsu kods darbosies vairākas stundas, un jūs sagaidāt nepārtrauktu pieprasījumu plūsmu, jums, iespējams, vajadzētu iet kopā ar EC2, jo Lambda arhitektūra ir paredzēta sporādiska veida slodzei, kurā būs dažas klusas stundas un daži pīķi nr. pieprasījumu.

Piemēram , reģistrējot e-pasta darbības, piemēram, nelielam uzņēmumam, dienas laikā tiktu novērota lielāka aktivitāte nekā naktī, kā arī varētu būt dienas, kad ir mazāk apstrādājamo e-pasta ziņojumu, un dažreiz visa pasaule varētu sākt nosūtīt jums e-pastu! Abos gadījumos Lambda ir jūsu rīcībā.

Ņemot vērā šo izmantošanas gadījumu lielam sociālo tīklu uzņēmumam, kur e-pasta ziņojumi nekad nebeidzas, jo tam ir milzīga lietotāju bāze, Lambda var nebūt piemērota izvēle.

pakalpojuma biļešu sistēmas apmācība

Jūs varat lasīt vairāk par EC2 AWS šeit, lai iegūtu dziļāku izpratni.

AWS Lambda ierobežojumi

Daži ierobežojumi ir raksturīgi aparatūrai, un dažus saista arhitektūra, apspriedīsim tos visus.

Aparatūras ierobežojumi ietver diska lielumu, kas ir ierobežots līdz 512 MB, atmiņa var mainīties no 128 MB līdz 1536 MB. Tad ir vēl daži, piemēram, izpildes noildzi var palielināt līdz 5 minūtēm, pieprasījuma ķermeņa lietderīgā slodze nedrīkst pārsniegt 6 MB un pieprasījuma pamatteksts ir 128 KB. Pieprasījuma ķermeņa lietderīgā slodze ir līdzīga datiem, kurus jūs sūtāt ar “GET” vai “PUT” pieprasījumu HTTP, kur kā pieprasījuma struktūra būtu pieprasījuma veids, galvenes utt.

Patiesībā tie nav ierobežojumi, bet gan dizaina robežas, kas ir noteiktas Lambda arhitektūrā, tādēļ, ja jūsu lietošanas gadījums neatbilst šiem, jūsu rīcībā vienmēr ir citi AWS skaitļošanas pakalpojumi.

Šajā AWS Lambda apmācībā mēs apspriedām, ka uzdevumu veikšana Lambdā “nav” garlaicīga un nogurdinoša. Tagad segsim arī izdevumu daļu.

Cenas AWS Lambda

Tāpat kā lielākā daļa AWS pakalpojumu, arī AWS Lambda ir maksas pakalpojums, kas nozīmē, ka jūs maksājat tikai to, ko izmantojat, tāpēc jums jāmaksā par šādiem parametriem

  • To skaits pieprasījumiem ko veicat savai lambda funkcijai
  • The ilgums kurai izpilda jūsu kodu.

Pieprasījumi

  • No jums tiek iekasēta maksa par visu jūsu lambda funkciju veikto pieprasījumu skaitu.
  • AWS Lambda skaita pieprasījumu katru reizi, kad tas sāk izpildīt, atbildot uz notikuma avotu vai izsaukt zvanu, ieskaitot testu, kas tiek izsaukts no konsoles. Apskatīsim cenas tūlīt:
    • Pirmie 1 miljons pieprasījumu katru mēnesi ir bez maksas.
    • Pēc tam 0,20 USD par miljonu pieprasījumu.

Ilgums

  • Ilgums tiek aprēķināts no brīža, kad jūsu kods sāk darboties, līdz brīdim, kad tas atgriežas vai beidzas, tas tiek noapaļots uz augšu līdz tuvākajam 100 ms.
  • Cena ir atkarīga no atmiņas apjoma, ko piešķirat savai funkcijai, par katru izmantoto GB sekundi tiek iekasēta 0,00001667 USD.

* Avots: AWS oficiālā vietne

Ja esat sasniedzis līdz šejienei, jūs visi esat gatavi praktiskai darbībai Lambdā. Izklaidēsimies!

Hands-on: AWS Lambda DIY

Izveidosim funkciju Lambda, kas reģistrēs “Objekts ir pievienots”, tiklīdz objektu pievienosit konkrētam S3 segmentam.

1. solis: AWS pārvaldības konsoles sadaļā Skaitļošana atlasiet AWS Lambda.

2. solis: AWS Lambda konsolē noklikšķiniet uz “Izveidot Lambda funkciju”.

3. solis: Nākamajā lappusē jums jāizvēlas projekts. Piemēram, mēs atlasīsim tukšo funkciju mūsu lietošanas gadījumam.

4. solis: Nākamajā lapā jūs iestatīsit (1) trigeri, jo mēs strādāsim pie S3, (2) atlasiet S3 trigeri un pēc tam (3) noklikšķiniet uz Tālāk.

5. solis: Konfigurācijas lapā aizpildiet informāciju. Jūs varat ievietot savu kodu vai arī nokopēt to pašu kodu no šī lietošanas gadījuma. Pēc tam aizpildiet apdarinātāju un lomu, atstājiet papildu iestatījumus tādus, kādi tie ir, beigās noklikšķiniet uz nākamā.

6. solis: Nākamajā lapā pārskatiet visu informāciju un noklikšķiniet uz “Izveidot funkciju”.

kasandras galds vs kolonnu saime

7. solis: Tā kā mēs izveidojām funkciju S3 spainim, brīdī, kad pievienojat failu savam S3 spainim, jums vajadzētu saņemt žurnālu par to pašu CloudWatch, kas ir AWS uzraudzības pakalpojums.

Apsveicam!Jūs esat veiksmīgi izpildījis funkciju Lambda.

Es ceru, ka jums patika dziļi ienirt AWS Lambda apmācībā. Tā ir viena no visvairāk vēlamajām zināšanu jomām AWS ekosistēmā tādām darba pozīcijām kā Solutions Architect, Cloud Engineer, DevOps Engineer. Šeit ir kolekcija lai palīdzētu jums sagatavoties nākamajai AWS darba intervijai.

Ja jums šī AWS Lambda apmācība ir piemērota, varat apskatīt Edureka tiešraides un instruktoru vadītos kursus vietnē , kuru kopīgi izveidojuši nozares praktiķi.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā, un mēs ar jums sazināsimies.