6. ServerlessとFaaS(自分の捉え方)
FaaS(Function as a service)
• コードのみの実行できる(Function), サービスではない(not Services)
- “down when done”
• Event driven programming model
• Scale – “infinite”, transparent for dev, handled by Platform/Framework
• Pay-per use consumption model
API gateway
BaaS(Backend as a service)
• 認証、メッセージング、AI、chat
DataStore service
• noSQL(CRUD datastore), Object Storage(S3, Swift)
Workflows
7.
8. Serverlessが必要な現場 (use case)
• Data Processing
• Services for web and mobile apps
• Ex) SPA (Single Page Application)
(Vm instanceを全く使わない開発、webIDEのみでの開発)
• Other workflow/automation
• DevOps automation ( ex; github build flow )
• IoT, Alexa, ChatBot
• IFTTT, slack
• Etc.
20. Why to service Serverless on k8s
• 1) If you are already running k8s cluster
• On Public/Private cloud
• 2) Unify multiple clouds with one Serverless Framework
Ex)
• on Public; DigitalOcean k8s
• on Private; OpenStack cloud k8s
• 3) When using k8s simply as a scalable execution
environment
21. OpenStack with Opensource FaaS #1
Iron Function (ex: on kuberrnetes)
• Functions
• Functions-ui
Fission (Platform9) (on kubernetes)
https://fission.io/
22. OpenStack with Opensource FaaS #2
Kubeless (on kuberrnetes)
https://kubeless.io/
OpenWhisk (on kubernetes)
https://openwhisk.apache.org/
Funktion
(Red Hat has stopped funding this OSS project, 2017/11/29)
Need to fork!!
27. Ingress (API gateway) API log
API gateway
• APIのアクセスログからfluentdなどで計測情報を取得
• API time(ms)
• API access count(number of X)
Kong, etc.
Docker(k8s) runtime
• 精密には、functionを実行するdocker(Container Runtime)の
proc IDのCPU timeの測定が必要