Cloud Functions(第 2 世代)の一般提供を開始: より多くのイベント、コンピューティング、コントロールを提供
Google Cloud Japan Team
※この投稿は米国時間 2022 年 8 月 10 日に、Google Cloud blog に投稿されたものの抄訳です。
この 7 年程の間に、Functions as a Service により、デベロッパーがソリューションを作成し、プログラム可能なクラウドへ移行する方法が変わりつつあります。Functions により、デベロッパーはスケーラビリティが高く、わかりやすく、疎結合したサービスを容易に構築できるようになりました。しかし、これらのサービスが進化するにつれ、デベロッパーはコールド スタート、レイテンシ、異種ソースの接続、コスト管理などの課題に直面するようになりました。そのような問題に対応するために、Google は Cloud Functions を進化させ、演算能力の向上、きめ細かいコントロール、より多くのイベントソース、デベロッパーのエクスペリエンス向上を実現する新世代のサービスを提供しています。
そしてこのたび、Cloud Functions の第 2 世代が一般提供となりましたことをお知らせいたします。これにより、かつてないほどきめ細かいコントロールによる豊富な種類のワークロードが実現します。最初の公開プレビュー版以来、Cloud Functions(第 2 世代)には、より高性能で効率的なコンピューティング オプション、迅速なロールバックのためのきめ細かいコントロール、Eventarc を使用した 125 を超える Google やサードパーティによる SaaS イベントからの新しいトリガーが搭載されています。なかでも最大のメリットは、第 1 世代の Cloud Functions を引き続き使用しながら、新しいワークロードに第 2 世代の Cloud Functions を使用できることです。
では、Cloud Functions(第 2 世代)について詳しく見ていきましょう。
きめ細かな設定によるコンピューティングの向上
高いコンピューティング機能ときめ細やかなコントロールを必要とする要求の厳しい高度なワークロードのために、組織は Cloud Functions を選択しています。Cloud Functions(第 2 世代)上に構築される機能には、次のような特長があります。
インスタンスの同時実行 - 1 つのインスタンスで最大 1, 000 件の同時リクエストを処理します。同時実行はコールド スタートを大幅に削減し、レイテンシを改善し、費用を低く抑えます。
高速なロールバック、段階的なロールアウト - ファンクションを以前のデプロイに迅速かつ安全にロールバックしたり、トラフィックがリビジョン全体にルーティングされる方法を構成したりします。新しいリビジョンはファンクションをデプロイするたびに作成されます。
6 倍のリクエスト処理時間 - 第 2 世代の HTTP でトリガーされる Cloud Functions は最大 1 時間実行できます。そのため、Cloud Storage や BigQuery からの大量のデータ ストリームの処理など、より時間のかかるリクエストのワークロードの実行が簡単になります。
4 倍の規模のインスタンス - 最大 16 GB の RAM と 4 つの vCPU を第 2 世代の Cloud Functions で活用することで、大規模でコンピューティング負荷が高いワークロードをインメモリでより並列に実行することが可能になります。32GB / 8 vCPU インスタンスはプレビュー版でご利用いただけます。
事前にウォームアップされたインスタンス - コールド スタートの削減が可能な状態を常に維持し、アプリケーションのブートストラップ時間がアプリケーションのパフォーマンスに影響しないように、最低限のインスタンスを構成します。
より多くのリージョン - 第 2 世代の Cloud Functions は、第 1 世代の全リージョンに加え、フィンランド(europe-north1)やオランダ(europe-west4)を含む新しいリージョンで利用できるようになります。
拡張性と移植性 - Cloud Run のスケーラブルなコンテナ プラットフォームを活用することで、第 2 世代の Cloud Functions はニーズの変化に応じてファンクションを Cloud Run や Kubernetes に移行できます。
より多くのイベントソース
より多くのワークロードがクラウドに移行するに伴い、より多くのイベントソースを接続する必要があります。第 2 世代の Cloud Functions は、Eventarc を使用して第 1 世代の 14 倍のイベントソースをサポートし、ビジネス クリティカルでイベント ドリブンなワークロードに対応します。
第 2 世代 Cloud Functions のイベントに関する主な特長は次のとおりです。
125 以上のイベントソース: 第 2 世代の Cloud Functions は、増え続けている Google やサードパーティによる SaaS イベントソース(Eventarc 経由)やカスタムソースからのイベント(Pub/Sub に直接公開)からトリガーできます。
一貫したデベロッパー エクスペリエンスのための標準ベースのイベント スキーマ: これらのイベント ドリブン ファンクションは、業界基準の CloudEvents 形式を活用できます。イベントの公開と使用に関する共通の標準ベースのイベント スキーマがあることで、イベント処理コードを大幅に簡素化できます。
CMEK サポート: Eventarc は顧客管理の暗号鍵をサポートしており、自身のみアクセスが可能な独自管理の暗号鍵を使用してイベントを暗号化できます。
Eventarc が新しいイベント プロバイダを追加すると、第 2 世代の Cloud Functions でも利用可能になります。最近、Eventarc は Firebase Realtime Database、DataDog、Check Point CloudGuard、LaceWork、ForgeRockを追加し、イベントソースとして Firebase Stripe / Revenuecat の拡張機能を追加しました。
向上したデベロッパー エクスペリエンス
第 2 世代の Functions では、第 1 世代と同じ UI と gcloud コマンドが使用できるため、1 か所からすぐに開始できます。また、UI に大幅な改善も加えられています。
Eventarc サブタスク - 作成中にファンクションがトリガーされる方法を容易に検出し、構成できます。
デプロイ トラッカー - デプロイのステータスを表示し、デプロイ中にエラーが発生した場合、速やかに発見できます。
改善したテストタブ - サンプル ペイロードを使用したファンクションの呼び出しを簡略化します。
カスタマイズ可能なダッシュボード - 重要な指標の概要が提供され、ユーザー補助機能に関する最新情報によりスクリーン リーダーのエクスペリエンスが向上します。
第 1 世代と同様に、オープンソースの Functions Framework を使用することで開発時間を大きく短縮し、ローカルでファンクションを開発できます。
まとめ
第 2 世代の Cloud Functions により、デベロッパーは任意の場所からあらゆるものに接続し、重要な作業をこなせるようになります。この例では、第 2 世代 Cloud Functions と Eventarc の新機能を使用したイベント ドリブンなソリューションのエンドツーエンドのアーキテクチャを示します。
まず、プログラムで応答するデータソースを特定することから始めます。これらは、Eventarc がサポートする 125 以上の Google Cloud やサードパーティのソースのいずれかになります。その後、ワークロードに応じてインスタンスのサイズ、同時実行、処理時間を指定しながら、トリガーを構成し、ファンクションをコーディングします。ファンクションにより、Google Cloud の AI とデータ プラットフォームを使用してデータを処理、保存し、データを行動につながるインサイトに変換できます。
新しい Cloud Functions を使ってみる
Cloud Functions は、エンタープライズ アプリケーションのこれからの構築方法を示すべく開発されたものです。第 2 世代には、お客様からいただいたフィードバックが反映されており、コンピューティング容量、設定、イベントソースの増加のニーズに対応することで、デベロッパー エクスペリエンスの向上を図っています。皆様が第 2 世代の Functions でどのようなものを構築されるのかとても楽しみにしております。Cloud Functions について詳しくは、こちらのドキュメントをご覧いただくか、クイックスタート: Cloud Functions をご利用ください。
- Google Cloud プロダクト管理ディレクター Vidya Nagarajan Raman
- Google Cloud プロダクト マネージャー Jaisen Mathai