App Engine スタンダード環境のランタイム

App Engine スタンダード環境には、2 世代のランタイム環境があります。第 2 世代のランタイムでは、App Engine の機能が大幅に改善され、第 1 世代のランタイムのいくつかの制限が取り除かれています。このページでは、第 1 世代ランタイムと第 2 世代ランタイムの類似点と相違点について説明します。

第 2 世代 第 1 世代
サポートされる言語 Python 3.7
Java 11
Node.js
PHP 7.2
Ruby(ベータ版)
Go 1.12+
Python 2.7
Java 8
PHP 5.5
Go 1.11
言語拡張と
システム ライブラリ サポート
任意の拡張またはライブラリ Python 2.7、PHP 5.5: ホワイトリスト
拡張機能とライブラリ
Java 8、Go 1.11: すべての拡張機能またはライブラリ
サポートされている API Google Cloud サービスにアクセスするには、
オープンソース Cloud クライアント ライブラリを使用します
独自の App Engine API
画像処理には、Imgix をおすすめします。
または、無料枠が必要な場合は Rethumb を使用します。
Images App Engine API
メッセージングには、SendGridMailgunMailjet などのサードパーティのメール プロバイダを使用します。 Mail App Engine API
アプリデータをキャッシュ保存するには、Cloud Memorystore インスタンスを作成し、サーバーレス VPC アクセスを使用してインスタンスをアプリに接続します。 Memcache App Engine API
検索可能なドキュメント インデックスの場合、Compute Engine 上で ElasticSearch のような全文検索データベースをホストし、サービスからアクセスします。 Search App Engine API
push キューには、Cloud Tasks を使用します。
pull キューには、Cloud Pub/Sub を使用します。
Task Queue App Engine API
ユーザー認証には、OAuth 2.0 や Firebase Authentication などの HTTP ベースの認証システムを使用します。 Users App Engine API
外部ネットワークへのアクセス フルアクセス Python 2.7, PHP 5.5: URL Fetch API 経由
Java 8、Go 1.11: 完全アクセス権
ファイル システムへのアクセス /tmp に対する読み取り / 書き込みアクセス権 Python 2.7、PHP 5.5: なし
Java 8、Go 1.11: /tmp に対する読み取り / 書き込みアクセス権
言語ランタイム 修正なし、オープンソースのランタイム App Engine 用に修正済み
分離メカニズム gVisor ベースのコンテナ サンドボックス 独自仕様

App Engine の第 1 世代ランタイムのサポート

現時点で、App Engine の追加の第 1 世代ランタイムを非推奨にする予定はありません。第 2 世代ランタイムは App Engine の今後の方向性を示していますが、第 1 世代ランタイムを使用しているデベロッパーとお客様は、サポートと機能の更新を引き続き利用できます。

第 1 世代ランタイムと第 2 世代ランタイムの類似点

  • 瞬時にスケールアップを行い、トラフィックの急増に対応できます。
  • アプリケーションは同じビルドプロセスを使用して構築されます。
  • 一般提供サービスで同じ SLA が使用されます。
  • gcloud コマンドのサポートが同じで、GCP Console インターフェースも同じです。
  • 無料枠。