Med molntjänster som Amazons Lambda och Microsofts Azure Functions går det att köra enskilda funktioner med programkod, utan att behöva bry sig om den infrastruktur som krävs, till exempel servrar med tillhörande minne och processorkraft.

Det går lite slarvigt under benämningen ”serverlöst”. Servrar finns naturligtvis med i bilden, man behöver bara inte bry sig om dem.

Allt fler börjar intressera sig för det här sättet att köra mjukvara. Det finns flera uppenbara fördelar, men även sådana som visar sig efter lite funderande.

Till att börja med, vilka uppenbara skäl finns det att satsa på till exempel Azure Functions eller Lambda?

– Det är enkelheten som lockar, man behöver inte jobba så mycket med att göra inställningar. Och så behöver men inte ha infrastruktur. Det är sådana saker som tar tid och kostar pengar, säger Iris Classon, Konstrukt.

Hon har ännu inte använt någon tjänst för serverlösa lösningar i sitt jobb, men kan tänka sig olika exempel på användningsområden redan nu.

– Ett exempel är att ta fram rapporter under natten som inte är så tidsmässigt kritiska, säger Iris Classon.

Mattias Karlsson som är utvecklare och arkitekt på WCOM har hunnit titta mer på serverlösa funktioner och han ser flera fördelar jämfört med mer traditionella arkitekturer.

– Den stora grejen är att gå ifrån fasta kostnader, till att betala för det man förbrukar. Och så slipper man underhåll av infrastruktur, säger Mattias Karlsson.

En fördel som kanske inte är lika uppenbar är att det går att ordna mer flexibel, eller ”elastisk”, skalbarhet.

– Det kanske mest är tjänsten för att hämta kundinformation som tar kraft, då kan man se till att den får mer resurser. Med en mer traditionell arkitektur blir man tvungen att skala upp hela webbtjänsten.

Läs också: Här är Sveriges 20 bästa utvecklare 2016

Dessutom blir möjligheterna för kostnadskontroll bättre:

– Det blir inte nödvändigtvis billigare, men man vet vad som kostar. Det kanske är funktionen för att lägga order som kostar mycket att köra, men eftersom den genererar pengar så är det OK.

Men hur fungerar det om man har börjat tänka i termer av mikrotjänster? Går det ihop med att organisera lösningar med funktioner?

– Man får tänka till, men det måste man alltid göra.

Enkelt uttryckt innebär serverlösa funktioner att dela upp lösningar ett steg till, jämfört med mikrotjänster. Men i praktiken kan man ofta se en mikrotjänst som en samling funktioner. Mattias Karlsson berättar vidare att det börjar dyka upp olika lösningar för att hålla reda på funktioner och beroenden mellan dem.

Kommer serverlösa funktioner att vinna gehör på bekostnad av äldre lösningar under de närmaste åren?

– Ja, det tror jag. Inte minst för att skapa små tjänster som knyter ihop andra tjänster, för att transformera data, så de kan interagera även om de inte pratar samma språk. Ett exempel kan vara om man bara behöver lösa ett specifikt problem snabbt. Då vill man inte lägga ut en massa pengar på en integrationslösning, säger Mattias Karlsson.