讓 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
  • 客戶關係管理系統
  • 舊有的企業資源規劃系統
Compute Engine
Google Compute Engine 教學課程
自行託管式的可擴充基礎架構
自助託管,且具備無伺服器擴充能力
例子:
  • 需要自訂硬體和軟體 (OS、GPU) 的容器化應用程式
  • 現有的容器化無狀態應用程式
  • Kubernetes Engine 上可受益於零資源調用率的應用程式
Cloud Run for Anthos on Google Cloud
  • 符合業界標準的 Docker 容器封裝
  • 針對舊有工作負載具有高度的設定彈性
  • 依需求調度資源
Cloud Run for Anthos on GCP 快速入門導覽課程
β
Beta 版軟體沒有任何服務水準協議,可能不適合用於實際工作負載。

代管選項

許多工作負載都有特定的技術相關規定。平台依抽象化程度來排序。
Compute Engine Kubernetes Engine (GKE) Cloud Run for Anthos on Google Cloud Cloud Run (全代管) App Engine 彈性環境 App Engine 標準環境 Cloud Functions
部署格式
VM 映像檔
叢集
容器
容器

應用程式

容器

應用程式
函式
自訂網址
將資源調用率降至零
~
1
免費方案
永久磁碟
2
WebSocket
~
3
β
執行任何語言
要求逾時
15 分鐘
15 分鐘
60 分鐘
1 分鐘
9 分鐘
背景程序
~
4
TPU/GPU 存取權
~
3
虛擬私人雲端連線能力
β
1
Cloud Run for Anthos on Google Cloud 將 pod 計數降至零。每叢集的節點計數無法降至零,因此即使在無要求期間,這些節點仍會照常計費。
2
GKE 上的容器執行個體關機後不會保留資料。 不過,您可以將 Compute Engine 永久磁碟掛接到 GKE 上的容器執行個體
3
雖然技術上可以在 Cloud Run for Anthos on Google Cloud 上使用 WebSocket 及存取 TPU/GPU,不過這兩個部分並未獲得官方正式支援。
4
App Engine 標準環境支援基本模式及手動資源調度模式的背景工作。
β
Beta 版軟體沒有任何服務水準協議,可能不適合用於實際工作負載。

重要詞彙

部署格式

將部署發布到特定平台時,您的程式碼以什麼方式封裝?

  • VM 映像檔:整個檔案系統的快照,包括基礎 OS。
  • 容器:與基礎 OS 彼此隔離的可攜式跨平台檔案系統。
  • 應用程式:一個目錄包含一項服務,具有一或多種用途。
  • 函式:各自對應到單一用途的個別程式碼片段。

自訂網址

您可以建立多層級網址路徑 (例如 /abc/def) 和/或使用自己的網域名稱嗎?

永久磁碟

執行個體關機時,系統會儲存磁碟狀態嗎?還是一定要將長期資料儲存在執行個體以外的位置

將資源調用率降至零

這個產品是否能將資源調用率降至零 (不啟動任何執行個體),以避免在無要求期間繼續產生費用嗎?

WebSocket

這個產品支援 WebSocket 通訊協定嗎?

執行任何語言

這個產品能執行任何程式設計語言的程式碼嗎?

要求逾時

平台等候應用程式程式碼回應的時間最長是多久?

背景程序

這個產品在非要求期間會持續執行背景作業嗎?

使用 GPU 和 TPU

這個產品是否針對已進行 GPU/TPU 最佳化的工作負載支援硬體加速

虛擬私人雲端連線能力

這個產品能存取虛擬私人雲端內的資源嗎?