AWS Lambda -opetusohjelma: Opas Amazon-palvelimettomaan tietojenkäsittelyyn



Tässä AWS Lambda -oppaassa kuvataan AWS: n palvelimeton laskenta -alusta, joka sisältää yksityiskohdat Lambda-toiminnosta, tapahtumalähteestä, Lambda-hinnoittelusta ja käyttötapauksesta.

AWS Lambda -opastus

Tänään puhumme AWS Lambdasta. AWS Lambda on Amazonin tarjoama laskentapalvelu. Sinun on oltava utelias, koska AWS: ltä löytyy useita muita laskentapalveluja, kuten AWS EC2, AWS Elastic Beanstalk, AWS Opsworks jne., Miksi sitten toinen laskentapalvelu? Tästä AWS Lambda -oppaasta löydät mikä on AWS Lambda, miksi sitä käytetään ja missä käyttötapauksissa sinun on harkittava sitä.

Katsotaanpa, kuinka Amazon määrittelee AWS Lambdan, ja sitten sukelamme syvälle keskeisiin käsitteisiin, ymmärrämme käyttötapauksen käytännön avulla.



Lambda-palvelimeton tietojenkäsittely - aws lambda -opetusohjelma

Mikä on AWS Lambda?

Amazon selittää, että AWS Lambda (& lambda) 'palvelimettomana' laskentapalveluna, eli kehittäjien ei tarvitse huolehtia siitä, mitkä AWS-resurssit käynnistetään, tai miten he hallitsevat niitä, he vain asettavat koodin lambdalle ja se toimii , se on niin yksinkertaista! Se auttaa sinua keskittymään ydinosaamiseen eli sovellusten rakentamiseen tai koodiin.



Missä käytän AWS Lambdaa?

AWS Lambda suorittaa taustakoodisi hallitsemalla AWS-resursseja automaattisesti. Kun sanomme 'hallita', se sisältää instanssien käynnistämisen tai lopettamisen, terveystarkastukset, automaattisen skaalauksen, uusien päivitysten päivittämisen tai korjaamisen.

Joten miten se toimii?

Koodi, jonka haluat Lambdan suorittavan, tunnetaan nimellä Lambda-toiminto . Kuten tiedämme, funktio toimii vain, kun sitä kutsutaan, eikö? Tässä, Tapahtuman lähde on entiteetti, joka laukaisee Lambda-toiminnon, ja sitten tehtävä suoritetaan.

Otetaan esimerkki ymmärtääksemme sen selkeämmin.



java c ++ python

Oletetaan, että sinulla on sovellus kuvien lataamiseen. Nyt kun lataat kuvan, ennen tallentamista on mukana paljon tehtäviä, kuten koon muuttaminen, suodattimien käyttö, pakkaaminen jne.

Joten tämä kuvan lähettämisen tehtävä voidaan määritellä Tapahtuman lähde tai ”liipaisu”, joka kutsuu Lambda-toiminnon, ja sitten kaikki nämä tehtävät voidaan suorittaa Lambda-toiminnon kautta.

Tässä esimerkissä kehittäjän on vain määriteltävä tapahtuman lähde ja lähetettävä koodi.

Ymmärretään tämä esimerkki todellisilla AWS-resursseilla nyt,

Kuva Lambda-käyttötapa S3: n kanssa

Täältä lähetämme kuvia esineinä S3-ämpäriin. Tästä kuvan lähettämisestä S3-ämpäriin tulee tapahtumalähde tai ”laukaisin”.

Kuten kaaviosta näet, koko prosessi on jaettu viiteen vaiheeseen, ymmärretään kukin niistä.

  1. Käyttäjä lataa kuvan (objektin) S3-lähdekopioon, johon on liitetty ilmoitus Lambdaa varten.
  2. S3 lukee ilmoituksen ja päättää, mihin ilmoitus lähetetään.
  3. S3 lähettää ilmoituksen Lambdalle, tämä ilmoitus toimii lambda-toiminnon kutsupyynnönä.
  4. Suoritusrooli Lambdassa voidaan määrittää käyttämällä IAM: ää (Identity and Access Management) antamaan käyttöoikeus AWS-resursseille, tässä esimerkissä se olisi S3.
  5. Lopuksi se kehottaa haluttua lambda-toimintoa, joka toimii objektilla, joka on ladattu S3-ämpäriin.

Jos ratkaisit tämän skenaarion perinteisesti kehityksen ohella, olisit palkannut ihmisiä seuraavien tehtävien hoitamiseen:

  • Palvelinten koko, tarjoaminen ja laajentaminen
  • Käyttöjärjestelmän päivitysten hallinta
  • Käytä suojauskorjauksia ja
  • Seuraa koko tämän infrastruktuurin suorituskykyä ja saatavuutta.

Tämä olisi ollut kallis, tylsä ​​ja väsyttävä tehtävä, joten AWS Lambdan tarve on perusteltu.AWS Lambda on yhteensopiva Node.JS: n, Pythonin ja Java: n kanssa, joten voit ladata tiedoston zip-tiedostona, määrittää tapahtumalähteen ja olet valmis!

Voit lukea lisää S3 AWS täällä syvempää ymmärrystä varten.

Tiedämme nyt -Kuinka Lambda toimii jaMitä Lambda tekee s .

Noi, ymmärretään-

  • Missä käyttää Lambdaa?
  • Mitä tarkoitusta Lambda palvelee, sitämuut AWS Compute -palvelut eivät?

Jos suunnittelisit ratkaisun ongelmaan, sinun pitäisi pystyä tunnistamaan, missä Lambdaa käytetään, eikö?

Joten arkkitehtina sinulla on seuraavat vaihtoehdot tehtävän suorittamiseen:

miten asennan php: n
  • AWS EC2
  • AWS Elastinen pavunvarsi
  • AWS OpsWorks
  • AWS Lambda

Otetaan esimerkkinä yllä oleva käyttötapaus ja ymmärretään, miksi valitsimme Lambdan ratkaisemaan sen.

AWS OpsWorksia ja AWS ElasticBeanstalkia käytetään sovelluksen käyttöönottoon, joten käyttötapamme on ei luoda sovelluksen , mutta suorittaa taustakoodi.

Miksi sitten ei EC2?

Jos haluat käyttää EC2: ta, sinun on suunniteltava kaikki eli kuormituksen tasapainotin, EBS-volyymit, ohjelmistopinot jne. Lambdassa sinun ei tarvitse huolehtia mistään, vain lisätä koodisi, ja AWS hallitsee loput!

Esimerkiksi , EC2: ssä asennat ohjelmistopaketit virtuaalikoneellesi, jotka tukisivat koodiasi, mutta Lambdassa sinun ei tarvitse huolehtia mistään virtuaalikoneesta, lisää vain tavallinen koodi ja Lambda suorittaa sen puolestasi.

Mutta jos koodisi toimii tuntikausia ja odotat jatkuvaa pyyntövirtaa, sinun pitäisi todennäköisesti mennä EC2: n kanssa, koska Lambda-arkkitehtuuri on satunnaista työmäärää varten, jossa on hiljaisia ​​tunteja ja piikkejä nro. myös pyyntöjä.

Esimerkiksi , kirjaamalla sähköpostitoiminnan esimerkiksi pienelle yritykselle, aktiviteetit näkyisivät enemmän päivällä kuin yöllä, saattaa myös olla päiviä, jolloin käsiteltäviä sähköposteja on vähemmän, ja joskus koko maailma voi alkaa lähettää sinulle sähköpostia! Molemmissa tapauksissa Lambda on palveluksessasi.

Ottaen huomioon tämän käyttötapauksen suurelle sosiaalisen verkostoitumisen yritykselle, jossa sähköpostit eivät lopu koskaan, koska sillä on valtava käyttäjäkunta, Lambda ei välttämättä ole sopiva valinta.

Voit lukea lisää EC2 AWS täällä syvempää ymmärrystä varten.

AWS Lambdan rajoitukset

Jotkut rajoitukset ovat laitteistokohtaisia ​​ja jotkut ovat sidottuja arkkitehtuuriin, keskustellaan niistä kaikista.

Laitteiston rajoitukset Jos levyn koko on rajoitettu 512 Mt: iin, muisti voi vaihdella välillä 128 - 1536 Mt Sitten on joitain muita, kuten suorituksen aikakatkaisu voidaan maksimoida vain viiteen minuuttiin, pyyntörungon hyötykuorma voi olla enintään 6 Mt ja pyyntörunko on 128 kt. Pyynnön rungon hyötykuorma on kuin tiedot, jotka lähetät “GET” - tai “PUT” -pyynnön kanssa HTTP: ssä, missä pyynnön runko olisi pyynnön tyyppi, otsikot jne.

Itse asiassa nämä eivät ole rajoituksia, mutta ne ovat suunnittelurajoja, jotka on asetettu Lambda-arkkitehtuurissa, joten jos käyttötapasi ei sovi näihin, sinulla on aina käytettävissäsi muut AWS-laskentapalvelut.

Keskustelimme tässä AWS Lambda -oppaassa siitä, kuinka tehtävien tekeminen Lambdassa ei ole ”tylsiä ja väsyttäviä. Katetaan nyt myös kustannusosa.

Hinnoittelu AWS Lambdassa

Kuten suurin osa AWS-palveluista, AWS Lambda on myös pay per use -palvelu, eli maksat vain käyttämäsi, joten sinua veloitetaan seuraavista parametreista

  • Lukumäärä pyynnöt jonka teet lambda-toiminnollesi
  • kesto jonka koodisi suorittaa.

Pyynnöt

  • Sinua veloitetaan kaikista lambda-toiminnoissa tekemiesi pyyntöjen määrästä.
  • AWS Lambda laskee pyynnön joka kerta, kun se alkaa suorittaa vastauksena tapahtumalähteeseen tai kutsupuheluun, mukaan lukien testi kutsutaan konsolista. Katsotaanpa nyt hintoja:
    • Ensimmäiset miljoona pyyntöä joka kuukausi ovat ilmaisia.
    • 0,20 dollaria per miljoona pyyntöä sen jälkeen.

Kesto

  • Kesto lasketaan koodin suorittamisen aloittamisesta sen palautumiseen tai päättymiseen asti, pyöristetään ylöspäin lähimpään 100 ms: iin.
  • Hinta riippuu toiminnolle varaamasi muistin määrästä, sinulta veloitetaan 0,00001667 dollaria jokaisesta käytetystä gigatavun sekunnista.

* Lähde: AWS: n virallinen verkkosivusto

Jos olet saavuttanut tähän asti, olet kaikki valmis käytännön toimintaan Lambdassa. Pidetään hauskaa!

Käytännössä: AWS Lambda DIY

Luodaan Lambda-toiminto, joka kirjaa 'Objekti on lisätty', kun lisäät objektin tiettyyn S3-ryhmään.

Vaihe 1: Valitse AWS-hallintakonsolin laskenta-osiosta AWS Lambda.

Vaihe 2: Napsauta AWS Lambda -konsolissa kohtaa Luo lambda-toiminto.

java-luokan kuormaajahaastattelukysymykset

Vaihe 3: Seuraavalla sivulla sinun on valittava suunnitelma. Esimerkiksi valitsemme tyhjän toiminnon käyttötapauksellemme.

Vaihe 4: Seuraavalla sivulla asetat (1) liipaisimen, koska aiomme työskennellä S3: n kanssa, (2) valitse S3-liipaisin ja napsauta sitten (3) Seuraava.

Vaihe 5: Täytä kokoonpanosivulla yksityiskohdat. Voit laittaa oman koodisi tai kopioida saman koodin tästä käyttötapauksesta. Tämän jälkeen täytä käsittelijä ja rooli, jätä lisäasetukset sellaisiksi kuin ne ovat, napsauta lopuksi seuraavaa.

Vaihe 6: Tarkista seuraavalla sivulla kaikki tiedot ja napsauta Luo toiminto.

Vaihe 7: Koska olemme luoneet toiminnon S3-ämpäriin, heti kun lisäät tiedoston S3-ämpäriisi, sinun pitäisi saada samasta loki CloudWatchista, joka on AWS: n valvontapalvelu.

Onnittelut!Lambda-toiminto on suoritettu onnistuneesti.

Toivottavasti nautit syvästä sukelluksesta AWS Lambda -oppaaseen. Se on yksi halutuimmista AWS-ekosysteemin osa-alueista työpaikoille, kuten Solutions Architect, Cloud Engineer, DevOps Engineer. Tässä on kokoelma auttaa sinua valmistautumaan seuraavaan AWS-työhaastatteluun.

Jos pidit tämän AWS Lambda -opetusohjelman merkityksellisenä, voit tutustua Edurekan live- ja ohjaajan vetämään kurssiin , jonka ovat luoneet alan ammattilaiset.

Onko sinulla kysymys meille? Mainitse se kommenttiosassa ja palaamme sinuun.