En introduktion till AWS Lambda för nybörjare

Introduktion till AWS Lambda

När man utvecklar applikationer är målet ofta att skapa en så bra användarupplevelse som möjligt. För att detta ska fungera krävs en backend-kod som reagerar på olika händelser.

Att hantera infrastrukturen som krävs för att hosta och köra denna backend-kod kan vara komplext. Det innebär att man måste dimensionera, tillhandahålla och skala servrar, hantera uppdateringar av operativsystem, tillämpa säkerhetsåtgärder och övervaka prestanda och tillgänglighet.

Tänk om man kunde fokusera på att skapa bra applikationer utan att bekymra sig om infrastrukturen? Det är här AWS Lambda kommer in i bilden.

Vad är AWS Lambda?

AWS Lambda är en serverlös beräkningstjänst som låter dig exekvera din kod utan att behöva hantera några servrar. Med AWS Lambda kan du köra din applikation eller backend-tjänst utan administration. Du laddar bara upp din kod till Lambda, som sedan hanterar körningen och skalar infrastrukturen med hög tillgänglighet.

Koden som körs på AWS Lambda kallas för en lambdafunktion. För närvarande stöder tjänsten flera programmeringsspråk:

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

Det finns även ett runtime-API som möjliggör att köra funktioner skrivna i andra programmeringsspråk.

För att använda AWS Lambda behöver du bara ett AWS-konto och tillgång till AWS Management Console.

AWS Lambda kan betraktas som en FaaS (Function-as-a-Service) från AWS.

Viktiga Funktioner i AWS Lambda

Här är några viktiga egenskaper hos AWS Lambda:

  • Lambda skalar enkelt infrastrukturen utan extra konfiguration, vilket minskar den operativa bördan.
  • Tjänsten erbjuder olika triggers som AWS S3, CloudWatch, DynamoDB, API Gateway, Kinesis, CodeCommit, m.fl. för att starta en händelse.
  • Du betalar endast för det minne som används av din lambdafunktion och antalet anrop, vilket gör det kostnadseffektivt.
  • AWS Lambda är säkert och använder AWS IAM för att hantera roller och säkerhetspolicys.
  • Tjänsten erbjuder feltolerans för både tjänsten som kör koden och själva funktionen, vilket säkerställer att din applikation är tillgänglig.

Prissättning för AWS Lambda

Prissättningen för AWS Lambda baseras på den tid och det minne som används av den lambdafunktion du skapat. Den maximala mängd minne du kan tilldela en lambdafunktion är 3008 MB, i steg om 64 MB. Nedan följer en tabell som visar kostnaden per 100 millisekunder för olika minnesstorlekar.

Tyvärr tillhandahölls ingen tabell för priserna, men de finns på den officiella AWS-sidan.

Hur fungerar AWS Lambda?

  • Först skapar du en funktion och anger grundläggande information, såsom programmeringsspråket som ska användas.
  • Sedan skriver du din kod i lambda-editorn eller laddar upp den som en zip-fil.
  • När koden är uppladdad, tar tjänsten hand om kapacitetsskalning, patching och infrastrukturadministration.
  • För att köra koden måste du trigga lambdafunktionen via en extern AWS-tjänst. Till exempel en S3-bucket.
  • Lambda startar din funktion automatiskt när en händelse inträffar. Tjänsten hanterar och övervakar servrarna.
  • Om din funktion kräver mer processorkraft, kommer tjänsten att använda en instanstyp med mer CPU och RAM, eller om koden bara körs i några sekunder kommer den att välja en mindre instans för att spara pengar.

Detta är grunderna i hur AWS Lambda fungerar internt. Låt oss nu gå igenom ett exempel.

Skapa en AWS Lambda-funktion

I det här exemplet skapar vi ett enkelt tärningsspel med lambda-funktionen i Node.js. Funktionen genererar ett slumptal mellan 1 och 6 och skriver ut det.

  • Gå till AWS Management Console, sök efter ”Lambda” och klicka på tjänsten.

  • Klicka på ”Skapa funktion”.

  • Välj ”Författare från början” för att skapa en funktion från grunden.

  • Fyll i informationen för lambdafunktionen, inklusive ett funktionsnamn och välj önskad Node.js-version.
  • Välj också en exekveringsroll. Om du inte har en befintlig roll, välj att skapa en ny. Klicka på ”Skapa funktion”.

  • Du får en bekräftelse om att funktionen har skapats. Minimera Design-fönstret.

  • Nu visas fönstret för funktionskoden.
  • Klistra in koden nedan i editorn, alternativt kan du ladda upp koden via en zip-fil.

  • Koden genererar ett slumptal mellan 1 och 6 och skriver ut det när funktionen anropas.
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;
};
  • Klicka på ”Test” i det övre högra hörnet. En popup för att konfigurera en testhändelse visas. Ange ett händelsenamn och klicka på ”Konfigurera”.

  • Klicka på ”Spara” och sedan ”Testa”.

I testresultatet ser du utskriften från koden. Till exempel, ”Resultatet av tärningskast är 2”.

  • Klicka på ”Detaljerade exekveringsresultat” för att se en sammanfattning av funktionen, inklusive begäran-id, varaktighet, fakturerad varaktighet och loggutdata.

  • Klicka på fliken ”Övervakning” för att se CloudWatch-loggar och lambdafunktionens prestanda över tid.

  • Genom att granska loggarna i CloudWatch kan du se detaljer om vad som hände när lambdafunktionen kördes.

Slutsats

Det är enkelt att komma igång med Lambda. Om din affärsapplikation behöver exekvera backend-kod kan du överväga att använda en serverlös plattform som AWS Lambda.

Gillade du den här artikeln? Dela den gärna!