Google Cloud 部署範本

Last reviewed 2024-11-20 UTC

身為雲端架構師或決策者,您在 Google Cloud 中規劃部署應用程式時,需要選擇適合應用程式的部署原型1。本指南說明六種部署原型:可用區、區域、多區域、全球、混合式和多雲端,並介紹每種部署原型的用途和設計考量。本指南也提供比較分析,協助您選擇符合可用性、成本、效能和營運效率需求的部署原型。

什麼是部署原型?

部署原型是抽象的供應商獨立模型,您可做為基礎,建構符合業務和技術需求的應用程式專屬部署架構。每個部署原型都會指定應用程式可執行的故障網域組合。這些故障網域可以是一或多個Google Cloud 區域或地區,也可以擴充至其他雲端供應商的內部部署資料中心或故障網域。

下圖顯示部署在 Google Cloud中的六個應用程式。每個應用程式都會使用符合特定需求的部署原型。

使用不同部署原型部署 Google Cloud 中的應用程式。

如上圖所示,在採用混合雲或多雲部署原型的架構中,雲端拓撲會以基本原型為基礎,包括可用區、區域、多區域或全球。從這個意義上來說,混合雲和多雲端部署原型可視為複合部署原型,其中包含一個基本原型。

選擇部署原型有助於簡化後續決策,決定應使用的 Google Cloud 產品和功能。舉例來說,如果是高可用性的容器化應用程式,選擇區域部署原型時,區域 Google Kubernetes Engine (GKE) 叢集會比區域 GKE 叢集更適合。

為應用程式選擇部署原型時,您需要考量可用性、成本和作業複雜度等因素之間的取捨。舉例來說,如果應用程式服務的對象遍及多個國家/地區,且需要高可用性,您可能會選擇多區域部署原型。但如果是供單一地理區域的員工使用的內部應用程式,您可能會優先考量成本而非可用性,因此選擇區域部署原型。

部署作業原型總覽

以下分頁提供部署原型定義,以及各原型的用途和設計考量摘要。

可用區

應用程式會在單一 Google Cloud 區域內執行,如下圖所示:

可用區部署原型
用途
  • 開發和測試環境。
  • 不需要高可用性的應用程式。
  • 應用程式元件之間的低延遲網路。
  • 遷移一般工作負載。
  • 使用授權受限軟體的應用程式。
設計須知
  • 可用區中斷期間的停機時間。

    為確保業務持續運作,您可以在同一區域的其他可用區中,佈建應用程式的被動副本。如果發生可用區中斷情形,您可以使用被動副本將應用程式還原至正式環境。

更多資訊

請參閱下列各節:

區域

如以下圖表所示,您的應用程式會在單一Google Cloud 區域內的兩個或多個區域中獨立執行:

區域部署原型
用途
  • 高可用性應用程式,可為特定地理區域內的使用者提供服務。
  • 符合資料落地和資料主權需求。
設計須知
  • 區域中斷期間的停機時間。

    為確保業務持續運作,您可以將應用程式和資料備份到其他區域。如果發生區域性服務中斷,您可以使用其他區域的備份,將應用程式還原至實際工作環境。

  • 佈建及管理備援資源的成本和工作量。
更多資訊

請參閱下列各節:

多區域

您的應用程式會在兩個或更多Google Cloud 區域的多個可用區中獨立執行。您可以使用 DNS 轉送政策,將傳入流量轉送至區域負載平衡器。區域性負載平衡器接著會將流量分配給應用程式的區域副本,如下圖所示:

多區域部署原型
用途
  • 高可用性應用程式,使用者分散在不同地理區域。
  • 需要低使用者延遲體驗的應用程式。
  • 使用設有地理圍欄的 DNS 轉送政策,確保符合資料落地和資料主權需求。
設計須知
  • 跨區域資料移轉和資料複製的費用。
  • 作業複雜度。
更多資訊

請參閱下列各節:

全球

您的應用程式會在全球各區域執行,可以是全球分散式 (不瞭解位置) 堆疊,也可以是區域隔離式堆疊。 Google Cloud全域 Anycast 負載平衡器會將流量分配至最靠近使用者的區域。應用程式堆疊的其他元件也可以是全域元件,例如資料庫、快取和物件儲存空間。

下圖顯示全域部署原型在全球各地分散的變體。全域 Anycast 負載平衡器會將要求轉送至分散在多個區域的應用程式堆疊,並使用全域複製的資料庫。

全球部署原型:全球分散式堆疊

下圖顯示全域部署原型變體,其中應用程式堆疊在區域中隔離。全域 Anycast 負載平衡器會將要求轉送至其中一個區域的應用程式堆疊。所有應用程式堆疊都使用單一的全球複製資料庫。

全球部署原型:區域隔離堆疊
用途
  • 為全球各地使用者提供服務的高可用性應用程式。
  • 使用全域資源而非多個區域資源執行個體,有助於節省成本並簡化作業。
設計須知 跨區域資料移轉和資料複製的費用。
更多資訊

請參閱下列各節:

混合

應用程式的某些部分會部署在 Google Cloud,其他部分則會在內部部署環境中執行,如下圖所示。 Google Cloud 中的拓撲可使用區域、地區、多地區或全球部署原型。

混合式部署原型
用途
  • 地端部署工作負載的災難復原 (DR) 站點。
  • 雲端應用程式的地端開發作業。
  • 逐步將舊版應用程式遷移至雲端。
  • 運用雲端功能強化內部部署應用程式。
設計須知
  • 設定難易度和運作複雜度。
  • 多餘資源的費用。
更多資訊

請參閱下列各節:

多雲端

應用程式的部分內容部署在 Google Cloud,其他部分則部署在其他雲端平台,如下圖所示。每個雲端平台中的拓撲都可以使用可用區、區域、多區域或全球部署原型。

多雲端部署原型
用途
  • Google Cloud 做為主要網站,另一個雲端則做為 DR 網站。
  • 運用進階 Google Cloud 功能強化應用程式。
設計須知
  • 設定難易度和運作複雜度。
  • 備援資源和跨雲端網路流量的費用。
更多資訊

請參閱下列各節:

貢獻者

作者:Kumar Dhanagopal | 跨產品解決方案開發人員

其他貢獻者:


  1. Anna Berenberg 和 Brad Calder,《Deployment Archetypes for Cloud Applications》,ACM Computing Surveys,第 55 卷,第 3 期,文章編號:61,第 1-48 頁