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 |
Google Cloud 資源的費用 | 低 | 中 | 高 | 中 |
作業複雜度 | 比其他部署原型更簡單 | 比區域更複雜 | 比區域更複雜 | 可能比多地區更簡單 |
下列各節將說明上述表格中所列的比較分析。
基礎架構可用性
以下各節說明各部署原型架構的基礎架構可用性差異。
可用區、區域、多區域和全球部署原型
Google Cloud 基礎架構的設計目標是,在您使用區域部署原型時,為工作負載提供 99.9% 的可用性、在區域部署時提供 99.99% 的可用性,以及在多區域和全球部署時提供 99.999% 的可用性。這些可用性數字是平台層級基礎架構的目標。
除了部署原型外,Google Cloud 中部署的應用程式可預期的可用性還取決於下列因素:
- 應用程式設計
- 應用程式堆疊中相互依附層級的數量
- 使用中的 Google Cloud 服務服務水準協議 (SLA) 的正常運作時間
- 備援資源數量
- 資源的位置範圍
詳情請參閱「 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 Cloud 資源的使用情形,並採用 Google 建議的最佳做法,就能將雲端部署作業的成本降到最低。詳情請參閱「Google Cloud 架構良好的架構:成本最佳化」。
作業複雜度
以下各節說明部署原型之間的作業複雜度差異,這取決於您需要操作的基礎架構資源、功能和應用程式堆疊數量。
可用區與區域/多區域部署模式
相較於其他部署架構,以區域部署原型架構為基礎的架構更容易設定及操作。在多個可用區或區域中執行備援應用程式,需要較高的運作作業量,原因如下:
- 必須監控多個位置的應用程式堆疊狀態,包括堆疊層級和應用程式的每個元件。
- 如果任何位置的元件無法使用,則必須妥善處理程序內要求。
- 應用程式變更必須謹慎推出。
- 資料庫必須在所有位置同步處理。
全球部署原型
全域部署範本可讓您使用全域負載平衡器和全域資料庫等高可用性全域資源。設定及操作雲端資源的作業量,可能比需要管理多個地區資源執行個體的多地區部署作業來得少。不過,您必須謹慎管理全域資源的變更。
使用全域部署原型架構的運作方式,也取決於您部署的是分散式位置不相干的堆疊,還是多個區域隔離的堆疊:
- 分散式位置不明應用程式可提供更彈性的擴充和調整功能。舉例來說,如果某些元件只有在特定位置有重要使用者延遲時間需求,您可以在需要的位置部署這些元件,並在其他位置操作堆疊的其餘部分。
- 應用程式以多個區域隔離的堆疊部署時,由於下列因素,因此需要投入更多心力進行操作和維護:
- 必須監控多個位置的應用程式堆疊狀態,包括堆疊層級和每個元件。
- 如果任何位置的元件無法使用,則必須妥善處理處理中的要求。
- 應用程式變更必須謹慎推出。
- 資料庫必須在所有位置同步處理。
混合式雲端與多雲端部署原型
相較於只使用 Google Cloud的架構,混合式雲端或多雲端拓撲的設定和運作作業需要耗費更多心力。
- 資源必須在內部部署和Google Cloud 拓樸之間一致管理。如要管理容器化混合應用程式,您可以使用 GKE Enterprise 等解決方案,這是一種統一的雲端運作模式,可在多個位置佈建、更新及最佳化 Kubernetes 叢集。
- 您需要一種方法,在多個平台上有效地佈建及管理資源。Terraform 等工具可協助減少佈建作業的負擔。
- 安全防護功能和工具並非所有雲端平台的標準配備。安全性管理員必須具備相關技能和專業知識,才能管理您所使用的所有雲端平台中分散的資源安全性。