Mikä on AWS Lambda? Lambda-toiminto esimerkein

⚡ Älykäs yhteenveto

AWS Lambda on tapahtumapohjainen, palvelimeton laskenta-alusta, jonka on kehittänyt Amazon Verkkopalvelut, jotka suorittavat koodiasi vastauksena käynnistimiin, käsittelevät automaattisesti provisioinnin, skaalauksen ja palvelimen hallinnan, jotta voit keskittyä vain liiketoimintalogiikkaan.

  • ☁️ Palvelimeton malli: AWS Lambda suorittaa koodia ilman palvelimien provisiointia tai hallintaa, mikä poistaa käyttöjärjestelmän korjauspäivitykset, skaalauksen ja kapasiteetin suunnittelun tarpeen.
  • Tapahtumapohjainen toteutus: Funktiot käynnistyvät AWS-palveluista, kuten S3:sta, DynamoDB, API-yhdyskäytävä ja sosiaalinen verkko, jotka toimivat vain tapahtuman sattuessa.
  • 🧩 Kielen tuki: Lambda tukee Node.js:ää, Python, Java, Go, C# ja Ruby, sekä mukautettuja suoritusympäristöjä muille kielille.
  • 💰 Maksu käyttökerran mukaan: Billminen on voimassa vain koodin suorituksen aikana, mitattuna millisekunteina, ja pysyvä kuukausittainen ilmainen taso on miljoona pyyntöä.
  • 🛠️ Keskeiset käsitteet: Funktiot, ajonaikaiset ympäristöt, tapahtumalähteet, kerrokset ja lokivirrat määrittävät, miten Lambda suorittaa ja hallitsee koodia.
  • 🤖 AI-apu: GitHub-kopiopilotti ja Amazon Q luo Lambda-koodia, kun taas Lambda orkestroi generatiivista tekoälypäättelyä Amazon Kallioperä.

Mikä on AWS Lambda

Ennen AWS Lambdan tutkimista on hyödyllistä ymmärtää, mitä palvelimeton tarkoittaa.

Mikä on palvelimeton?

Palvelimeton on termi, joka viittaa yleensä palvelimettomiin sovelluksiin. Palvelimettomat sovellukset eivät vaadi palvelimen tarjoamista eivätkä palvelimien hallintaa.

Mikä on AWS Lambda?

AWS Lambda on tapahtumaohjattu, palvelimeton laskenta-alusta, jonka tarjoaa Amazon osana Amazon Verkkopalvelut. Sinun ei siis tarvitse huolehtia siitä, mitä AWS-resursseja käynnistät tai miten niitä hallinnoit. Sen sijaan sinun tarvitsee vain laittaa koodi Lambdaan, ja se toimii.

AWS Lambdassa koodi suoritetaan AWS-palveluiden tapahtumien vasteen perusteella, kuten tiedostojen lisääminen tai poistaminen S3-säiliössä, HTTP-pyyntö Amazon API-yhdyskäytävä ja vastaavat tapahtumat. Kuitenkin Amazon Lambdaa voidaan käyttää vain taustatehtävien suorittamiseen.

AWS Lambda -funktio auttaa sinua keskittymään ydintuotteeseesi ja liiketoimintalogiikkaan sen sijaan, että hallitsisit käyttöjärjestelmän (OS) käyttöoikeuksien hallintaa, käyttöjärjestelmän korjauspäivityksiä, oikean kokoista konfigurointia, provisiointia, skaalausta ja niin edelleen.

Miten AWS Lambda toimii?

Seuraava AWS Lambda -esimerkki lohkokaaviolla selittää AWS Lambdan toiminnan muutamassa helpossa vaiheessa:

AWS-lambda-lohkokaavio

Vaihe 1: Lataa ensin AWS Lambda -koodi millä tahansa AWS Lambdan tukemalla kielellä. Java, Python, Go ja C# ovat joitakin AWS Lambda -funktion tukemia kieliä.

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 -koodia, kun AWS-palvelut laukaisevat sen.

Vaihe 5: AWS veloittaa vain, kun AWS Lambda -koodi suoritetaan, eikä muuten.

Tämä tapahtuu seuraavissa skenaarioissa:

  • Lataa tiedostoja S3-ämpäriin
  • Kun HTTP get/post -päätepiste URL on osuma
  • Dynamo DB -taulukoiden lisäämiseen, muokkaamiseen ja poistamiseen
  • Tietovirtojen keräysprosessissa
  • Push-ilmoitus
  • Verkkosivuston ylläpito
  • Sähköpostin lähettäminen

Huomautus: Muista, että sinulta veloitetaan AWS-palveluista vasta, 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 -taulukosta
  • 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öllisen aikataulun mukaisesti.
  • 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: Suorituksenaikainen ympäristö sallii eri kielillä tehtyjen funktioiden suorittamisen samassa perusympäristössä. Tämä auttaa sinua määrittämään funktiosi suorituksenaikaisessa ympäristössä. Se vastaa myös valitsemaasi ohjelmointikieli.

Tapahtuman lähde: Tapahtumalähde on AWS-palvelu, kuten Amazon Sosiaalinen verkko tai mukautettu palvelu. Tämä liipaisin auttaa funktiota suorittamaan logiikkaansa.

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ä funktiokoodisi mukautetuilla lokimerkinnöillä, jotka auttavat sinua analysoimaan AWS Lambda -funktioidesi suoritusvirtaa ja suorituskykyä.

Kuinka käyttää AWS Lambdaa

Nyt opimme käyttämään AWS Lambdaa AWS Lambda -esimerkin avulla:

Vaihe 1) Avaa AWS Lambda URL

Mene https://aws.amazon.com/lambda/ ja Aloita.

Kuinka käyttää AWS Lambdaa

Vaihe 2) Luo tili

Luo seuraavaksi tili tai kirjaudu sisään olemassa olevalla tililläsi.

Kuinka käyttää AWS Lambdaa

Vaihe 3) Muokkaa koodia ja napsauta Suorita

Muokkaa seuraavalla Lambda-sivulla koodia ja napsauta Suorita.

Vaihe 4) Tarkista lähtö

Näet tuloksen.

Kuinka käyttää AWS Lambdaa

AWS Lambda VS AWS EC2

Tässä on joitakin 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 infrastruktuuri palveluna (IaaS). Se tarjoaa virtualisoituja laskentaresursseja.
Joustavuus Ei tarjoa joustavuutta laskentainstansseihin kirjautumisessa. Voit valita mukautetun käyttöjärjestelmän tai kielen. Tarjoaa joustavuutta valita useita instansseja, mukautettuja käyttöjärjestelmiä, tietoturvakorjauksia ja verkkoa jne.
Asennusprosessi Sinun on valittava ympäristö, jossa haluat suorittaa koodin, ja lähetettävä 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 muutamaan kieleen. Ei ympäristörajoituksia.

AWS Lambda vs. AWS Elastic Beanstalk

Tässä on joitakin merkittäviä eroja AWS Lambdan ja Elasticin välillä Beanstalk.

parametrit AWS elastinen Beanstalk 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 taustakoodin suorittamiseen. Sitä ei voi käyttää sovelluksen käyttöönottoon.
AWS-resurssien valinta Se antaa sinulle vapauden valita AWS-resursseja; voit esimerkiksi valita EC2-instanssin, joka on optimaalinen sovelluksesi mukaan. Et voi valita AWS-resursseja, kuten esimerkiksi EC2-instanssia; Lambda tarjoaa resursseja työmääräsi 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 monenlaisissa sovelluksissa, kuten:

  • Auttaa sinua ETL-prosessi
  • 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)
  • Päivittäisten tehtävien automaattiset varmuuskopiot
  • Skaalautuvat taustajärjestelmät (mobiilisovellukset, IoT-laitteet)
  • Auttaa sinua suorittamaan palvelinpuolen taustalogiikkaa
  • Voit suodattaa ja muuntaa tietoja

Lambda-toiminnan parhaat käytännöt

Tässä on joitakin AWS Lambda -funktioiden parhaita käytäntöjä:

  • Käytä oikeaa "aikakatkaisua".
  • Käytä paikallisen tallennustilan toimintoja, jonka koko on 500 Mt /temp-kansiossa.
  • Minimoi sellaisen käynnistyskoodin käyttö, 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ää

Seuraavat tilanteet eivät varmasti ole ihanteellinen vaihtoehto:

  • AWS Lambdan käyttö ei ole tarkoituksenmukaista ohjelmistopaketeissa tai sovelluksissa, jotka ovat riippuvaisia ​​pohjana olevien funktioiden kutsumisesta. Windows RPC:t.
  • Jos sitä käytetään mukautettuihin ohjelmistosovelluksiin, joilla on lisenssisopimuksia, kuten MS-Office-asiakirjojen käsittelyyn, Oracle tietokannat jne.
  • AWS Lambdaa ei tule käyttää mukautettuihin laitteistoprosesseihin, kuten GPU-kiihdytykseen ja laitteistoaffiniteettiin.

AWS Lambdan käytön edut

Tässä ovat AWS Lambdan käytön edut/hyödyt:

  • AWS Lambda on erittäin joustava työkalu käyttää.
  • Se auttaa sinua myöntämään käyttöoikeuksia resursseihin, mukaan lukien VPC:t.
  • Kirjoita suoraan WYSIWYG editori konsolissa.
  • Voit käyttää sitä laajennuksena Eclipse ja Visual Studio.
  • Koska kyseessä on palvelimeton arkkitehtuuri, sinun ei tarvitse huolehtia palvelimien hallinnasta tai käyttöönotosta.
  • Sinun ei tarvitse määrittää mitään Virtuaalikone.
  • Auttaa kehittäjiä suorittamaan ja suorittamaan koodin vastaukset tapahtumiin rakentamatta infrastruktuuria.
  • Sinun tarvitsee maksaa vain laskenta-ajasta, vain silloin, kun koodiasi suoritetaan.
  • Voit seurata koodisi suorituskykyä reaaliajassa CloudWatchin kautta.
  • Sen avulla voit suorittaa koodiasi ilman minkään muun palvelimen perustamista tai hallintaa.
  • Auttaa suorittamaan koodia 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-funktio tulisi konfiguroida ulkoisilla tapahtumilla ja ajastimilla, jotta sitä voidaan käyttää ajoitukseen.
  • Lambda-funktiot ovat tilattomia, joten ne 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 on täysin riippuvainen AWS:stä infrastruktuurin osalta, joten et voi asentaa lisäohjelmistoja, jos koodisi sitä vaatii.
  • Samanaikaisen suorituksen oletusraja on 1 000 aluetta kohden, ja sitä voidaan nostaa pyynnöstä.
  • Sen muistin määrä voi vaihdella 128 megatavun ja 10 240 megatavun välillä.
  • 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 suorituksen aikakatkaisu on rajoitettu 15 minuuttiin.

UKK

AWS Lambda tukee natiivisti Node.js:ää, Python, Java, Go, C#, PowerShell ja Ruby. Suorituksenaikainen API ja säilön kuvatiedostojen tuki mahdollistavat lähes minkä tahansa muun kielen suorittamisen, joten tiimejä harvoin rajoittaa heidän valitsemansa ohjelmointikieli.

AWS Lambda sisältää pysyvän ilmaisen tason, johon kuuluu miljoona pyyntöä ja 400 000 gigatavua laskentatehoa kuukaudessa. Tämän lisäksi maksat vain pyynnöistä ja koodisi todellisesta laskentatehosta, joka laskutetaan millisekunteina.

Kylmäkäynnistys on lyhyt viive, kun Lambda alustaa uuden suoritusympäristön funktiolle, joka on ollut käyttämättömänä. Voit lyhentää sitä tarjoamalla samanaikaisuuden, pienemmillä paketeilla tai SnapStartilla. Java toiminnot.

Kyllä. ZIP-arkiston lataamisen lisäksi Lambda antaa sinun pakata funktion jopa 10 Gt:n kokoiseksi säilökuvaksi. Tämä sopii suuremmille riippuvuuksille ja koneoppimiskirjastoille samalla kun se pitääping sama tapahtumapohjainen, palvelimeton suoritusmalli.

Lambda suorittaa lyhyitä, tapahtumapohjaisia ​​funktioita automaattisella skaalauksella ja millisekuntiperusteisella laskutuksella. AWS Fargate suorittaa pidempiä konttityökuormia ilman palvelimien hallintaa. Valitse Lambda nopeita tapahtumavasteita varten ja Fargate vakaita, pitkäkestoisia konttitehtäviä varten.

Kyllä. Lambda tukee yleisesti tekoälysovelluksia suorittamalla kevyitä päättelymenetelmiä ja järjestämällä puheluita palveluihin, kuten Amazon Bedrock ja SageMaker. Konttikuvien tuki auttaa koneoppimiskirjastojen paketoinnissa, kun taas Lambda hoitaa generatiivisen tekoälyprosessin skaalauksen.

Kyllä. GitHub Copilot kirjoittaa käsittelijäfunktioita kommentista tai nimestä, kun taas Amazon Q Developer lisää AWS-tietoisen tuen IAM-käytännöille, CloudFormationille ja SDK-kutsuille, mikä nopeuttaa palvelimetonta kehitystä.

Myönnä jokaiselle funktiolle vähiten oikeuksia käyttävä IAM-rooli, tallenna salaisuudet salattuihin ympäristömuuttujiin tai Secrets Manageriin ja sijoita arkaluontoiset funktiot VPC:n sisälle. CloudWatch ja CloudTrail kirjaavat sitten toiminnan valvontaa ja auditointia varten.

Tiivistä tämä viesti seuraavasti: