Google Cloud でのアプリのホスティング

Google Cloud は、アプリケーションのホスティングのための幅広いオプションを提供しています。以下の表で、お客様のニーズに合ったオプションをご確認ください。


ユースケース

何から始めたらよいか、お困りの場合 以下の一般的なシナリオをご確認ください。
HTTP サービスとバックエンド アプリ
ウェブ フレームワーク、マイクロサービス
例:
  • Flask
  • Django
  • Express.js
  • Symfony
  • Spring Boot
App Engine スタンダード環境
  • 需要の急増に応じたスケーリング
  • 従量課金制
  • API エンドポイントをサポート
Google App Engine ドキュメント
イベント ドリブンなアプリおよびデータ処理アプリ
ユーザーが生成したデータとイベントの操作
例:
  • GitHub コミットに応答して Slack チャネルにコメントを投稿
  • 統計分析
  • 画像サムネイルの生成
Cloud Functions
  • イベント ドリブンなワークロード向けに設計
  • 需要の急増に応じたスケーリング
  • 最小減の構成
Google Cloud Functions クイックスタート
コンテナベースのアプリとサービス
マルチクラウド インフラストラクチャの業界標準パッケージ
例:
  • Rust、Kotlin、C++、Bash などのカスタムのランタイム環境
  • Python 2.7、Java 7 などの言語を使用した従来のウェブアプリ
Cloud Run(フルマネージド)
  • 業界標準の Docker コンテナをサポート
  • コンテナ化されたアプリを自動的にスケーリング
  • カスタムのバイナリとシステムの依存関係
  • API エンドポイントをサポート
Cloud Run(フルマネージド) クイックスタート
オンプレミスおよびモノリシック ワークロード
既存のインフラストラクチャ要件を満たす未加工のコンピューティング
例:
  • リレーショナル データベース、SAP HANA
  • CRM システム
  • 以前の ERP システム
Compute Engine
Google Compute Engine チュートリアル
セルフホスト型のスケーラブルなインフラストラクチャ
サーバーレスのスケーラビリティを備えたセルフマネージド ホスティング
例:
  • カスタム ハードウェアおよびソフトウェア(OS、GPU)を必要とするコンテナ化されたアプリ
  • 既存のコンテナ化されたステートレス アプリ
  • ゼロ状態へのスケーリングのメリットを持つ Kubernetes Engine 上のアプリ
Cloud Run for Anthos on Google Cloud
  • 業界標準の Docker コンテナ パッケージ
  • 従来のワークロードと構成に合わせて高度に構成可能
  • 需要の増減に応じてスケール
Cloud Run for Anthos on GCP クイックスタート
β
ベータ版ソフトウェアは SLA の対象でなく、本番環境のワークロードに適さない場合があります。

ホスティング オプション

多くのワークロードには、それぞれ固有の技術要件があります。 プラットフォームの順序は抽象度順です。
Compute Engine Kubernetes Engine(GKE) Cloud Run for Anthos on Google Cloud Cloud Run(フルマネージド) App Engine フレキシブル環境 App Engine スタンダード環境 Cloud Functions
デプロイ形式
VM イメージ
クラスタ
コンテナ
コンテナ

アプリ

または

コンテナ

アプリ
関数
カスタム URL
ゼロへのスケーリング
~
1
無料枠
永続ディスク
2
WebSocket
~
3
β
β
あらゆる言語で実行
リクエストのタイムアウト
なし
なし
15 分
60 分
60 分
1 分
9 分
バックグラウンド プロセス
~
4
TPU / GPU アクセス
~
3
VPC 接続
1
Cloud Run for Anthos on Google Cloud はポット数をゼロにスケールします。クラスタごとのノードの数はゼロにスケールできないので、このようなノードはリクエストがない期間も課金対象となります。
2
GKE 上のコンテナ インスタンスは、シャットダウン時にデータを保持しません。 ただし、Compute Engine の永続ディスクは GKE 上のコンテナ インスタンスにマウントできます。
3
Cloud Run for Anthos on Google Cloud では、WebSocket の使用と TPU / GPU アクセスは技術的に可能ですが、公式にはサポートされていません
4
App Engine スタンダード環境では、基本および手動のスケーリング モードのバックグラウンド タスクがサポートされています。
β
ベータ版ソフトウェアは SLA の対象でなく、本番環境のワークロードに適さない場合があります。

主な用語

デプロイ形式

特定のプラットフォームへのデプロイ時にコードはどのようにパッケージ化されますか?

  • VM イメージ - 基盤となる OS を含むファイル システム全体のスナップショット。
  • コンテナ - 基盤となる OS から分離されたポータブルなクロス プラットフォーム型のファイル システム。
  • アプリ - 1 つ以上のユースケースがある、ディレクトリ内の 1 つのサービス。
  • 関数 - 単一のユースケースにそれぞれ対応する個々のコード スニペット。

カスタム URL

マルチレイヤの URL パス(/abc/def など)の作成や、独自のドメイン名の使用は可能ですか?

永続ディスク

インスタンスのシャットダウン時にディスクの状態を保存できますか?またはインスタンス外に長期データを保存する必要がありますか?

ゼロへのスケーリング

このプロダクトではゼロのインスタンスにスケールして、リクエストがない期間に料金が発生しないようにできますか?

WebSocket

このプロダクトは WebSocket プロトコルをサポートしていますか?

あらゆる言語で実行

このプロダクトは、任意のプログラミング言語でコードを実行できますか?

リクエストのタイムアウト

プラットフォームがアプリケーションのコードからの応答を待つ最長時間はどれくらいですか?

バックグラウンド プロセス

このプロダクトは、リクエスト期間外に進行中のバックグラウンド操作を実行できますか?

GPU と TPU の使用

このプロダクトは、GPU/TPU 向けに最適化されたワークロードのハードウェア アクセラレーションをサポートしていますか?

VPC 接続

このプロダクトは Virtual Private Cloud 内のリソースにアクセスできますか?