はじめに
先日GAEでハンズオンを行ったので、「今度はGoogle Cloud Runで試してみよう」と思い、公式リファレンスを読み進めていたのですが、「Cloud RunとGAE フレキシブル環境って何が違うの...?」と、よく分からなくなってしまいました。
そこで、私自身の思考整理を兼ねて、GAE スタンダード環境・フレキシブル環境と、Cloud Runの特徴を整理します。
比較表
特徴 | GAE スタンダード環境 | GAE フレキシブル環境 | Cloud Run |
---|---|---|---|
自動スケーリング | 対応 | 対応 | 対応 |
スケール・トゥ・ゼロ | 対応 | 非対応 | 対応 |
最大インスタンス数 | 2147483647 | 明確な上限なし1 | 明確な上限なし2 |
課金 | インスタンス時間 | インスタンスのvCPU等リソース使用量 | インスタンスベース or リクエストベースの従量課金 |
無料枠 | あり | なし | あり |
vCPU | 最大1コア(4.8GHz、vCPU 2コア程度) | 最大80コア3 | 最大8コア |
メモリ | 最大3GB | vCPUあたり最大6.5GB3 | 最大32GB |
実行環境 | サンドボックス | Dockerコンテナ | Dockerコンテナ |
ソースのデプロイ | 可 | 可 | 可 |
コンテナイメージのデプロイ | 不可 | 可 | 可 |
詳細は以下の公式ドキュメントをご参照ください。
所感
Cloud RunはGAEを改善するために設計されたものだそうですが、手軽さはGAE スタンダード環境に軍配が上がりそう。GAE フレキシブル環境との比較になると、Cloud Runの方が上位互換に近い印象があるため、用途に応じて、GAE スタンダード環境とCloud Runのいずれかを使い分けるのが良さそうです。