Serverless er som arkitektur-trend ikke specielt godt navngivet. Servere er naturligvis stadig involveret i processen. Det særlige er i stedet, at servere ikke længere er noget, som udviklerne eller driftsfolk behøver at bekymre sig om.
»Der er ingen servere at administrere,« forklarer Jeremy Edberg, stifter og CEO hos MinOps ved it-konferencen AWS Re:Invent, der tidligere på måneden fandt sted i Las Vegas.
»Servere, operativsystemer og containere er fjernet. Du opgiver noget kontrol og skal til gengæld ikke tage dig af problemerne,« fortsætter han.
Tilbage er kun den kode, som en given funktion består af. Koden kører i sekunder eller minutter og kun så mange gange, som den bliver kaldt.
Og i mellemtiden har du ingen servere til at stå klar til at modtage ordrer.
»Serveless handler om at øge deployment-hastigheden ved at fjerne alt administration. Det er kun koden, du skal styre,« siger Jeremy Edberg, der tidligere har arbejdet som softwarearkitekt hos både Netflix og Reddit.
Event driven
I praksis er der flere måde at køre en serverless arkitektur på. I AWS-regi tilbydes for eksempel Lambda - en tjeneste, som understøtter såkaldte event driven applications.
Tilsvarende tjenester leveres af Google og Microsoft i form af henholdsvis Google Cloud Functions og Microsoft Azure Functions.

Det har blandt andet det danske streamingfirma Xstream taget til sig, fortalte Head of Services Loke Dupont tidligere på året.
I Xstreams tilfælde betyder det, at når en ny videofil lægges i skyen sendes en trigger til Lambda, som automatisk sender et job til en transcoder, som encoder videoen i de ønskede profiler.
Herefter markerer Lambda filen klar til at blive streamet.
»Det kan du gøre uden at drifte en eneste virtuel maskine. Du slipper for at se på, hvilket operativsystem det skal køre på, hvordan skal du proportionere det - alt det er væk,« understreger Loke Dupont og fortsætter:
»Den fjerner alt, som ikke er kode.«
Serverless på en måned
Softwarefirmaet BMC har også omdannet dele af selskabets applikationer til en serverless arkitektur.
Inspirationen kom mest af alt, da ledelsen bad et udviklingshold om at lave et system til kundevalidering på meget kort tid, fortæller softwarearkitekt Ajoy Kumar.

»Arkitekturen blev bygget på en måned, og nu arbejder vi kontinuerligt på at udvikle den,« siger han.
Applikationen fungerer med flere Lambda-funktioner forbundet til forskellige databaser. En Lambda-funktion trigger på ny data i systemet, evaluerer den efter nogle forretningsregler og gemmer data i en database. Det trigger en ny Lambda-funktion, som indekserer data.
»Hele data-pipelinen er i virkeligheden en serie af Lambda-funktioner,« siger Ajoy Kumar.
Skær på omkostninger
Ifølge Ajoy Kumar er agilitet og innovationshastighed den største gevinst ved serverless, men arkitekturen gør det også muligt at spare på it-budgettet.
For det første skal du ikke betale for at have x antal virtuelle maskiner i skyen eller fysiske servere stående. Og uden servere, der skal driftes, kan man skære ned på sit driftshold, fortæller Ajoy Kumar, der dog understreger, at det er en myte, at man kan droppe driftsfolkene helt.
»Du har stadig brug for drift. Men det er alt sammen på applikationsniveau - Ikke infrastrukturniveau,« forklarer han.
Med en tjeneste som Lambda betaler man desuden udelukkende for det antal gange, som koden kører.
Funktionen skalerer automatisk til det antal trigger-events, der måtte komme, men koster altså ikke en krone, når funktionen ikke kører. Betalingsmodellen betyder dog også, at man skal sørge for at undgå uendelige loops i sin kode, siger Jeremy Edberg.
»Det kan koste kassen. Hvis ikke du opdager det, kan du virkelig få problemer,« forklarer han.
Nanoservice
Serverless bliver sommetider også kaldt for funktion-as-a-service eller nanoservices med reference til microservice-arkitekturen.
Ligesom microservice-arkitekturen, der opdeler et it-system i løst forbundne mini-applikationer, lader serverless-arkitekturen udviklere arbejde i små hold og opdatere de enkelte dele af systemet uafhængigt af hinanden.
Microservice kræver dog stadig administration, som er skrællet fra med serverless, understreger Jeremy Edberg.
»Problemet er at du skal bygge en platform, som har alle de her forskellige moving parts. Det er noget, som modne virksomheder bruger op til 25 procent af tiden på, og de bygger alle den samme ting – en microservice-platform.«
»Serverless er også en microservice arkitektur, men platformen er der i forvejen,« fortsætter han.
Lock-in
Som alle andre teknologier er der også ulemper ved en serverless strategi. Softwareudvikler Martin Fowler, der har titel af Chief Scientist ved ThoughtWorks, bemærker på sin blog, at serverless-arkitekturen gør virksomheder betydeligt afhængige af leverandøren.
I værste fald kan det lede til et decideret vendor lock-in. Særligt fordi serverless er et relativt nyt koncept, må kunder forvente, at leverandører har implementeret serverless-funktioner forskelligt. Dertil kommer, at serverless-applikationerne som oftest er bygget tæt op ad database-infrastrukturen - som i eksemplet fra BMC.
Alt det kan gøre det sværere at skifte platform, vurderer Martin Fowler.
Netop fordi serverless er nyt, er værktøjerne til debugging og deployment endnu ikke optimerede. Ulemperne opvejer dog ikke det forhold, at serverless-arkitektur kan gøre feedback loops i softwareudvikling signifikant mindre.
'Serverless-systemer er stadig spæde. Der vil være mange fremskridt i feltet over de kommende år, og det bliver facinerende at se, hvordan de passer ind i vores arkitektur-værktøjskasse,' skriver Fowler.