選擇 App Engine 環境

您可以使用彈性環境標準環境,在 App Engine 中執行應用程式。您也可以選擇讓應用程式同時使用這兩種環境,並允許服務運用每個環境的各自優點。

App Engine 環境

App Engine 非常適合使用微服務架構設計的應用程式,特別是當您決定利用這兩種環境時。請參閱以下部分,瞭解哪個環境最符合應用程式的需求。

選擇標準環境的時機

應用程式執行個體使用以下所列支援程式語言的執行階段環境,在沙箱中執行時。

應用程式需要處理快速資源調度時。

標準環境最適合具有以下特性的應用程式:

  • 原始碼以支援的特定程式設計語言版本撰寫:
    • Python 2.7、Python 3.7
    • Java 8、Java 11 (測試版)
    • Node.js 8、Node.js 10
    • PHP 5.5、PHP 7.2 和 PHP 7.3 (測試版)
    • Ruby 2.5 (測試版)
    • Go 1.9、Go 1.11 和 Go 1.12
  • 設計目標為以免費或非常低廉的價格執行,依用量及使用時間付費。例如,如果沒有流量,應用程式會將資源調度降至 0 個執行個體。
  • 突發性的流量尖峰期間,可以立即調度資源。

選擇彈性環境的時機

應用程式執行個體在 Compute Engine 虛擬機器 (VM) 的 Docker 容器中執行時。

應用程式持續接收流量、定期遇到流量波動情形,或者符合逐漸擴充或縮減條件時。

彈性環境最適合具有以下特性的應用程式:

  • 原始碼以下列任一支援的程式設計語言版本撰寫:
    PythonJavaNode.jsGoRubyPHP.NET
  • 在 Docker 容器中執行,其中包含自訂執行階段或以其他程式設計語言撰寫的原始碼。
  • 使用或依賴某些架構,包括原生程式碼
  • 存取的 Google Cloud Platform 專案資源或服務位於 Compute Engine 網路中。

比較高階功能

下表大致列出了這兩種環境之間的差異:

功能 標準環境 彈性環境
執行個體啟動時間 分鐘
要求逾時上限 60 秒 - 瞭解詳情 60 分鐘
背景執行緒 有,但有限制
背景程序
SSH 偵錯
資源調度 手動、基本、自動 手動、自動
將資源調度降至零 無,最少 1 個執行個體
寫入至本機磁碟
  • Java 8、Java 11 (測試版)、Node.js、Python 3.7、PHP 7.2、PHP 7.3 (測試版)、Ruby 2.5 (測試版)、Go 1.11 和 Go 1.12 具有 /tmp 目錄的讀取與寫入存取權。
  • Python 2.7、Go 1.9 和 PHP 5.5 沒有磁碟的寫入存取權。
有,暫時 (磁碟於每次 VM 啟動時初始化)
修改執行階段 有 (透過 Dockerfile)
部署時間 分鐘
自動提供安全性修補程式 有 (容器映像檔執行階段除外)
可存取 App Engine API 和服務,例如 NDBUsers APIMemcacheImages API 及其他項目。
  • 對 Python 2.7、Go 1.9、PHP 5.5 和 Java 8 為有
  • 對 Java 11 (測試版)、Node.js、Python 3.7、PHP 7.2、PHP 7.3 (測試版)、Ruby 2.5 (測試版)、Go 1.11 和 Go 1.12 為無
網路存取權
  • 對 Java 8、Java 11 (測試版)、Node.js、Python 3.7、PHP 7.2、PHP 7.3 (測試版)、Ruby 2.5 (測試版)、Go 1.11 和 Go 1.12 為有。
  • Python 2.7、Go 1.9 和 PHP 5.5 (計費功能已啟用):僅透過 App Engine 服務 (包含傳出通訊端)。
支援安裝第三方二進位檔
  • 對 Java 8、Java 11 (測試版) Node.js、Python 3.7、PHP 7.2、PHP 7.3 (測試版)、Ruby 2.5 (測試版)、Go 1.11 看 Go 1.12 為有。
  • 對 Python 2.7、Go 1.9 和 PHP 5.5 為無。
地點 北美、亞太地區或歐洲 北美、亞太地區或歐洲
定價 依據執行個體時數 依據 vCPU、記憶體與永久磁碟的使用量

如需深入比較兩種環境,請參閱下列語言的指南:PythonJavaGoPHP

比較彈性環境與 Compute Engine

App Engine 彈性環境與 Compute Engine 之間存在下列差異:

  • 彈性環境 VM 執行個體每週會重新啟動一次。在重新啟動期間,Google 的管理服務會套用任何必要的作業系統與安全性更新。

  • 您一律擁有 Compute Engine VM 執行個體的根目錄存取權。根據預設,彈性環境會停用對於 VM 執行個體的 SSH 存取權。您可以選擇啟用應用程式 VM 執行個體的根目錄存取權。

  • 使用 Cloud Build 服務建構容器映像檔時,部署程式碼可能需要較長時間。

  • 彈性環境 VM 執行個體的地理區域由您為 GCP 專案的 App Engine 應用程式指定的地點決定。Google 的管理服務可以確保共置 VM 執行個體以獲得最佳效能。

從標準環境遷移至彈性環境

如果您的應用程式處於標準環境,可能會想要將某些服務移至彈性環境。請參閱 PythonJavaGoPHP 的建議以瞭解相關說明。

如要遷移特定服務,請參閱 PythonJavaGoPHP 的操作說明。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
App Engine 說明文件