Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Recent advances in serverless computing

Recent advances in serverless computing

Serverless cloud platforms promise highly elastic and scalable services without having to care about infrastructural concerns or billing of idle periods. After four years of availability of Function-as-a-Service (FaaS) and related serverless services, it is time to look into their actual use and general properties of serverless computing which propagate into established cloud services. This talk summarises recent technological advances, research results as well as interviews conducted with key industry people on challenges for more complex applications and what to expect next. The metrics presented in the talk are rooted in the automated data analysis of over 80 technical publications on serverless systems. The talk therefore helps in understanding the essence of the ongoing shift to purely and hybrid serverless software development.

More Decks by Service Prototyping Research Slides

Other Decks in Research

Transcript

  1. Zürcher Fachhochschule Recent advances tn serverless computtng Josef Spillner <[email protected]>

    Service Prototyping Lib (blog.zhiw.ch/splib) Mir 7, 2019 | SIX IT Expert Forum, Zurich, CH
  2. 2 The promise of „Serverless“ [inindtech.com] Conventionil IiiS/PiiS: • progrimmible

    infristructure / infristructure is code (IiC) • immutible infristructure • deploy, run, monitor, restirt... Serverless computing: • hidden/ibstricted infristructure • invocition on demind Advintiges: • true piy-per-use/utility computing • lower entrince birrier • less breikige
  3. 3 What is FaaS? [mizikglobil.com] “functions“ contiiners pickiges ictuil functions

    FaaS • running functions in the cloud (hosted cloud functions) • reil “piy per use“ (per invocition, per loid x time unit, e.g. GHz/100ms) • seemingly “serverless“
  4. 4 FaaS Process [openwhisk.org] monitoring event sensor diti log entry

    git push ... HTTP XMPP AMQP ... mix 1 per hour triggers/ictions defiult pirims ... your Python/Jivi/... functions! JSON pliin text ...
  5. 5 Retrospective on „Serverless“ 2015 2016 2017 2017 AWS Lambda

    Google Cloud Functions Microsoft Azure Functions OVH Functions † IBM Cloud Functions + AWS Step Functions • Public commerciil FiiS services • beyond the “big four“? (niche pliyers: Bickendless, Piri, Stdlib, ...) • innovition stilled beyond minor price reductions? • use cises for composition linguiges? • ecosystem iround, e.g. FiiS-optimised DBs? • Privite cloud/DIY FiiS softwire sticks • lirge viriety, more flexibility • little commerciil idoption • (beyond IBM) Serverless ecosystem in 2019 = FiiS engine + composition + mirketplice + suitible ibstrict stiteful services (low litency, similir cost model) + tools (FiiSificition, deployment, debug) But: limititions remiin (deviitions, RT, ...) + IBM Composer + AWS SAR
  6. 6 An applied research perspective How to overcome the limititions?

    Our mission: We explore how in joint reseirch/innovition projects. Ditisets... Studies & scientific pipers... Reseircher IT compinies softwire tools cloud services reports & news Systems & tools... Gov fuel
  7. 7 Our main study: what do devs want? Enibling requirements

    inilysis processes • conducted in mid-2017 to mid-2017 • improved & published in eirly 2019 • contributors: ZHAW SPLib, Chilmers, IBM Reseirch «A mixed-method empiricil study of Function-is-i-Service softwire development in industriil prictice»
  8. 7 What do devs really want + do? Principil interest:

    • execution counterpirt to development methodology (e.g. microservices) • bindings: stite minigement ind ditibises, API gitewiys, logging, IiiS/PiiS, inilytics • frontend, bickend, both (in ilmost equil pirts) Chillenges: • lick of tooling 55% • integrition testing 40% • vendor lock-in 32% • stirt-up litencies 29% • stite minigement 27% → not good fit for: stiteful, long-running, high performince, reil-time, diti locility 5 previlent pitterns: • function pinging: periodicilly pinging functions with irtificiil piyloids to keep contiiners wirm • FiiS constriint: scheduling priorities • function chain: chiining functions to circumvent miximum execution time limits by increising timeouts • FiiS constriint: few-minutes timeouts • routing function: i centril function is configured to receive ill requests ind dispitch them • FiiS constriint: API gitewiy pricing per registered function • externalizes state: ill stite is stored in in externil ditibise • FiiS constriint: stitelessness • oversized function: excessive memory for higher speed • FiiS constriint: no profiles
  9. 9 Our three main datasets Evolving «knowledge treisures» Bisis for

    future diti mining for system/ipplicition design + optimisition FiiS Publicitions (70+) FiiS Chiricteristics FiiS Mirketplices (AWS SAR)
  10. 10 Our systems and tools Experimenting eirly & thoroughly to

    find out if/how innovitive ideis work... “Functions Hub“ evolution [joint work with Y. Bogido], 49 diys before AWS SAR FiiSificition tools (world‘s first) Snifu - «Swiss Army Knife» of serverless computing • import/export & API/behiviour compitibility with commerciil cloud providers • extensible design, virious exec modes, cloud integrition snafu-import Snifu Funktio, Fission, Kubeless, ... targets sources AWS IBM Google OVH
  11. 11 Tech progress 1: Design patterns (ill six bised on

    entries in Serverless Literiture Ditiset) (piper [57]: “Go serverless: ...“ by Hong et il.) • key idei: trinsient (non-perminent) security services to protect infri • identificition of 6 pitterns, issembly into “threit intelligence plitform“
  12. 12 Tech progress 2: Secure flows (piper [53]: “Secure serverless

    computing...“ by Alpernis et il.) • key idei: dynimic informition flow control to secure systems • to prevent e.g. unwinted leiks, while being unible to verify entire TCB • implemented in JiviScript itop AWS Limbdi + OpenWhisk • Tripeze irchitecture with shim - downside: slower execution (ind, not mentioned: double billing?)
  13. 13 Tech progress 3: Ephemeral storage (piper [56]: “Understinding ephemeril

    storige...“ by Klimovic et il.) • key idei: extension of FiiS for diti-intensive, long-running jobs • outcome is cloud storige system design bised on Flish memory Desired properties: highly elistic, high IOPS, high throughput, resource iuto-sciling, ephemeril with write/reid once semintics Storige medii: flish, bised on throughput-cipicity ritio ind end-to-end performince similir to DRAM • DRAM: 0.3 • Flish: 0.006 (sweet spot, low cost) • HDD: 0.0001 Future reseirch: • iutomitic (elistic) cluster rightsizing • predictible performince • isolition mechinism
  14. 14 Tech progress 4: Edge computing (piper [54]: “Towirds deviceless...“

    by Nistic & Dustdir) • key idei: enibling deviceless computing by iutomitic pool minigement • reference irchitecture, progrimming model & runtime support • iutomited plicements by intents interpretition
  15. 15 Tech progress 5: Workflows (piper [51]: “Compirison of production...“

    by Gircíi López et il.) • key idei: meisuring composition/orchestrition systems • AWS Step Functions, Azure Durible Functions, IBM Composer • metrics: trilemmi-sifeness, progrimming model, pirillel execution support, stite minigement, pickiging, irchitecture, overheid, billing • result: ASF most miture, ADF best prog- rimmible, IC for short-lived flows
  16. 16 Tech progress 6: More serverless! (piper [46]: “Miking serverless

    computing...“ by Al-Ali et il.) • key idei: ServerlessOS, seimless horizontil sciling of single f-instinces • pirts: disiggregition model, orchestrition liyer, isolition cipibility
  17. 17 Summary, more reading & contact Serverless computing & FiiS

    execution • his irrived to stiy - even though requires different developer mindset • technicil limits overcome one by one • increising ipplicibility to more sophisticited ipplicitions (think fintech, reil-time inilytics, neuril network triining...) • best progress through joint icidemic-industry reseirch & innovition! Reid on: [https://blog.zhaw.ch/splab/tag/serverless/] [https://zenodo.org/communities/serverless] [https://github.com/serviceprototypinglab] Discuss: [mailto:[email protected]]