Google Cloudは8月10日(米国時間)、同社が提供するFaaSオファリング「Cloud Functions」の第2世代のGA(General Availability)を発表しました。第2世代へのアップデートについては2022年に3月にアナウンスされ、これまでパブリックプレビューとして公開されていましたが、今回のGAにより第1世代のCloud Functionsを利用しながら、新しいワークロードに第2世代を適用することも可能になります。
Cloud Functionsの第2世代はGoogle Cloudのサーバレスなコンテナ実行環境「Cloud Run」と、Google Cloudで利用できるイベント機能「Eventarc」の上に構築されています。おもな特徴は以下となっています。
- 同時実行性の向上 … 1つの関数インスタンスにつき最大1000の同時リクエストを処理、コールドスタートを劇的に低減し、レイテンシ改善ととコストの削減も実現
- 迅速なロールバックと段階的なロールアウト … 関数を以前のデプロイに迅速で安全にロールバック、複数のリビジョン間のトラフィック分割、関数をデプロイするごとに新しいリビジョンを生成
- リクエスト処理時間が6倍に … HTTPトリガー関数を最大で1時間実行可能(第1世代は約9分)、Cloud StorageやBigQueryからの大量のデータストリームの処理など、リクエスト時間が長いワークロードの実行が容易に
- より大きなインスタンスのサポート … 第1世代は最大で2個のvCPUとメモリ8GBの構成だったが、第2世代では最大で4個のvCPUとメモリ16GBが利用可能になり、コンピューティング不可の高い集約型の計算や並列ワークロードの実行が容易に(メモリ32GB/8vCPのインスタンスはプレビュー中)
- プレウォーミングされたインスタンス … コールドスタートを削減し、アプリケーションのブートストラップ時間がパフォーマンスに影響しないように、事前に準備が整っている最小のインスタンスをつねに構成
- より多くのリージョンで利用可能に … 第1世代のすべてのリージョンに加え、フィンランド(europe-north1)とオランダ(europe-west4)が追加
- 拡張性と移植性 … Cloud Runのスケーラブルな機能を利用することで、必要に応じて関数をCloud RunまたはKubernetesに移動できる
- 125以上のイベントソースをサポート … Eventarcをネイティブサポートしたことで、EventarcでサポートされるGoogle Cloudのサービス(BigQuery、Cloud SQL、Cloud Storageなど)およびサードパーティのSaaSから125以上のイベントソースをサポート(プレビュー時の90からさらに増加)、さらにPub/Subに直接パブリッシュすることでカスタムソースからのイベントもサポート
- 業界標準のCloudEventsに準拠したイベントドリブン関数
- CMEK(customer-managed encryption keys)のサポート … 自分だけがアクセスできる独自の暗号化キーでイベントを暗号化
- Eventarcサブタスク … 作成中の関数がどのようにトリガーさるれるかを容易に検出
- テストタブの改善 … サンプルペイロードを使用して関数の呼び出しを簡素化
- カスタマイズ可能なダッシュボード … 重要な指標をひとめでわかるように表示、スクリーンリーダーによるアクセシビリティの更新
Cloud RunとEventarcにより、第2世代ではパフォーマンスとスケーラビリティ、そしてイベントソースのサポートが大幅に強化されており、大量のデータを扱う機械学習やデータパイプラインといったワークロードでの利用がより進みそうです。とくにHTTP関数を最大で60分間も利用できる点は他のサーバレスプラットフォームにはあまり見られない特徴なので、今後、Cloud Functionsならではのメリットを活かしたユースケースの登場が期待されます。