- Google Cloud Functions is now Cloud Run functions | Google Cloud Blog
- With Cloud Run functions, you can write and deploy functions directly with Cloud Run, giving you complete control over the underlying service configuration.
[GCP] Cloud RunとCloud Run Function(旧Cloud Function)の課金構造
最近GCPでは、Cloud RunとCloud Functionに関するUI統合を発表しました。
機能的に両者を区別すると、基本的にCloud Runは1つのDockerイメージを実行するサーバーレスプラットフォームであり、Cloud Functionは一部の言語(Node.js、Go、.Net、Java、PHP、Python、Ruby)に関するコードスニペット(関数)を実行するプラットフォームです。
そのため、基本的な実行方式が少し異なります。Cloud Runの場合、イメージを起動した後、そのイメージに呼び出しを行う方式で行われます。そのため、必要に応じて1つのコンテナが複数の呼び出しを同時に実行できます。(言い換えると、1つの呼び出しが実行されている間にも、複数の新しい呼び出しが流入可能という意味です。)
逆にCloud Functionの場合、1つの関数を呼び出す方式なので、例えば10個の命令を実行するには10個のコンテナが必要な構造です。
したがって、Cloud Functionは本当に軽く使いたい場合や、単一呼び出しの高速なコールドスタートが必要な場合は有利で、逆に大規模なプロセスを処理する必要がある場合や、比較的少し遅れても構わない場合はCloud Runが有利です。
では、重要な価格はどのようになるのでしょうか?
(元からそう設計したのでしょうが…)
基本的に、両者とも呼び出し価格は100万件あたり0.4ドルです。
また、同じメモリを1日フルで使用すると仮定した場合、0.216ドルです。
では、vCPUは?
Cloud Functionは1GHz/1日あたり0.864ドルです。(Cloud Functionは使用クロックによって課金が異なります。)
Cloud Runは1Core/1日あたり2.07ドルです。つまり、Cloud Runは2.4GHzを使用すると見なせます。(実際の公式ドキュメントにも1vCPUは2.4GHzと記載されています。)
結果として、2つのサービス(Cloud Run、Cloud Function)は課金方式は完全に同一であり、単にサービスの方向が異なるだけであることが分かります。
したがって、今回の統合後も、自分が使用する方式に応じて2つのサービスを選択すれば、より安価で効率的なサービス構成が可能になりそうです。
コメント0