Vi köper begagnad IT-utrustning!

Fördelarna med serverlös databehandling och dess brister

Fördelarna med serverlös databehandling och dess brister
Lästid: 4 Protokoll

Alla fördelar med serverlös teknik som du kommer att läsa om – elastisk skalning, lägre kostnader vid inaktivitet, snabbare driftsättning – har sitt ursprung i samma grundläggande beslut: du byter kontrollen över infrastrukturen mot snabbare utveckling. 

För att fatta rätt beslut om serverlös databehandling måste du börja med att ta reda på vad det egentligen är. Utifrån det kan du jämföra vilka fördelar som håller måttet vid verkliga arbetsbelastningar och vilka nackdelar som uppstår efter migreringen, när du väl har bådat dig fast.

Kortfattad information: Vad du behöver veta om serverlös databehandling

  • Serverlös databehandling innebär att molnleverantören sköter serverprovisionering, skalning och underhåll. Kunden hanterar koden själv och betalar endast för exekveringstiden.
  • Det finns tre huvudkategorier: Function-as-a-Service (FaaS), Backend-as-a-Service (BaaS) och hanterade containerbaserade serverlösa plattformar.
  • De främsta fördelarna är användningsbaserad fakturering, automatisk skalning och snabbare driftsättningscykler, eftersom utvecklare driftsätter funktioner istället för att tillhandahålla miljöer.
  • De viktigaste nackdelarna är fördröjning vid kallstart, svårare felsökning och leverantörsberoende, eftersom din applikationslogik blir tätt kopplad till en viss leverantörs körmiljö.
  • Serverlös databehandling passar bra för varierande, händelsestyrda arbetsbelastningar. Den passar inte lika bra för konstanta arbetsbelastningar med hög genomströmning, eftersom dedikerad datorkraft är ofta billigare.

Vad är egentligen serverlös databehandling?

Serverlös databehandling är en molnbaserad exekveringsmodell där en leverantör tilldelar beräkningsresurser på begäran, kör din kod och sedan frigör dessa resurser när jobbet är klart.

Du skriver funktioner eller backend-logik. Leverantören bestämmer var koden ska köras, hur många instanser som behövs och när de ska stängas ner.

Namnet är i bokstavlig mening missvisande. Fysiska och virtuella servrar behandlar fortfarande varje förfrågan. Det som faktiskt har försvunnit är din insyn i dem och ditt ansvar för att hantera dem.

Detta skiljer sig från Infrastructure-as-a-Service (IaaS), där man själv tillhandahåller och hanterar virtuella maskiner direkt, och från Platform-as-a-Service (PaaS), där man hanterar en applikation på en infrastruktur som är delvis abstraherad men som ändå körs kontinuerligt. Serverless går ett steg längre: ingenting körs om inte en begäran eller en händelse utlöser det.

De tre typerna av serverlös databehandling

  1. Function-as-a-Service (FaaS): Det här är den modell som de flesta menar när de talar om “serverlöst”. Plattformar som AWS Lambda, Google Cloud Functions, Cloudflare Workers och Azure Functions kör enskilda funktioner som svar på utlösare, såsom en HTTP-förfrågan, en filuppladdning eller ett kömeddelande, och debiterar kostnaden utifrån exekveringstid och tilldelat minne.
  2. Backend-as-a-Service (BaaS): Den här versionen omfattar hanterade backend-komponenter som du annars skulle behöva bygga själv: autentisering, databaser, fillagring och push-meddelanden. Du anropar ett API istället för att sätta upp och underhålla den tjänsten själv. Firebase och AWS Amplify erbjuder tjänster inom denna kategori.
  3. Serverlösa containrar: Plattformar som Azure Container Apps, AWS Fargate och Google Cloud Run gör det möjligt att driftsätta containerbaserade applikationer utan att behöva hantera det underliggande klustret. De kombinerar containrarnas flexibilitet när det gäller paketering med den serverlösa modellens driftsmodell, där användaren slipper hantera driften.


De flesta serverlösa produktionsarkitekturer kombinerar alla tre, där FaaS används för händelsestyrd logik, BaaS för vanliga backend-tjänster och containrar för allt som kräver en längre körtid eller en anpassad miljö.

De 5 största fördelarna med serverlös databehandling

Enkelt uttryckt är fördelarna lägre kostnader och mindre underhåll, men det är värt att gräva lite djupare. 

  1. Du slipper betala för outnyttjad kapacitet. I en traditionell servermodell dimensionerar man efter toppbelastningen och betalar för den kapaciteten dygnet runt, även klockan 02.00 på natten när trafiken bara är en bråkdel av toppbelastningen. Serverlösa plattformar debiterar utifrån den faktiska körningstiden, ofta ned till millisekunden.
  2. Skalning är inte längre en fråga om kapacitetsplanering. En serverlös plattform startar upp så många instanser av en funktion som den samtidiga efterfrågan kräver, och stänger sedan ner dem igen. Du behöver inte göra trafikprognoser eller förbereda kapacitet i förväg. Du får inga samtal utanför kontorstid på grund av att en lansering blivit viral och din fasta serverpool inte klarat av att hålla jämna steg.
  3. Driftsättningscyklerna blir kortare. Eftersom det inte finns någon server som måste förberedas, uppdateras eller konfigureras innan koden släpps, kan teamen publicera enskilda funktioner självständigt istället för att återdriftsätta en monolit. Detta är en viktig anledning till att införandet av serverlös teknik går så hand i hand med införandet av mikrotjänster. Marknaden speglar denna utveckling: den globala marknaden för serverlös databehandling uppgick till uppskattad på $24,51 miljarder år 2024 och beräknas uppgå till $52,13 miljarder år 2030.
  4. De löpande omkostnaderna minskar för infrastrukturteamet. Inga OS-uppdateringar, ingen kapacitetsövervakning, ingen serverpark att hålla uppdaterad. Det betyder inte att driftsarbetet försvinner. Istället flyttas fokus över till att övervaka funktionernas prestanda, hantera behörigheter och kontrollera kostnaderna på funktionsnivå istället för på servernivå.
  5. Arbetsbelastningar med oförutsägbar eller plötsligt ökad trafik blir billigare och mer stabila. Tänk dig till exempel ett batchjobb som körs i tio minuter om dagen, ett API som får kraftiga belastningstoppar under en produktlansering eller en IoT-pipeline som endast aktiveras när en sensor utlöser den. Det här är typiska exempel där den serverlösa modellen är mer kostnadseffektiv än en dedikerad server som står overksam resten av tiden.

5 utmaningar som serverlös teknik inte kan lösa

En serverlös lösning är inte alltid det bästa alternativet. 

  1. Kallstarter är ett faktum, och de kommer inte att försvinna helt. När en funktion inte har körts på ett tag måste plattformen initialisera en ny körningsmiljö innan din kod körs, vilket medför fördröjning. För applikationer där fördröjning spelar en viktig roll är detta ett problem.
  2. Felsökningen blir svårare, inte enklare. En monolitisk applikation går ner på en plats som du kan undersöka direkt. En serverlös applikation är ett distribuerat system bestående av funktioner som utlöses oberoende av varandra, vilket innebär att ett fel kan ha sitt ursprung i en funktion, en utlösare, en kö eller samspelet mellan alla tre. Lokala testmiljöer återspeglar sällan produktionsmiljöns utlösningsbeteende exakt.
  3. Arbetsbelastningar som pågår under lång tid eller är i stabilt tillstånd blir dyrare, inte billigare. Prissättningen för serverlösa tjänster är optimerad för perioder med hög belastning och perioder med låg belastning. En arbetsbelastning som körs kontinuerligt med hög volym kostar ofta mer i en serverlös modell där man betalar per körning än vad den skulle kosta på en reserverad, dedikerad instans. Anpassa arbetsbelastningen efter prismodellen, inte tvärtom.
  4. Leverantörsberoende. Funktioner skrivs med hänsyn till en specifik leverantörs körmiljö, utlösarmodell och uppsättning av hanterade tjänster. Att migrera en serverlös arkitektur mellan AWS, Google Cloud och Azure innebär vanligtvis att stora delar av applikationen måste skrivas om.
  5. Ansvaret för säkerheten försvinner inte, det flyttas bara. Leverantören säkerställer den underliggande infrastrukturen. Du ansvarar fortfarande för behörigheter på funktionsnivå, hantering av hemliga uppgifter och själva koden. Alltför omfattande roller inom identitets- och åtkomsthantering (IAM) för enskilda funktioner är en av de vanligaste felkonfigurationerna inom serverlös teknik som säkerhetsteam upptäcker vid granskningar.

Övergången till serverlös infrastruktur

Serverlös databehandling är ett specifikt tillämpningsområde som lämpar sig för vissa typer av arbetsbelastningar: händelsestyrda, med plötsliga toppar, löst kopplade och som tål en variation på några hundra millisekunder vid kallstart.

När en organisation satsar på serverlös teknik i stor skala leder det dessutom till att det uppstår en mängd fysiska servrar, rack på plats eller reserverad molnhårdvara som arbetsbelastningen inte längre behöver.

Att flytta arbetsbelastningar från dedikerad infrastruktur till en serverlös modell är en av de vanligaste orsakerna till en uppgradering av hårdvaran eller en fullständig avveckling av ett datacenter, och den hårdvaran kasseras inte på ett ansvarsfullt sätt bara för att arbetsbelastningen har flyttats till molnet.

Om en övergång till serverlös drift enligt er plan innebär att ni kommer att lämna serverrack, hårddiskar eller ett helt datacenter bakom er, exIT Technologies tjänster för avveckling av datacenter och avyttring av IT-utrustning ta hand om den del av migreringen som inte syns i arkitekturdiagrammet.

sv_SESwedish