Mikä on AWS Lambda? Lambda-toiminto esimerkein
Ymmärrämme ennen AWS Lambda -toimintoa:
Mikä on palvelimeton?
Palvelimeton on termi, joka viittaa yleensä palvelimettomiin sovelluksiin. Palvelimettomat sovellukset ovat sellaisia, jotka eivät vaadi palvelimia eivätkä vaadi palvelimien hallintaa.
Mikä on AWS Lambda?
AWS Lambda on tapahtumapohjainen, palvelimeton laskenta-alusta, jonka tarjoaa Amazon osana Amazon Web palvelut. Siksi sinun ei tarvitse huolehtia siitä, mitkä AWS-resurssit käynnistää tai miten hallitset niitä. Sen sijaan sinun täytyy laittaa koodi Lambdaan, ja se toimii.
AWS Lambdassa koodi suoritetaan AWS-palveluiden tapahtumien vastauksen perusteella, kuten tiedostojen lisääminen/poistaminen S3-säihissä, HTTP-pyyntö Amazon API-yhdyskäytävä jne. Kuitenkin, Amazon Lambdaa voidaan käyttää vain taustatehtävien suorittamiseen.
AWS Lambda -toiminto auttaa sinua keskittymään ydintuotteeseesi ja liiketoimintalogiikkaan sen sijaan, että hallitset käyttöjärjestelmän (OS) pääsynhallintaa, käyttöjärjestelmän korjauksia, oikean kokoisia, provisioita, skaalauksia jne.
Miten AWS Lambda toimii?
Seuraava AWS Lambda -esimerkki lohkokaaviolla selittää AWS Lambdan toiminnan muutamassa helpossa vaiheessa:
Vaihe 1: Lataa ensin AWS Lambda -koodi millä tahansa AWS Lambdan tukemalla kielellä. Java, Python, Go ja C# ovat joitain kieliä, joita AWS Lambda -toiminto tukee.
Vaihe 2: Nämä ovat joitain AWS-palveluita, joiden avulla voit laukaista AWS Lambdan.
Vaihe 3: AWS Lambda auttaa sinua lataamaan koodin ja tapahtumatiedot, joiden perusteella se pitäisi käynnistää.
Vaihe 4: Suorittaa AWS Lambda -koodin, kun AWS-palvelut laukaisevat sen:
Vaihe 5: AWS veloittaa vain, kun AWS-lambda-koodi suoritetaan, ei muuten.
Tämä tapahtuu seuraavissa skenaarioissa:
- Lataa tiedostoja S3-ämpäriin
- Kun HTTP get/post endpoint URL osuu
- Dynamo DB -taulukoiden lisäämiseen/muokkaukseen ja poistamiseen
- Tietovirtojen keräysprosessissa
- Push-ilmoitus
- Verkkosivuston ylläpito
- Sähköpostin lähettäminen
Huomautus: Muista, että veloitat AWS-palveluista vain, kun AWS Lambda -koodi suoritetaan, muuten sinun ei tarvitse maksaa mitään.
Tapahtumat, jotka laukaisevat AWS Lambdan
Tässä ovat tapahtumat, jotka käynnistyvät, kun käytät AWS Lambdaa.
- Tietojen lisääminen, päivittäminen ja poistaminen Dynamo DB -taulukko
- Push-ilmoitusten sisällyttäminen SNS:ään
- Lokihistorian hakeminen CloudTrailista
- Sisäänpääsy S3-objektiin
- DynamoDB voi laukaista AWS Lambdan aina, kun taulukkoon on lisätty, muokattu ja poistettu tietoja.
- Auttaa sinua ajoittamaan tapahtuman suorittamaan tehtävän säännölliseen aikatauluun.
- Muokkaukset S3-ämpärien objekteihin
- Ilmoitukset lähetetty osoitteesta Amazon SNS.
- AWS Lambdaa voidaan käyttää CloudTrail-lokien käsittelyyn
- API-yhdyskäytävän avulla voit käynnistää AWS Lambdan GET/POST-menetelmillä.
AWS Lambda Concepts
Toiminto:
Funktio on ohjelma tai komentosarja, joka suoritetaan AWS Lambdassa. Lambda välittää kutsutapahtumat funktioosi, joka käsittelee tapahtuman ja palauttaa vastauksensa.
Kestoajat:
Suoritusaika mahdollistaa funktiot eri kielillä, jotka toimivat samassa perussuoritusympäristössä. Tämä auttaa sinua määrittämään toimintosi suoritusaikana. Se vastaa myös valitsemaasi ohjelmointikieli.
Tapahtuman lähde:
Tapahtumalähde on AWS-palvelu, kuten Amazon SNS tai mukautettu palvelu. Tämä laukaisutoiminto auttaa sinua suorittamaan sen logiikan.
Lambda-kerrokset:
Lambda-kerrokset ovat tärkeä jakelumekanismi kirjastoille, mukautetuille suoritusajoille ja muille tärkeille toimintoriippuvuuksille. Tämä AWS-komponentti auttaa sinua myös hallitsemaan kehitystoimintokoodiasi erillään sen käyttämästä muuttumattomasta koodista ja resursseista.
Lokivirrat:
Lokivirran avulla voit merkitä toimintokoodisi mukautetuilla lokilausekkeilla, jotka auttavat sinua analysoimaan AWS Lambda -toimintojesi suorituskulkua ja suorituskykyä.
Kuinka käyttää AWS Lambdaa
Nyt opimme käyttämään AWS Lambdaa AWS Lambda -esimerkin kanssa:
Vaihe 1) Vaihe 1) Avaa AWS Lambda URL
Mene https://aws.amazon.com/lambda/ ja Aloita
Vaihe 2) Luo tili
Luo seuraavaksi tili tai kirjaudu sisään olemassa olevalla tililläsi
Vaihe 3) Muokkaa koodia ja napsauta Suorita,
Seuraavalla Lambda-sivulla
- Muokkaa koodia
- Napsauta Suorita
Vaihe 4) Tarkista lähtö
Näet tulosteen
AWS Lambda VS AWS EC2
Tässä on joitain merkittäviä eroja AWS Lambdan ja EC2.
parametrit | AWS Lambda | AWS EC2 |
---|---|---|
Määritelmä | AWS Lambda on Platform as a Service (PaaS). Se auttaa sinua ajamaan ja suorittamaan taustakoodiasi. | AWS EC2 on Infrastructure as a Service (laaS). Se tarjoaa virtualisoituja laskentaresursseja. |
Joustavuus | Ei tarjoa joustavuutta kirjautua sisään laskentatapahtumiin. Sen avulla voit valita mukautetun käyttöjärjestelmän tai kielen ajonajan. | Tarjoaa joustavuuden valita erilaisia esiintymiä, mukautettuja käyttöjärjestelmiä, tietoturvakorjauksia ja verkkoa jne. |
Asennusprosessi | Sinun on valittava ympäristösi, jossa haluat suorittaa koodin, ja työnnä koodi AWS Lambdaan. | Ensimmäistä kertaa EC2:ssa sinun on valittava käyttöjärjestelmä ja asennettava kaikki tarvittavat ohjelmistot ja työnnettävä sitten koodisi EC2:ssa. |
Ympäristörajoitukset | Se on rajoitettu muutamiin kieliin. | Ei ympäristörajoituksia. |
AWS Lambda VS AWS Elastic Beanstalk
Tässä on joitain merkittäviä eroja AWS Lambdan ja Elastic Beanstalkin välillä.
parametrit | AWS Elastinen pavunvarsi | AWS Lambda |
---|---|---|
Päätehtävä | Ota käyttöön ja hallitse sovelluksia AWS Cloudissa huolehtimatta infrastruktuurista, joka käyttää näitä sovelluksia. | AWS Lambdaa käytetään taustakoodisi ajamiseen ja suorittamiseen. Et voi käyttää sitä sovelluksen käyttöönottoon. |
AWS-resurssien valinta | Se antaa sinulle vapauden valita AWS-resurssit; Voit esimerkiksi valita EC2-instanssin, joka on optimaalinen sovelluksesi mukaan. | Et voi valita AWS-resursseja, kuten EC2-esiintymän tyyppi, Lambda tarjoaa resursseja työkuormasi perusteella. |
Järjestelmän tyyppi | Se on valtiollinen järjestelmä. | Se on valtioton järjestelmä. |
AWS Lambdan käyttötapaukset
AWS Lambdaa käytetään monenlaisiin sovelluksiin, kuten:
- Auttaa sinua ETL-prosessissa
- Voit suorittaa reaaliaikaisen tiedostokäsittelyn ja reaaliaikaisen stream-käsittelyn
- Käytä verkkosovellusten luomiseen
- Käytä sisään Amazon tuotteita, kuten Alexa Chatbots ja Amazon Echo/Alexa
- Tietojen käsittely (reaaliaikainen suoratoistoanalytiikka)
- Automaattiset varmuuskopiot jokapäiväisistä tehtävistä
- Skaalautuvat takapäät (mobiilisovellukset, lot-laitteet)
- Auttaa sinua suorittamaan palvelinpuolen taustalogiikkaa
- Voit suodattaa ja muuntaa tietoja
Lambda-toiminnan parhaat käytännöt
Tässä on joitain parhaita käytäntöjä AWS Lambdan toiminnot:
- Käytä oikeaa "aikakatkaisua".
- Hyödynnä paikallisen tallennustilan toimintoja, joka on kooltaan 500 Mt /temp-kansiossa
- Minimoi sellaisen käynnistyskoodin käytön, joka ei liity suoraan nykyisen tapahtuman käsittelyyn.
- Sinun tulee käyttää Lambda-toimintojesi sisäänrakennettua CloudWatch-seurantaa pyyntöjen viiveiden tarkastelemiseen ja optimointiin.
Milloin AWS Lambdaa ei saa käyttää
Seuraavassa on tilanne, jossa Lambda ei varmasti ole ihanteellinen vaihtoehto:
- Ei ole tarkoituksenmukaista käyttää AWS Lambda -ohjelmistopaketteja tai sovelluksia, jotka luottavat taustalla olevan palvelun kutsumiseen Windows RPC:t
- Jos sitä käytetään mukautetuissa ohjelmistosovelluksissa, joissa on lisenssisopimukset, kuten MS-Office-asiakirjojen käsittely, Oracle tietokannat jne.
- AWS Lambdaa ei tule käyttää mukautetuissa laitteistoprosesseissa, kuten GPU-kiihdytyksessä, laitteiston affiniteetti.
AWS Lambdan käytön edut
Tässä on AWS lambdan käytön edut/edut:
- AWS Lambda on erittäin joustava työkalu käytettäväksi
- Se auttaa sinua myöntämään pääsyn resursseihin, mukaan lukien VPC:t
- Kirjoittaja suoraan WYSIWYG editori konsolissa.
- Voit käyttää sitä laajennuksena Eclipse ja Visual Studio.
- Koska se on palvelinton arkkitehtuuri, sinun ei tarvitse huolehtia palvelimien hallinnasta tai provisiosta.
- Sinun ei tarvitse määrittää mitään Virtuaalikone.
- Auttaa kehittäjiä suorittamaan ja suorittamaan koodin vastaukset tapahtumiin rakentamatta infrastruktuuria.
- Tarvitset vain kuluneen laskenta-ajan, vain silloin, kun koodisi suoritetaan.
- Voit seurata koodisi suorituskykyä reaaliajassa CloudWatchin kautta.
- Sen avulla voit käyttää koodiasi ilman hallintaa tai hallita muita palvelimia
- Auttaa sinua suorittamaan koodin vain tarvittaessa
- Voit skaalata sen automaattisesti käsittelemään muutaman pyynnön päivässä ja jopa tukemaan yli tuhansia pyyntöjä sekunnissa.
- AWS Lambda voidaan konfiguroida ulkoisten tapahtumaajastimien avulla suorittamaan ajoitettuja tehtäviä.
- AWS:n lambda-toiminto tulee konfiguroida ulkoisilla tapahtumilla ja ajastimilla; sitä voidaan käyttää aikataulutukseen.
- Lambdatoiminnot ovat tilattomia, joten se voidaan skaalata nopeasti.
- AWS Lambda on nopea, joten se suorittaa koodisi millisekunnissa.
AWS Lambdan rajoitukset
Tässä ovat AWS Lambdan käytön haitat / haitat:
- AWS Lambda -työkalu ei sovellu pieniin projekteihin.
- AWS Lambda luottaa täysin AWS:ään infrastruktuurin osalta, joten et voi asentaa lisäohjelmistoja, jos koodisi sitä vaatii.
- Samanaikainen suoritus on rajoitettu 100:aan
- AWS Lambda riippui täysin AWS:stä infrastruktuurin osalta; et voi asentaa mitään lisäohjelmistoa, jos koodisi vaatii sitä.
- Sen muistin määrä voi vaihdella välillä 128 - 1536 MB.
- Tapahtumapyynnön koko ei saa ylittää 128 kt.
- Lambda-toiminnot auttavat sinua kirjoittamaan niiden lokit vain CloudWatchiin. Tämä on ainoa työkalu, jonka avulla voit seurata toimintojasi tai tehdä vianetsintää.
- Sen koodin suorittamisen aikakatkaisu on vain 5 minuuttia.
Yhteenveto
- Palvelimeton on termi, joka viittaa yleensä palvelimettomiin sovelluksiin.
- AWS Lambda on yksi tällainen palvelimeton laskentapalvelu. Siksi sinun ei tarvitse huolehtia siitä, mitkä AWS-resurssit käynnistää tai miten ne hallitsevat niitä.
- Funktio on ohjelma tai komentosarja, joka suoritetaan AWS-palvelimettomassa Lambdassa.
- Suoritusaika mahdollistaa funktiot eri kielillä, jotka toimivat samassa perussuoritusympäristössä.
- Tapahtumalähde on AWS-palvelu, kuten Amazon SNS tai mukautettu palvelu.
- Lambda-kerrokset ovat tärkeä jakelumekanismi kirjastoille, mukautetuille suoritusajoille ja muille tärkeille toimintoriippuvuuksille.
- Lokivirran avulla voit merkitä toimintokoodisi mukautetuilla lokilausekkeilla, jotka auttavat sinua analysoimaan Lambda-toimintojesi suorituskulkua ja suorituskykyä.
- AWS Lambda on Platform as a Service (PaaS). Se auttaa sinua ajamaan ja suorittamaan taustakoodiasi.
- AWS EC2 on Infrastructure as a Service (laaS). Se tarjoaa virtualisoituja laskentaresursseja.
- Ota käyttöön ja hallitse sovelluksia AWS Cloudissa huolehtimatta infrastruktuurista, joka käyttää näitä sovelluksia.
- AWS Lambdaa käytetään taustakoodisi ajamiseen ja suorittamiseen. Et voi käyttää sitä sovelluksen käyttöönottoon.
- AWS Lambda auttaa sinua ETL-prosessi.
- Lambda-toiminnon paras käytäntö AWS:ssä on käyttää oikeaa "aikakatkaisua".
- Ei ole tarkoituksenmukaista käyttää AWS Lambda -ohjelmistopaketteja tai sovelluksia, jotka luottavat taustalla olevan palvelun kutsumiseen Windows RPC:t
- AWS Lambda on erittäin joustava työkalu.
- AWS Lambda -työkalu ei sovellu pieniin projekteihin.
- Yleinen tapahtuma, joka käynnistyy, kun käytät AWS Lambdaa, on Dynamo DB -taulukon lisääminen, päivittäminen ja poistaminen.