Serverlösa applikationer är förstås inte serverlösa. Egentligen. Servrar finns med i bilden, men man behöver inte bry sig om dem som utvecklare, inte ens om de är virtuella.

Chad Arimura som är vd på Iron.io i USA beskriver det så här för IDG News:

– Den minsta skalenheten har ändrats från att vara en virtuell maskin till en container. Om du tar det ett steg vidare så blir det en funktion, alltså en enhet med kod med ett syfte. Det är något som är enkelt att föreställa sig, till exempel att hantera en bild eller transformera data, säger Chad Arimura.

Att han intresserar sig för det här är inte konstigt med tanke på att Iron.io utvecklar mjukvara för att hantera körning av mikrotjänster (microservices). Mikrotjänster är definitivt ett begrepp som hör ihop med andra nämnda i den här artikeln.

Läs också: 16 smarta tips: Så bygger du ett bättre utvecklingsteam

Vad är skillnaden mellan en mikrotjänst och en funktion?

– En tjänst har ett api som ger tillgång till funktionalitet, man vet inte vad som händer under skalet i tjänsten. Tjänsten kan bestå av funktioner. Funktionerna är byggstenarna och själva tjänsten är gränssnittet.

Liksom en utvecklare kan bygga en applikation genom att kombinera mikrotjänster och anropa tjänster från funktioner kan denne bygga tjänster med hjälp av funktioner från ett bibliotek. Utan att behöva bry sig om serverinfrastrukturen för att köra de färdiga applikationerna.

Amazons molntjänst Lambda är det hittills mest kända exemplet på serverlösa applikationer. När kod laddats upp till Lambda hanterar tjänsten kapacitetsbehov, skalning, patchar och administration av den infrastruktur som krävs för att köra koden, som Amazon uttrycket det i en instruktionsvideo. Både Lambda och Iron.ios tjänster tillhandahåller funktionsbibliotek för att snabba på utveckling.

Läs också: Högsäsong för SMHI:s vädertjänster – öppna data driver fram fler

Den här typen av lösningar ligger till största delen, minst, en abstraktionsnivå över organisation (orkestrering) av tjänster. Sådan funktionalitet finns till exempel i Mesos, Kubernetes och Docker Swarm. Om man ska se en samling funktioner som en applikation så krävs det antagligen fler administrationsverktyg än vad Lambda och liknande tjänster kan erbjuda.

Det kan diskuteras om man kan strunta i servrar eller driftspersonal, vilket begreppet no-ops antyder. Men med serverlös utveckling och serverlösa applikationer kan i alla fall utvecklare i hög grad strunta i sådana saker när de bygger applikationer. Det handlar alltså om en ökning av effektiviteten för utvecklare.