Googleが新しいサービスCloud Functionsのアルファ版を立ち上げた。このサービスを使うとクラウドイベントに自動応答する小さなJavaScript関数を作ることができる。ユーザーの介在やランタイムの設定と実行、複数マシンへのスケーリングは必要ない。
クラウド環境では、Cloud Pub/Subインフラ経由で非同期に伝搬するイベントが複数発生する可能性がある。ユーザーはそうしたイベントを待ち受け、Node.jsにおけるJavaScript実行により反応するトリガーを設定することができる。現在のところ、トリガーは次のチャンネル経由でアクティベートできる。
- Cloud Pub/Sub – 任意の非同期Pub/Subイベント
- Cloud Storage - Object Change Notification
- HTTP Invocation – HTTP経由の同期実行
- Debug/Direct Invocation – CLIを使ったCloud Functionsの開発・デバッグ
Cloud Functionsには何ができるのか、Googleに尋ねた。
関数は、適切なNode (JavaScript) クライアントライブラリやRESTful APIを持つ任意のクラウドリソースにアクセスできます。gcloud-nodeクライアントライブラリを使えば、デフォルトのプロジェクトクレデンシャルで自動的に認証されます。したがって、認証キーの生成や格納などを機にする必要はありません。
関数は完全にインターネットにアクセスできるので、任意のサードパーティAPIを呼び出すことができますが、これら外部サービスのための認証キーは自分で管理する必要があるでしょう。
Googleは今後の開発についてのコメントを避けたので、他の言語のサポートが追加されるかはわからない。しかし、おそらくその可能性が高いだろう。
AmazonにはすでにAWS Lambdaという同様のサービスがある。Lambda関数はCloudWatch、DynamoDB、Kinesis、SNS、S3から直接、あるいはシステム状態の変化、データの変化、ユーザアクションによってトリガーすることができる。AWS Lambdaはリアルタイムファイル処理やデータストリーミング、データに対するロードや変更などの各種操作に使うことができる。AWS Lambdaは、Java、JavaScript/Node.js、Pythonをサポートしており、今後他の言語もサポートすることを約束している。
Rate this Article
- Editor Review
- Chief Editor Action