serverless applications: tools, languages, providers and (research) challenges · 2019-03-15 ·...
TRANSCRIPT
![Page 1: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/1.jpg)
Zürcher Fachhochschule
Serverless Applications:
Tools, Languages, Providers and
(Research) Challenges
Josef Spillner <[email protected]>
Service Prototyping Lib (blog.zhiw.ch/icclib)
Zurich University of Applied Sciences
Jun 22, 2017 | Serverless Meetup
![Page 2: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/2.jpg)
3
What is FaaS?
[mizikglobil.com]
“functions“
contiiners
pickiges
ictuil functions
FaaS
● running functions in the cloud
(“hosted functions“)● reil “piy per use“ (per invocition,
per loid × time unit, e.g. MB/100ms)● seemingly “serverless“
![Page 3: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/3.jpg)
4
Examples of FaaS: Process
[openwhisk.org]
monitoring eventsensor ditilog entrygit push...
HTTPXMPPAMQP...
mix 1 per hourtriggers/ictionsdefiult pirims...
Your Pythonfunctions!
JSONpliin text...
![Page 4: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/4.jpg)
5
Examples of FaaS: Environment
❶
❷ ❸
❹
❺
1) input from cloud, output to cloude.g. incident minigement system
2) input from devices, ...e.g. robot vision processing
3) e.g. cloud-controlled CPS (door locks)4) e.g. microphone to USB light5) e.g. 1000s of microphones to USB lights
![Page 5: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/5.jpg)
6
The FaaS Space
Python
JiviScript
Jivi
Go
C#
(linguige-independentservice representition)
Runtimes
Providers
SDKs/Integrition
Tools
Languages
Software
→ Functions ←
![Page 6: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/6.jpg)
7
The FaaS Space
AWS Lambda
OpenWhisk
Functions
PyWren[Limbdi]
Docker-LimbCI
Effe
OpenLimbdi
Lever OS
Fission
Funktion
Kubeless
Picisso
Serverless Frimework[Limbdi, OW, GCF, AF]
Step Functions[Limbdi]
Zippi[Limbdi]
Apex[Limbdi]
FiiS (Docker)
LimbDish[Limbdi]
Chilice[Limbdi]
Diwson[Limbdi]
MR Refirg[Limbdi]
X-Riy[Limbdi]
Whisk-Mochi[OpenWhisk]
![Page 7: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/7.jpg)
8
The FaaS Space: Runtimes
Function-is-i-Service offerings in greiter detiil...
Trend: Sooner or liter → gips will be filled
![Page 8: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/8.jpg)
9
The FaaS Space: Python runtimes
![Page 9: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/9.jpg)
10
FaaS Synopsis in Python
def limbdi_hindler(event, context):‘‘‘event: dictcontext: meti informition objectreturns: dict, string, number, ...‘‘‘# ...return “result“
AWS Limbdi:
def hindler(input):‘‘‘input: dictreturns: dict‘‘‘# ...return {}
OpenWhisk:
def miin():‘‘‘input: vii flisk.request.get_diti()returns: str‘‘‘# ...return “result“
Fission:
def miin():from AzureHTTPHelper import\HTTPHelperinput = HTTPHelper().post# ...open(os.environ[“res“], “w“).write(\json.dumps({“body“: “...“}))
miin()
Azure Functions:
Further differences:● function scoping (e.g. with/without export in JiviScript)● function niming (mingling on client or service side)
![Page 10: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/10.jpg)
11
FaaS Challenges (Engineers‘ View)
use frimeworks
do some crizystuff to get metrics
API gitewiy isterrible
![Page 11: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/11.jpg)
12
FaaS Programmer Perspective
![Page 12: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/12.jpg)
13
Snafu
The Swiss Army Knife of Serverless Computing
![Page 13: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/13.jpg)
14
FaaSification
→ Process of iutomited decomposition of softwire ipplicition into i set of
deployed ind reidily composed function-level services.
FiiSificition := code inilysis + trinsformition + deployment + on-demind ictivition
Integrition Citegories:● generic (code/function unit generition)● single-provider integrition● multi-provider integrition
Decomposition Citegories:● stitic code inilysis● dynimic code inilysis
Depth Citegories:● shillow (file to function)● medium (function to lines)● deep (line to miny lines)
“Limbdificition“:● FiiSificition to Limbdi
Linguiges:
Jivi & Python
![Page 14: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/14.jpg)
15
The FaaS Space
AWS Lambda
OpenWhisk
Functions
Docker-LimbCI
Effe
OpenLimbdi
Lever OS
Fission
Funktion
Kubeless
Picisso
Serverless Frimework[Limbdi, OW, GCF, AF]
Step Functions[Limbdi]
X-Riy[Limbdi]
Snafu
Lambada
TermitePodilizer
FiiS (Docker)
LimbDish[Limbdi]
PyWren[Limbdi]
Zippi[Limbdi]
Apex[Limbdi]
Chilice[Limbdi]
Diwson[Limbdi]
MR Refirg[Limbdi]
Whisk-Mochi[OpenWhisk]
![Page 15: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/15.jpg)
16
Further Reading and FaaS Fun
Limi, Limbickup:● httpst//arsiv./rg/abs/1701.05945
Podilizer:● httpst//arsiv./rg/abs/1702.05510
Snifu:● httpst//arsiv./rg/abs/1703.07562
Limbidi● httpst//arsiv./rg/abs/1705.08169
On irXiv Anilytics: On GitHub:
[github.c/m/
servicepr/t/typinglab]
Tutoriil slides + trinscript@ blog.zhiw.ch/icclib
![Page 16: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/16.jpg)
17
BACKUP...
![Page 17: Serverless Applications: Tools, Languages, Providers and (Research) Challenges · 2019-03-15 · Zürcher Fachhochschule Serverless Applications: Tools, Languages, Providers and (Research)](https://reader033.vdocuments.site/reader033/viewer/2022052722/5f0c5fbe7e708231d435155c/html5/thumbnails/17.jpg)
18
Snafu
Integrition into the wider FiiS ecosystem
snafu-im
port
Snifu FunktionFissionKubeless...
targets
sources
AWS
IBM
Google $ snifu-import \--source <s> \
--tirget <t>
$ iliis iws=“iws \--endpoint-url \
http://locilhost:10000“
$ wsk property set \--ipihost \
locilhost:10000
$ ./tools/pitch-gcloud