Serverivaba andmetöötlus

Ajalugu

Esimene platvorm, mis pakkus serverivaba andmetöötlust, oli 2006. aastal Zimki, mis aga ei leidnud piisavalt tunnustust ega saanud äriliselt edukaks. Google avaldas 2008. aastal Google App Engine, mis tutvustas mõõdetud arveldamist rakendustele, mis kasutasid kohandatud Pythoni raamistikku. Microsoft andis 2010. aastal välja Microsoft Azure, mis pakub pilve- ja serverivaba andmetöötluse platvormi. 2014. aastal Amazoni loodud AWS Lambda oli esimene pilveandmetöötluse müüja, pakkudes lisaks sellele ka abstraktset serverivaba andmetöötlust. IBM on avaldas 2014. aastal OpenWhiski, mis on avatud lähtekoodiga serverivaba andmetöötluse platvorm. OpenWhisk toetab mitmeid programmeerimiskeeli, nagu Node.js, ja pakub veel paljusid teisi programmeerimiskeeli, kasutades selleks Dockerit. Google Cloud Platform pakub Google Cloud funktsioone alates aastast 2016. Oracle tutvustas 2017. aastal Fn Projekti – avatud lähtekoodiga serveriteta andmetöötluse raamistik, mis on pakutud Oracle Cloud Platformile ja on saadaval GitHubis vajadusel kasutamiseks teistel platvormidel.

Eelised

Serverivaba andmetöötlus võib osutuda kulutõhusamaks kui kindlaksmääratud arvu serverite rentimine või ostmine. Kaob vajadus väljaminekuteks operatsioonisüsteemide paigaldamise, hoolduse ja muude üldkulutuste peale. Seda võib kirjeldada ka kui ümberjaotuse põhimõttel toimivat (inglise keeles pay-as-you-go) digitaalarvutamist, kus tasu võetakse ainult sõltuvalt koodi käivitamiseks ja jooksutamiseks tuleneva aja-ruumi kulu eest (maksad siis, kui tarbid).
Lisaks väiksematele kuludele tähendab serverivaba andmetöötluse arhitektuur, et arendaja ja operaatorid ei pea veetma aega süsteemide seadmistamiseks ja häälestamiseks. Pilveteenuse pakkuja vastutab nõudlusele vastava võimsuse suurenemise võimaldamise eest. Lisaks sellele suudavad väikesed arendusrühmad  käivitada koodi sõltumata infrastruktuurirühmadest ja tugitehnoloogiatest.

Puudused

Vähese kasutusega serverivaba kood võib kannatada suurema vastuse hilinemisega (inglise keeles response latency) kui kood, mis töötab järjest spetsiaalses serveris, virtuaalses masinas või konteineris. Seda seetõttu, et erinevalt autoskaleerimisest (inglise keeles autoscaling) vähendab serverivaba andmetöötluse teenusepakkuja tavaliselt vähekasutatud koodi valmidust käivituda serveris või lülitab selle täielikult välja. See tähendab, et kui käivitusaeg (näiteks Java Runtime) on märkimisväärselt pikk, luuakse see täiendava latentsusajaga. 
Tõhususe või ülemäärase ressursikasutuse probleemide diagnoosimine serverivaba koodi puhul võib olla keerulisem kui tavapärase serveri koodi korral. Kõiki funktsioone saab küll ajastada, kuid puudub võimalus süvitsi probleemi siseneda. Selleks saab kasutada silurit või APM-tööriistu.
Serverivaba koodi peetakse mõnikord ekslikult turvalisemaks kui traditsioonilisi arhitektuure. Kui pilveteenuse pakkuja hoolitseb OS-i haavatavuste eest, siis kogu rünnaku pind on oluliselt suurem, kuna võrreldes tavapäraste arhitektuuridega on palju rohkem komponente, millest igaüks on serverivaba rakenduse sisendpunkt. Turvaliste lahenduste kasutamine muutub ebaoluliseks, kuna kliendid ei saa lõpp-punktil (inglise keeles endpoint) või võrgu tasemel, nagu IDS/IPS, midagi kontrollida ega nendele installeerida.