比较开源FaaS平台
有很多种开源函数即服务(FaaS)可供选择,因为不知道选哪个好,所以我打算进行比较。
观点
-
- API Gateway
そもそも連携可能か?
API Gatewayの実装に何を使うか?
Nginx?
Envoy?
動作環境
Kubernetes?
対応言語
対応Trigger
Kubernetes Event?
Slack?
Web UI
運用
データベース、キャッシュ、ジョブキューにマネージドサービスを利用できるか?
请参考此链接:http://redmonk.com/jgovernor/2017/10/03/another-fn-container-native-serverless-framework/
Apache OpenWhisk 是一种开源的计算平台。
参考:https://thenewstack.io/behind-scenes-apache-openwhisk-serverless-platform/
请参考此链接了解Apache OpenWhisk无服务器平台的幕后情况。
-
- API Gateway
実装はNginxを利用
Adobeが開発中
https://github.com/adobe-apiplatform/apigateway
動作環境
Kubernetes (IBM Bluemixがデファクトのよう)
対応Trigger
cli呼び出し
https://console.bluemix.net/docs/openwhisk/openwhisk_triggers_rules.html#openwhisk_triggers
フィード
https://console-regional.ng.bluemix.net/docs/openwhisk/openwhisk_catalog.html#openwhisk_catalog_cloudant
ここでタイプ「フィード」に対応しているもの
github webhook
Cloudantデータベースの変更
運用
以下を自前で運用する必要がある
Kafka
CouchDB
Consul
无服务器
-
- API Gateway
KubernetesのIngressを利用
Ingress Controller(Nginx, Istio等)は別に選べるので、特定のミドルウェアにロックインされない
動作環境
Kubernetes
対応Trigger
HTTP Endpoint呼び出し
Kafkaトピック
スケジュール
運用
KubernetesクラスタさえあればOK
標準的なK8Sオブジェクト以外のステートはK8SのCRDに保存するので、他のデータストアなど運用する必要がない
https://github.com/kubeless/kubeless/tree/master/docs
裂变
一家名为Platform9的公司提供Kubernetes的托管服务的开源软件。
-
- API Gateway
Kubernetes Ingressで対応予定(betaまでに)
https://github.com/fission/fission/issues/164
動作環境
Kubernetes
対応言語
Binary
Go
.NET
NodeJS
Perl
PHP7
Python 3
Ruby
対応Trigger
HTTPエンドポイント
OpenFaaS 可以译作“开放的函数即服务”。
Kubernetes对应的部署可以在https://github.com/openfaas/faas-netes找到。
-
- API Gateway
Kubernetesの場合Ingressで実装しているので、Ingress Controller(Nginx, Istioなど)は選べる?
デフォルトはnginx
動作環境
Kubernetes
Docker Swarm
対応言語
DockerイメージにできるものならなんでもOK(大体のFaaSはそうかもだけど)
サンプル集
https://github.com/openfaas/faas/tree/master/sample-functions/BaseFunctions
Node.js
Python
Golang
対応Trigger
HTTPエンドポイント(同期・非同期)
https://github.com/openfaas/faas/tree/master/docs#gateway
現状ではGatewayのHTTPエンドポイントしかトリガーがないみたい
workerがGatewayを呼び出すことで、色々なTriggerを実現していく流れらしい(下記)
Kafka Topic(3rd party)
公式の開発状況
https://github.com/openfaas/faas/pull/311
NATS Streaming
AWS SNS/SQS予定あり