„AWS Lambda“ mokymo programa: „Amazon“ kompiuterio be kompiuterių vadovas



Šioje „AWS Lambda“ mokymo programoje aprašoma „AWS“ be serverio skaičiavimo platforma, kurioje pateikiama išsami informacija apie „Lambda“ funkciją, įvykių šaltinį, „Lambda“ kainas su naudojimo atveju.

„AWS Lambda“ pamoka

Šiandien kalbėsime apie „AWS Lambda“. „AWS Lambda“ yra „Amazon“ siūloma skaičiavimo paslauga. Turite būti įdomu, nes yra keletas kitų AWS skaičiavimo paslaugų, tokių kaip AWS EC2, AWS Elastic Beanstalk, AWS Opsworks ir kt., Kodėl verta naudoti kitą skaičiavimo paslaugą? Šioje „AWS Lambda“ pamokoje sužinosite, kas yra „AWS Lambda“, kodėl ji naudojama ir kokiais naudojimo atvejais turėtumėte į tai atsižvelgti.

Pažiūrėkime, kaip „Amazon“ apibrėžia „AWS Lambda“, tada mes giliai pasinersime į pagrindines sąvokas, galų gale suprasime naudojimo atvejį.



„Lambda Serverless“ skaičiavimas - „aws lambda“ pamoka

Kas yra „AWS Lambda“?

„Amazon“ paaiškina, kad „AWS Lambda“ (ir „lambda“) yra „be serverio“ skaičiavimo paslauga, ty kūrėjams nereikia rūpintis, kuriuos AWS išteklius paleisti ar kaip juos valdyti, jie tiesiog įdėjo kodą į „lambda“ ir jis veikia , tai taip paprasta! Tai padeda jums sutelkti dėmesį į pagrindinę kompetenciją, ty „App Building“ ar kodą.



Kur naudosiu „AWS Lambda“?

„AWS Lambda“ vykdo jūsų užpakalinį kodą, automatiškai valdydama AWS išteklius. Kai sakome „tvarkyti“, tai apima egzempliorių paleidimą ar nutraukimą, sveikatos patikrinimus, automatinį mastelį, naujų naujinimų atnaujinimą ar pataisymą ir kt.

Taigi, kaip tai veikia?

Kodas, kurį norite paleisti „Lambda“, yra žinomas kaip Lambda funkcija . Dabar, kaip žinome, funkcija veikia tik tada, kai ji yra iškviečiama, tiesa? Čia Įvykio šaltinis yra subjektas, kuris suveikia „Lambda“ funkciją, o tada užduotis vykdoma.

Paimkime pavyzdį, kad jį aiškiau suprastume.



Tarkime, kad turite programą vaizdams įkelti. Dabar, kai įkeliate vaizdą, prieš saugant reikia atlikti daugybę užduočių, tokių kaip dydžio keitimas, filtrų taikymas, glaudinimas ir kt.

Taigi, ši vaizdo įkėlimo užduotis gali būti apibrėžta kaip Įvykio šaltinis arba „trigeris“, kuris iškvies „Lambda“ funkciją, o tada visas šias užduotis galima atlikti per „Lambda“ funkciją.

Šiame pavyzdyje kūrėjas tiesiog turi apibrėžti įvykio šaltinį ir įkelti kodą.

Supraskime šį pavyzdį su realiais AWS ištekliais dabar,

Pav. „Lambda“ naudojimo atvejis su S3

Čia mes įkelsime objektų pavidalo vaizdus į S3 kibirą. Vaizdo įkėlimas į S3 grupę taps įvykių šaltiniu arba „trigeriu“.

Visas procesas, kaip matote diagramoje, yra padalintas į 5 žingsnius, supraskime kiekvieną iš jų.

  1. Vartotojas įkelia vaizdą (objektą) į šaltinio grupę S3, prie kurios pridėtas pranešimas, skirtas „Lambda“.
  2. Pranešimą skaito S3 ir jis nusprendžia, kur tą pranešimą siųsti.
  3. S3 siunčia pranešimą „Lambda“, šis pranešimas veikia kaip „lambda“ funkcijos iškvietimas.
  4. Vykdomąjį vaidmenį „Lambda“ galima apibrėžti naudojant IAM (tapatybės ir prieigos valdymą) suteikiant prieigos prie AWS išteklių leidimą, šiame pavyzdyje tai būtų S3.
  5. Galiausiai, ji iškviečia norimą lambda funkciją, kuri veikia objekte, kuris buvo įkeltas į S3 kibirą.

Jei šį scenarijų spręstumėte tradiciškai kartu su plėtra, būtumėte samdę žmones, kurie valdytų šias užduotis:

  • Serverių dydis, aprūpinimas ir išplėtimas
  • OS naujinių tvarkymas
  • Užklijuokite saugos pleistrus ir
  • Stebėkite visą šios infrastruktūros našumą ir prieinamumą.

Tai būtų buvusi brangi, varginanti ir varginanti užduotis, todėl „AWS Lambda“ poreikis yra pagrįstas.„AWS Lambda“ yra suderinama su „Node.JS“, „Python“ ir „Java“, todėl galite įkelti savo failą į ZIP failą, apibrėžti įvykio šaltinį ir būsite pasirengę!

Galite skaityti daugiau apie S3 AWS čia gilesniam supratimui.

Dabar mes žinome -Kaip veikia „Lambda“ irKą daro „Lambda“ s .

Now, supraskime

  • Kur naudoti „Lambda“?
  • Kokį tikslą tam naudoja „Lambda“kitos AWS skaičiavimo paslaugos ar ne?

Jei kurtumėte problemos sprendimą, turėtumėte žinoti, kur naudoti „Lambda“, tiesa?

Taigi, kaip architektas, turite šias užduoties vykdymo galimybes:

  • AWS EC2
  • „AWS Elastic Beanstalk“
  • AWS OpsWorks
  • „AWS Lambda“

Paimkime aukščiau pateiktą naudojimo atvejį kaip pavyzdį ir supraskime, kodėl mes pasirinkome „Lambda“ jam išspręsti.

Programai diegti naudojami „AWS OpsWorks“ ir „AWS ElasticBeanstalk“, todėl mūsų naudojimo atvejis yra ne sukurti programą , bet vykdyti vidinį kodą.

kaip išvengti aklavietės java

Tai kodėl gi ne EC2?

Jei naudotumėtės EC2, turėtumėte sukonstruoti viską, t. Y. Apkrovos balansavimo priemonę, EBS tomus, programinės įrangos paketus ir pan. „Lambda“ jums nereikia nieko jaudintis, tiesiog įdėkite savo kodą, o AWS valdys visa kita!

Pavyzdžiui , EC2 jūs įdiegtumėte programinės įrangos paketus į savo virtualią mašiną, kurie palaikytų jūsų kodą, tačiau „Lambda“ jums nereikia jaudintis dėl jokio VM, tiesiog įdėkite paprastą kodą ir „Lambda“ jį įvykdys už jus.

Bet jei jūsų kodas veiks kelias valandas ir tikitės nenutrūkstamo užklausų srauto, tikriausiai turėtumėte eiti su EC2, nes „Lambda“ architektūra yra skirta atsitiktiniam darbo krūviui, kuriame bus ramios valandos ir kai kurie šuoliai Nr. prašymų.

Pavyzdžiui , registruodamas el. pašto veiklą, pvz., mažai įmonei, dienos metu būtų daugiau veiklos nei naktį, taip pat gali būti dienų, kai el. laiškų reikia apdoroti mažiau, o kartais visas pasaulis gali pradėti siųsti jums el. laiškus! Abiem atvejais „Lambda“ yra jūsų paslaugoms.

Atsižvelgiant į šį naudojimo atvejį didelei socialinių tinklų įmonei, kur el. Laiškai nesibaigia, nes turi didžiulę vartotojų bazę, „Lambda“ gali būti netinkamas pasirinkimas.

Galite skaityti daugiau apie EC2 AWS čia gilesniam supratimui.

„AWS Lambda“ apribojimai

Kai kurie apribojimai yra būdingi aparatinei įrangai, o kai kuriuos - architektūra, aptarkime juos visus.

Aparatinės įrangos apribojimai apima disko dydį, kuris ribojamas iki 512 MB, atmintis gali skirtis nuo 128 iki 1536 MB. Tada yra keletas kitų, pvz., Vykdymo skirtasis laikas gali būti padidintas iki 5 minučių, jūsų užklausos turinio naudingoji apkrova gali būti ne didesnė kaip 6 MB, o užklausos turinys yra 128 KB. Užklausos turinio naudingoji apkrova yra tarsi duomenys, kuriuos siunčiate su „GET“ arba „PUT“ užklausa HTTP, kur kaip užklausos turinys būtų užklausos tipas, antraštės ir kt.

Tiesą sakant, tai nėra apribojimai, bet tai yra projektavimo ribos, kurios buvo nustatytos „Lambda“ architektūroje, taigi, jei jūsų naudojimo atvejis šiems netinka, visada turite kitų AWS skaičiavimo paslaugų.

Šiame „AWS Lambda“ vadovėlyje aptarėme, kad tai, kaip atlikti užduotis „Lambdoje“ nėra “varginantis ir varginantis. Dabar padengkime ir išlaidų dalį.

Kainos „AWS Lambda“

Kaip ir dauguma AWS paslaugų, „AWS Lambda“ taip pat yra mokama už naudojimąsi paslauga, tai reiškia, kad mokate tik tai, ką naudojate, todėl mokate už šiuos parametrus

  • Skaičius prašymus kad atliktumėte savo lambda funkciją
  • trukmė kuriam vykdomas jūsų kodas.

Prašymai

  • Būsite apmokestinti už visų jūsų „lambda“ funkcijų užklausų skaičių.
  • „AWS Lambda“ skaičiuoja užklausą kiekvieną kartą, kai ji pradeda vykdyti atsakydama į įvykio šaltinį arba iškviesdamas skambutį, įskaitant testą, kuris iškviečiamas iš konsolės. Pažvelkime į kainas dabar:
    • Pirmieji 1 milijonas užklausų kiekvieną mėnesį yra nemokami.
    • Po to 0,20 USD už milijoną užklausų.

Trukmė

  • Trukmė skaičiuojama nuo to momento, kai jūsų kodas pradedamas vykdyti, iki jo grįžimo ar pabaigos, jis suapvalinamas iki artimiausio 100 ms.
  • Kaina priklauso nuo atminties kiekio, kurį skiriate savo funkcijai, mokėsite 0,00001667 USD už kiekvieną panaudotą GB sekundę.

* Šaltinis: oficiali AWS svetainė

Jei pasiekėte iki čia, jūs visi esate pasirengę „Hands-on“ Lambdoje. Pasilinksminkime!

Praktika: „AWS Lambda“ pasidaryk pats

Sukurkime „Lambda“ funkciją, kuri užregistruos „Objektas pridėtas“, kai tik pridėsite objektą prie konkretaus S3 segmento.

1 žingsnis: Skiltyje „AWS Management Console“ skaičiavimo skiltyje pasirinkite „AWS Lambda“.

2 žingsnis: „AWS Lambda Console“ spustelėkite „Sukurti Lambda funkciją“.

3 žingsnis: Kitame puslapyje turite pasirinkti projektą. Pavyzdžiui, mes pasirinksime tuščią funkciją savo naudojimo atvejui.

4 žingsnis: Kitame puslapyje turėsite (1) nustatyti aktyviklį, nes mes ketiname dirbti su S3, (2) pasirinkite S3 gaiduką ir tada (3) spustelėkite Pirmyn.

5 žingsnis: Konfigūracijos puslapyje užpildykite išsamią informaciją. Galite įdėti savo kodą arba nukopijuoti tą patį kodą iš šio naudojimo atvejo. Po to užpildykite tvarkytuvą ir vaidmenį, palikite išplėstinius nustatymus tokius, kokie jie yra, galų gale spustelėkite kitą.

6 žingsnis: Kitame puslapyje peržiūrėkite visą informaciją ir spustelėkite „Kurti funkciją“.

7 žingsnis: Kadangi mes sukūrėme funkciją S3 grupei, tuo metu, kai pridėsite failą prie savo S3 grupės, turėtumėte gauti tą patį žurnalą „CloudWatch“, kuris yra AWS stebėjimo paslauga.

Sveikiname!Jūs sėkmingai įvykdėte „Lambda“ funkciją.

Tikiuosi, kad jums patiko giliai pasinerti į „AWS Lambda“ mokymo programą. Tai yra viena iš labiausiai pageidaujamų žinių sričių AWS ekosistemoje tokioms darbo pozicijoms kaip sprendimų architektas, debesų inžinierius, „DevOps“ inžinierius. Štai kolekcija padėti jums pasirengti kitam AWS darbo pokalbiui.

Jei jums pasirodė aktuali ši „AWS Lambda“ mokymo programa, galite pamatyti tiesioginius ir instruktorių vedamus „Edureka“ kursus , kurį kartu sukūrė pramonės specialistai.

Turite mums klausimą? Prašau paminėti tai komentarų skiltyje ir mes su jumis susisieksime.