Hitra rast storitev brez strežnikov
Koncept uporabe oblačnih storitev brez strežnikov (serverless), kjer ponudniki v celoti upravljajo potrebno infrastrukturo, uporabniki pa se osredotočijo le na programske funkcije, predstavlja čedalje večji delež celotnih oblačnih storitev. Po ocenah družbe Gartner naj bi v letu 2020 storitve brez strežnikov uporabljalo že okoli 20% podjetij po svetu.
Vodilna platforma v segmentu storitev brez strežnikov je Amazon AWS Lambda, ki pa ji hitro sledijo tudi drugi ponudniki. Google podobne lastnosti ponuja v obliki storitev Google Cloud Function, Microsoft ima Azure Functions, IBM pa IBM Cloud Functions. Ker je raba tovrstnih storitev zelo pogosto omejena na specifično funkcionalnost, se je začela uveljavljati tudi kratica funkcija kot storitev ali FaaS (Function as a service).
Družba Datatdog, ki se ukvarja z monitoringom storitev v oblaku je nedavno opravila zanimivo raziskavo, ki razkriva nekatere zanimive značilnosti uporabe storitev FaaS. Pod lupo so vzeli prav AWS Lambda, kjer so prikazali, kako in kdo uporablja ta še razmeroma mlad koncept računalništva v oblaku. Podlaga za raziskavo so anonimizirani podatki strank, za katere izvajajo monitoring storitev v oblaku, ki pa predstavljajo dobro sliko trendov uporabe strategije serverless.
Zanimiv je podatek, da praktično polovico strank družbe Datadog, ki uporabljajo platformo AWS, v oblaku za svoje potrebe uporabila prav platformo Lambda. To je celo več, kot so pričakovali. AWS Lambda je še posebej priljubljena med uporabniki, ki aplikacije uporabljajo v kontejnerjih. Kar 80% kontejnerjev deluje na platformi Lambda in ne na namensko postavljenih strežnikih v oblaku.
Glede na to, da koncept FaaS konceptualno prinaša manjše stroške oziroma plačilo-za-porabo, bi morda pričakovali, da platformo uporabljajo predvsem manjša, startup podjetja. Raziskava pa kaže, da Lambdo uporabljajo predvsem velika podjetja in korporacije.
Še bolj zanimivo postane, ko si pogledamo, kakšna bremena se tipično izvajajo na platformi AWS Lambda. Več kot polovica vseh funkcij, ki jih poganjajo podjetja na platformi se izvaja 800 milisekund ali manj. Petina je celo takih, ki v izvajanju resurse zasedajo največ 100 milisekund. Več kot polovica funkcij za delovanje potrebuje manj kot 128 MB pomnilnika. Opravka imamo torej z mikrostoritvami, ki pa so zelo skalabilne in predstavljajo osnovo za večje zelo prilagodljive aplikacije, ki so spodobne v končni fazi prenašati velika bremena.
Koncept FaaS prinaša tudi spremembe v naboru orodij, ki so uporabljena za razvoj teh funkcij. Najbolj priljubljeni platformi oziroma programska jezika sta Python in Node.js. Večina programov uporablja podatkovni bazo Amazon Dynamo DB in orodje za upravljanje vrst Amazon SQS (Simple Queue Service), najbrž tudi zato, ker sta ti najbolje integrirani v okolje AWS Lambda.
Datadog ima že v pripravi podobne raziskave o značilnostih rabe drugih platform storitev brez strežnikov.