本節的Google Cloud 部署架構指南會比較部署架構的可用性、防範中斷的穩定性、成本和營運複雜度。
下表彙整了基本部署原型的比較分析結果,包括可用區、區域、多區域和全球。對於混合雲和多雲拓撲,用於拓撲Google Cloud 部分的部署原型會影響可用性、防範中斷的穩定性、成本和作業複雜度。
| 設計須知 | 可用區 | 區域 | 多區域 | 全球 | 
|---|---|---|---|---|
| 基礎架構可用性 | 99.9% (3 個 9) | 99.99% (4 個 9) | 99.999% (5 個 9) | 99.999% (5 個 9) | 
| 基礎架構在區域中斷時的穩定性 | 以小時或天數為單位的 RTO | 如果複製作業是同步進行,RTO 幾乎為零 | 如果複製作業是同步進行,RTO 幾乎為零 | 如果複製作業是同步進行,RTO 幾乎為零 | 
| 基礎架構在區域服務中斷時的穩定性 | 以小時或天數為單位的 RTO | 以小時或天數為單位的 RTO | 如果複製作業是同步進行,RTO 幾乎為零 | 如果複製作業是同步進行,RTO 幾乎為零 | 
| 資源成本 Google Cloud | 低 | 中 | 高 | 中 | 
| 作業複雜度 | 比其他部署原型更簡單 | 比可用區更複雜 | 比區域性更複雜 | 可能比多地區更簡單 | 
下列各節將說明比較分析,並摘要列於上表。
基礎架構可用性
以下各節說明不同部署原型之間的基礎架構可用性差異。
可用區、區域、多區域和全域部署原型
Google Cloud 基礎架構的建構目標是:使用區域部署原型時,工作負載的可用性達 99.9%;區域部署時,工作負載的可用性達 99.99%;多區域和全球部署時,工作負載的可用性達 99.999%。這些可用性數字是平台層級基礎架構的目標。
在Google Cloud 中部署的應用程式可用的可用性,取決於下列因素 (部署原型除外):
- 應用程式設計
- 應用程式堆疊中相互依存的層級數量
- 正常運作時間 服務水準協議 (SLA) 適用於 Google Cloud 使用的服務
- 備援資源數量
- 資源的位置範圍
詳情請參閱「Google Cloud 中的可靠性建構區塊 Google Cloud」。
混合雲和多雲端部署架構
如果是混合雲或多雲端拓撲,整體可用性取決於每個環境中的基礎架構,以及環境之間的相互依賴關係。
- 如果 Google Cloud中的元件與 Google Cloud外部的元件之間存在重要相互依附關係,則整體可用性會低於所有環境中可用性最低的元件。
- 如果應用程式的每個元件都部署在Google Cloud 和地端部署環境或其他雲端平台,備援機制就能確保高可用性。
基礎架構在可用區和區域服務中斷時的穩定性
以下各節說明部署原型在基礎架構持續支援工作負載方面的差異,以因應 Google Cloud 區域和地區中斷事件。
可用區部署原型
如果架構採用基本的單一區域部署原型,就無法有效防範區域中斷。您必須根據復原點目標 (RPO) 和復原時間目標 (RTO),規劃如何從可用區中斷事件復原。舉例來說,您可以在另一個 (容錯移轉) 區域中,維護基礎架構的被動或縮減規模副本。如果主要區域發生中斷,您可以將容錯移轉區域中的資料庫升級為主要資料庫,並更新負載平衡器,將流量傳送至容錯移轉區域中的前端。
區域部署原型
使用區域部署原型架構可有效防範可用區中斷。一個區域發生故障時,不太可能影響其他區域的基礎架構。如果資料是同步複製,RTO 幾乎為零。不過,如果服務中斷影響整個 Google Cloud 區域,應用程式就會無法使用。根據應用程式的 RPO 和 RTO,規劃從中斷事件復原的程序。舉例來說,您可以在不同區域中佈建基礎架構的被動副本,並在區域中斷期間啟動該副本。
多區域和全球部署作業原型
如果架構採用多區域或全域部署原型,就能有效防範區域和地區服務中斷。如果資料是同步複製,RTO 接近於零。如果應用程式以全球分散式位置無感知堆疊的形式執行,就能提供最高等級的防護,避免區域性服務中斷。
混合雲和多雲端部署架構
混合雲和多雲端架構的穩定性取決於各環境 (Google Cloud、地端和其他雲端平台) 的穩定性,以及環境之間的相互依賴關係。
舉例來說,如果應用程式的每個元件都在 Google Cloud 和另一個環境 (地端或另一個雲端平台) 中以備援方式執行,那麼應用程式就能抵禦任何 Google Cloud 中斷情形。如果 Google Cloud 中的元件與部署在內部部署環境或其他雲端平台上的元件之間存在重要相互依附關係,則針對 Google Cloud 中斷的強健程度,取決於您用於Google Cloud 部分架構的部署原型強健程度。
資源費用 Google Cloud
應用程式所需的 Google Cloud 資源費用取決於您使用的 Google Cloud 服務、佈建的資源數量、保留或使用資源的期間,以及您選擇的部署原型。如要估算以任何部署原型為基礎的架構中Google Cloud 資源費用,可以使用 Google Cloud Pricing Calculator。
以下各節說明不同部署原型之間的Google Cloud 資源成本差異。
可用區、區域和多區域部署作業原型
與使用區域部署原型架構相比,使用多區域部署原型架構可能會產生額外的備援儲存空間費用。此外,如果任何網路流量跨越區域界線,您也需要考量跨區域資料移轉費用。
全球部署原型
透過這個原型,您有機會使用高可用性的全域資源,例如全域負載平衡器。與您佈建及設定多個區域資源執行個體的多區域部署相比,設定及運作雲端資源的成本可能較低。不過,在某些情況下,全球資源可能會產生較高的費用。舉例來說,全球負載平衡器需要進階級網路,但區域負載平衡器則可選擇標準級。
混合雲和多雲端部署架構
在混合式或多雲端部署架構中,您需要考慮額外費用,以及您佈建的資源費用。舉例來說,請考慮混合雲或跨雲端網路等費用,以及跨多個環境監控及管理資源的費用。
所有部署原型適用的注意事項
評估雲端工作負載的執行成本時,除了您佈建的 Google Cloud 資源成本外,還需要考量其他費用。舉例來說,請考量設計、建構及維護雲端部署作業的人事費用和管理費用。
如要比較不同部署原型之間的 Google Cloud 資源費用,請一併考量應用程式執行的每個工作單元費用。找出可反映應用程式業務驅動因素的工作單元,例如應用程式服務的使用者人數或處理的請求數。
只要妥善管理資源使用率,並採用 Google 建議的最佳做法,即可提高雲端部署作業的成本效益。 Google Cloud 詳情請參閱「Google Cloud 架構完善架構:成本最佳化」。
作業複雜度
以下各節說明部署原型之間的運作複雜度差異,這取決於您需要運作的基礎架構資源、功能和應用程式堆疊數量。
可用區、區域和多區域部署作業原型
相較於其他部署架構,以區域部署原型為基礎的架構更容易設定及運作。在多個可用區或區域中以備援方式執行的應用程式需要較高的作業工作量,原因如下:
- 您必須監控多個位置的應用程式堆疊狀態,包括堆疊層級和應用程式的每個元件。
- 如果任何位置的元件無法使用,必須妥善處理處理中的要求。
- 應用程式變更必須謹慎推出。
- 資料庫必須在所有位置保持同步。
全球部署原型
全域部署原型可讓您使用高可用性的全域資源,例如全域負載平衡器和全域資料庫。與需要管理多個地區資源執行個體的多地區部署相比,設定及運作雲端資源的工作量較低。不過,您必須謹慎管理全域資源的變更。
如果架構使用全域部署原型,則運作架構的難度取決於您部署的是不含位置資訊的分散式堆疊,還是多個區域隔離堆疊:
- 分散式應用程式不瞭解位置資訊,因此擴充和調整規模時更具彈性。舉例來說,如果特定元件只在特定位置有嚴格的端對端延遲時間要求,您可以在所需位置部署這些元件,並在其他位置運作其餘堆疊。
- 如果應用程式部署為多個區域隔離堆疊,由於下列因素,運作和維護難度會較高:
- 您必須監控多個位置的應用程式堆疊狀態,包括堆疊層級和每個元件。
- 如果任何位置的元件無法使用,必須妥善處理處理中的要求。
- 應用程式變更必須謹慎推出。
- 資料庫必須在所有位置保持同步。
 
混合雲和多雲端部署架構
相較於只使用 Google Cloud的架構,混合雲或多雲端拓撲需要更多心力設定及運作。
- 資源必須在內部部署和Google Cloud 拓撲中保持一致。
- 您需要有效率地在多個平台中佈建及管理資源。Terraform 等工具可協助減少佈建工作。
- 雲端平台提供的安全防護功能和工具不盡相同。您的安全管理員需要具備相關技能和專業知識,才能管理您使用的所有雲端平台中分散的資源安全。