AWS Lambda: Serverløs funksjonalitet – trinn-for-trinn guide

Grunnleggende om AWS Lambda og trinnvis veiledning

La oss utforske essensielle aspekter ved AWS Lambda og se hvordan du kan kjøre en funksjon ved hjelp av en detaljert trinnvis fremgangsmåte.

Introduksjon

Når du utvikler applikasjoner, er det avgjørende å levere en enestående brukeropplevelse. For å få dette til, må applikasjonen ha en backend-kode som kjører som respons på spesifikke hendelser.

Likevel innebærer administrasjon av infrastrukturen for hosting og kjøring av backend-kode at du må skalere, administrere og sikre et komplekst sett med servere. Dette krever kontinuerlige operativsystemoppdateringer, sikkerhetsvedlikehold og overvåking av infrastrukturen for ytelse og tilgjengelighet.

Hva om du kunne konsentrere deg om å lage fantastiske applikasjoner uten å bekymre deg for den underliggende infrastrukturen? Det er her AWS Lambda kommer inn.

Hva er AWS Lambda?

AWS Lambda er en serverløs databehandlingstjeneste som lar deg utføre koden din uten å bekymre deg for serveradministrasjon. Du kan drifte applikasjonen eller backend-tjenesten din uten behov for infrastrukturstyring. Du trenger bare å laste opp koden til Lambda, som deretter håndterer koding, utføring og skalering med høy tilgjengelighet.

Koden som kjøres på AWS Lambda er kjent som en lambdafunksjon. Den støtter for tiden et bredt spekter av programmeringsspråk, inkludert:

  • Java
  • Python
  • C#
  • Node.js
  • Go
  • PowerShell
  • Ruby

Den tilbyr også et runtime API som tillater kjøring av funksjoner skrevet på andre (native) programmeringsspråk.

For å begynne med AWS Lambda er det bare ett krav: en aktiv AWS-konto med tilgang til AWS Management Console.

AWS Lambda omtales også ofte som FaaS (Function-as-a-Service) av AWS.

Viktige funksjoner ved AWS Lambda

Nedenfor er noen av de fremtredende funksjonene som AWS Lambda tilbyr:

  • AWS Lambda skalerer automatisk infrastrukturen uten ytterligere konfigurering, noe som reduserer det operative arbeidet.
  • Den tilbyr en rekke alternativer for hendelsesutløsere, som AWS S3, CloudWatch, DynamoDB, API Gateway, Kinesis, CodeCommit og flere.
  • Du trenger ingen forhåndsinvesteringer, da du bare betaler for minnebruken til lambdafunksjonen og et minimalt gebyr per antall forespørsler, noe som gjør det kostnadseffektivt.
  • AWS Lambda prioriterer sikkerhet ved å bruke AWS IAM for å definere alle roller og sikkerhetspolicyer.
  • Den leverer feiltoleranse for både koden og den underliggende infrastrukturen, og sikrer dermed at applikasjonen din forblir operativ.

AWS Lambda priser

AWS Lambda-priser er basert på varigheten og mengden minne som brukes av lambdafunksjonene dine. Du kan tildele opptil 3008 MB minne til en lambdafunksjon i trinn på 64 MB. Nedenfor finner du en tabell som viser prisene for ulike minnetildelinger målt i 100 millisekunder.

Hvordan fungerer AWS Lambda?

  • Du begynner med å lage en funksjon og konfigurere grunnleggende detaljer, inkludert programmeringsspråket den er skrevet i.
  • Deretter skriver du koden direkte i lambda-editoren eller laster den opp som en ZIP-fil i et støttet programmeringsspråk.
  • Når koden er lastet opp, håndterer AWS Lambda alle aspekter ved kapasitetsskalering, patching og infrastrukturadministrasjon.
  • For å utføre koden, må du utløse lambdafunksjonen via en ekstern AWS-tjeneste, som for eksempel en S3-bøtte.
  • AWS Lambda vil automatisk være klar til å kjøre funksjonen din når en hendelse utløses, og den administrerer og overvåker serverne for deg.
  • Hvis funksjonen din er ressurskrevende, vil Lambda velge en instans med mer prosessorkraft og RAM. Hvis den derimot bare kjører i et par sekunder, vil den velge en instans med lavest ressursbruk for å spare kostnader og tid.

Dette er hvordan AWS Lambda fungerer. La oss se en demonstrasjon.

Opprette en AWS Lambda-funksjon

I denne demonstrasjonen skal vi lage et enkelt terningkast-spill ved hjelp av en lambdafunksjon skrevet i Node.js. Funksjonen vil generere et tilfeldig tall mellom 1 og 6 og vise resultatet.

  • Logg inn på AWS Management Console, skriv «Lambda» i søkefeltet, og velg «Lambda».

  • Klikk «Opprett funksjon» i funksjonsvinduet.

  • Du vil få forskjellige måter å lage en funksjon på. Velg «Forfatter fra bunnen av» for å starte fra scratch.

  • Angi funksjonsnavn og velg Node.js-versjon.
  • Velg en utførelsesrolle. Hvis ingen eksisterer, velg «Opprett en ny rolle» og klikk «Opprett funksjon».

  • Du vil motta en melding om at funksjonen er opprettet. Klikk på designer-vinduet for å minimere det.

  • Nå er vi inne i kodevinduet.
  • Lim inn koden nedenfor. Du kan også laste opp koden som en ZIP-fil, men her brukes den innebygde editoren.

  • Denne koden genererer tilfeldig et tall mellom 1 og 6 og skriver det ut når funksjonen blir kalt.
exports.handler = async (event) => {
const min = 1;
const max = 6;
const randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
const out="Dice throw result is: " + randomNum;
return out;
};
  • Klikk på «Test»-knappen øverst til høyre. Konfigurer en testhendelse, angi et hendelsesnavn, og klikk på «Konfigurer».

  • Klikk «Lagre» og deretter «Test».

I resultatet vil du se logikkens utdata, f.eks: «Terningkastet er 2».

  • Klikk på «Detaljerte utførelsesresultater» for et fullstendig sammendrag av lambdafunksjonen med forventet utdata. Det inneholder detaljer som forespørsels-ID, varighet, fakturert varighet og konfigurerte ressurser, samt loggdata.

  • Klikk på «Overvåking»-fanen for å visualisere CloudWatch-loggene og funksjonsytelsen over tid.

  • Ved å undersøke CloudWatch-loggene kan du se detaljer om hendelsene som skjedde da lambdafunksjonen kjørte, som overvåkes av CloudWatch.

Konklusjon

Å komme i gang med Lambda er enkelt. Hvis applikasjonen din krever kjøring av backend-kode, kan du vurdere å bruke en serverløs plattform som AWS Lambda.

Likte du denne artikkelen? Del den gjerne med andre!