其他考量

Last reviewed 2025-01-23 UTC

本文件會強調核心設計考量,這些考量在塑造整體混合式和多雲端架構時扮演關鍵角色。全面分析並評估整個解決方案架構中的這些考量,涵蓋所有工作負載,而非僅限於特定工作負載。

重構

在重構遷移中,您可以修改工作負載以利用雲端功能,而不僅僅是讓工作負載得以在新環境中運作。您可以針對效能、功能、費用和使用者體驗這些方面來改進各項工作負載。如重構:遷移及改善一文所述,在某些重構情況下,您可以先修改工作負載,再將其遷移至雲端。這種重構方法可提供下列優點,尤其是如果您的目標是建構混合式架構做為長期目標架構時:

  • 您可以改善部署程序。
  • 您可以投資持續整合/持續部署 (CI/CD) 基礎架構和工具,加快發布速度並縮短意見回饋週期。
  • 您可以使用重構做為基礎,建構並管理具有應用程式可攜性的混合式架構。

為了讓這種做法發揮效用,您通常需要針對內部部署基礎架構和工具進行投資。舉例來說,您可以設定本機 Container Registry,並佈建 Kubernetes 叢集,以便將應用程式容器化。在混合環境中,Google Kubernetes Engine (GKE) Enterprise 版可用於這種方法。如要進一步瞭解 GKE Enterprise,請參閱下一個章節。您也可以參閱 GKE Enterprise 混合雲端環境參考架構,瞭解詳情。

工作負載可攜性

在混合型和多雲架構中,您可能會希望在託管資料的運算環境之間轉移工作負載。如要協助在環境之間流暢移動工作負載,請考量下列因素:

  • 您可以將應用程式從一個運算環境移至另一個運算環境,而無須大幅修改應用程式及其運作模式:
    • 應用程式部署和管理方式在不同運算環境中都是一致的。
    • 在各運算環境中,可見度、設定和安全性皆保持一致。
  • 讓工作負載可攜的功能不應與雲端優先的工作負載發生衝突。

基礎架構自動化

基礎架構自動化是混合式和多雲架構的可攜性必備條件。自動化基礎架構建立作業的常見做法之一,就是透過基礎架構即程式碼 (IaC)。採用 IaC 時,您會透過檔案管理基礎架構,而非在使用者介面中手動設定資源,例如 VM、安全性群組或負載平衡器。Terraform 是一種常見的 IaC 工具,可在檔案中定義基礎架構資源。Terraform 還可讓您在異質環境中自動建立這些資源。

如要進一步瞭解可協助您自動佈建及管理 Google Cloud 資源的 Terraform 核心函式,請參閱 Terraform 藍圖和模組 Google Cloud

您可以使用 AnsiblePuppetChef 等設定管理工具,建立常見的部署和設定流程。您也可以使用 Packer 等映像檔備份工具,為不同平台建立 VM 映像檔。您可以使用單一共用設定檔,透過 Packer 和 Cloud Build 建立 VM 映像檔,用於 Compute Engine。最後,您可以使用 Prometheus、Grafana 等解決方案來確保跨環境監控的一致性。

以這些工具做為基礎,您可以組成一個常見的工具鍊,如以下邏輯圖表所示。這個通用工具鍊可抽離運算環境之間的差異。也能讓您整合佈建、部署、管理和監控作業。

工具鍊可讓應用程式具備可攜性。

雖然通用工具鍊可協助您實現可攜性,但它有以下幾個缺點:

  • 以 VM 做為共同基礎,可能會使您難以實作真正的雲端優先應用程式。此外,只使用 VM 會導致您無法使用雲端代管服務。您可能會錯失減少管理負擔的機會。
  • 建構及維護通用工具鍊會產生負擔和營運費用。
  • 隨著工具鍊的擴展,它可能會根據貴公司的需求,發展出獨特的複雜性。這種複雜度增加的情況可能會導致訓練成本增加。

在決定開發工具和自動化功能之前,請先探索雲端供應商提供的代管服務。如果您的供應商提供支援相同用途的受管理服務,您可以將部分複雜性抽象化。這樣一來,您就能專注處理工作負載和應用程式架構,而無需費心管理基礎架構。

舉例來說,您可以使用 Kubernetes 資源模型,透過宣告式設定方法自動建立 Kubernetes 叢集。您可以使用Deployment Manager 轉換功能,將 Deployment Manager 設定和範本轉換為 Google Cloud 支援的其他宣告式設定格式 (例如 Terraform 和 Kubernetes 資源模型),這樣在發布時就能移植。

您也可以考慮自動化專案建立作業,以及在這些專案中建立資源。這項自動化功能可協助您以基礎架構即程式碼的方式佈建專案。

容器和 Kubernetes

使用雲端管理功能有助於降低建構及維護自訂工具鍊的複雜度,以便實現工作負載自動化和可攜性。不過,如果只使用 VM 做為共同基礎,就很難實作真正雲端優先的應用程式。改用容器和 Kubernetes 是一個解決辦法。

當您將軟體從一個環境遷移到另一個環境時,容器能讓軟體可靠地執行。由於容器可將應用程式與底層主機基礎架構分離,因此有助於在混合雲和多雲端等運算環境中部署應用程式。

Kubernetes 會負責處理容器化應用程式的調度、部署、擴展及管理作業。屬於開放原始碼產品,由 Cloud Native Computing Foundation (雲端原生運算基金會) 管理。使用 Kubernetes 可提供雲端優先應用程式的基礎服務。您可以在許多運算環境中安裝及執行 Kubernetes,因此也可以利用 Kubernetes 來建立跨運算環境的共用執行階段層:

  • Kubernetes 在雲端或私人運算環境中可提供相同的服務和 API。此外,Kubernetes 的抽象層又比使用 VM 時高出很多,這通常可減少所需的基礎工作,並提高開發人員的生產力。
  • 與自訂工具鏈不同,Kubernetes 已廣泛應用於開發和應用程式管理作業,因此您可以利用現有的專業知識、說明文件,以及第三方支援。
  • Kubernetes 支援所有符合下列條件的容器實作:

當工作負載在 Google Cloud上執行時,您可以使用 Google Kubernetes Engine (GKE) 等代管 Kubernetes 平台,免除安裝及運作 Kubernetes 的工作。這樣一來,作業人員就能將重心從建構及維護基礎架構,轉移到建構及維護應用程式。

您也可以使用 Autopilot,這是一種 GKE 作業模式,可管理叢集設定,包括節點、資源調度、安全性和其他預先設定。使用 GKE Autopilot 時,請考慮調整需求和調整限制

從技術層面來說,您可以在許多運算環境中安裝及執行 Kubernetes,以建立通用的執行階段層。不過,實際上建構及操作這類架構可能會造成複雜性。如果您需要容器層級安全性控管 (服務網格),架構就會變得更加複雜。

如要簡化多叢集部署作業的管理方式,您可以使用 GKE Enterprise,在任何地方大規模執行現代化應用程式。GKE 包含強大的受管理開放原始碼元件,可保護工作負載、強制執行法規遵循政策,並提供深入的網路可觀察性和疑難排解功能。

如下圖所示,使用 GKE Enterprise 可讓您以車隊的方式運作多叢集應用程式

堆疊圖表顯示 GKE Enterprise 提供的機群管理商機。

GKE Enterprise 可協助您使用下列設計選項,支援混合雲和多雲端架構:

  • 在內部部署系統中設計及建構類似雲端的體驗,或提供統一解決方案,將應用程式遷移至 GKE Enterprise 混合式環境。詳情請參閱 GKE Enterprise 混合式環境參考架構

  • 您可以使用 GKE Multi-Cloud 設計及建構解決方案,透過一致的管理、作業和安全防護機制,解決多雲端的複雜問題。詳情請參閱 GKE 多雲說明文件。

GKE Enterprise 還提供類似環境的邏輯群組,可提供一致的安全性、設定和服務管理。舉例來說,GKE Enterprise 可支援零信任分散式架構。在零信任分散式架構中,部署在內部或其他雲端環境中的服務,可以透過端對端 mTLS 安全服務對服務通訊,在各環境間通訊。

工作負載可攜性考量

Kubernetes 和 GKE Enterprise 為工作負載提供抽象層,可隱藏運算環境的複雜性和差異。下列清單說明其中部分抽象化項目:

  • 應用程式可在進行最小幅度變更的情況下攜帶至不同的環境,但這並不表示應用程式在兩種環境中的效能一樣好。
    • 運算或網路基礎架構的差異,以及與相依服務的距離遠近,可能會導致兩者的效能出現很大的落差。
  • 當您在運算環境之間遷移工作負載時,可能也需要遷移資料。
    • 不同環境可能會有不同的資料儲存和管理服務和設施。
  • 使用 Kubernetes 或 GKE Enterprise 佈建的負載平衡器,其行為和效能可能會因環境而異。

資料遷移

由於在運算環境之間大量移動、共用及存取資料可能相當複雜,因此企業級公司可能會猶豫是否要建構混合式或多雲架構。如果客戶已將大部分資料儲存在地端或單一雲端中,這種猶豫不決的態度可能會更為明顯。

不過, Google Cloud提供多種資料移動選項,可為企業提供一套完整的解決方案,協助他們移動、整合及轉換資料。這些選項可協助企業根據特定用途,在不同環境中儲存、分享及存取資料。這項功能最終可讓業務和技術決策者更輕鬆地採用混合式雲端和多雲端架構。

資料移轉是混合雲和多雲端策略與架構規劃的重要考量。您的團隊需要找出不同的業務用途,以及支援這些用途的資料。您也應考慮儲存類型、容量、可用性和移動選項。

如果企業有受管制產業的資料分類,該分類可協助識別特定資料類別的儲存位置和跨區域資料移動限制。詳情請參閱「Sensitive Data Protection」。Sensitive Data Protection 是一項全代管服務,可協助您探索、分類及保護資料資產。

如要瞭解從規劃資料移轉到實施計畫的最佳做法,請參閱「遷移至 Google Cloud:轉移大型資料集」一文。

安全性

隨著企業採用混合雲和多雲架構,攻擊面可能會增加,具體取決於系統和資料在不同環境中分散的方式。加上威脅情勢不斷演變,攻擊面增加可能會導致未經授權存取、資料遺失和其他安全事件的風險增加。規劃及實施混合式或多雲端策略時,請仔細考量安全性。

詳情請參閱「 Google Cloud的攻擊面管理」。

在混合架構的設計中,將內部部署安全性方法擴展至雲端,在技術上不一定可行或可行。不過,硬體設備的許多網路安全性功能都是以雲端優先,並以分散的方式運作。如要進一步瞭解 Google Cloud的雲端優先網路安全性功能,請參閱「雲端網路安全性」。

混合雲和多雲端架構可能會帶來其他安全性挑戰,例如一致性和可觀察性。每家公有雲供應商都有自己的安全防護方式,包括不同的模型、最佳做法、基礎架構和應用程式安全性功能、法規遵循義務,甚至是安全服務名稱。這些不一致性可能會增加安全風險。此外,每個雲端服務供應商的共同責任模式也可能不同。因此,您必須找出並瞭解多雲架構中各項責任的確切劃分界線。

觀測能力是從不同環境中取得洞察資料和指標的關鍵。在多雲端架構中,每個雲端通常都會提供工具,用於監控安全性防護措施和設定錯誤。不過,使用這些工具會導致資訊孤島,無法在整個環境中建立進階威脅情報。因此,安全團隊必須在工具和資訊主頁之間切換,才能確保雲端安全。如果沒有整體的端對端安全性資訊,就很難為混合式和多雲端環境設定優先順序,並降低安全漏洞的影響。

如要取得所有環境的完整可視度和防護機制,請依安全漏洞的嚴重程度排定優先順序,並減輕所找出的安全漏洞。我們建議您採用集中式瀏覽模式。集中式可視度模型可避免您需要手動將不同平台的不同工具和資訊主頁建立關聯。詳情請參閱混合雲和多雲端的監控及記錄模式

Google Cloud的安全風險降低和工作負載部署計畫,以及協助您規劃及設計雲端解決方案,以符合安全性和法規遵循目標,歡迎探索 Google Cloud 安全性最佳做法中心企業基礎藍圖

法規遵循目標可能因產業法規和不同區域/國家/地區的法規而異。詳情請參閱 Google Cloud 法規遵循資源中心。以下是建議的幾種主要方法,可用來設計安全的混合雲和多雲端架構:

  • 制定統一的客製化雲端安全策略和架構。混合雲和多雲安全性策略應根據貴機構的具體需求和目標進行調整。

    在導入安全控管機制之前,請務必瞭解目標架構和環境,因為每個環境可能會使用不同的功能、設定和服務。

  • 考慮在混合式雲端和多雲端環境中採用統一的安全架構。

  • 標準化雲端設計和部署作業,特別是安全性設計和功能。這樣做可提高效率,並啟用統一的治理和工具。

  • 使用多項安全控管機制。

    通常,單一安全控制項無法充分滿足所有安全防護需求。因此,機構應採用層層防禦的做法,並結合多種安全控管機制。

  • 監控並持續改善安全防護機制:貴機構應監控不同環境中的安全威脅和安全漏洞。並持續改善安全防護機制。

  • 建議您使用雲端安全防護管理 (CSPM) 來找出並修復安全性設定錯誤和網路安全威脅。CSPM 也提供混合式雲端和多雲端環境的安全漏洞評估。

Security Command Center 是 Google Cloud內建的安全性與風險管理解決方案,可協助找出設定錯誤、安全漏洞等問題。安全性健康狀態分析是一項受管理的安全漏洞評估掃描工具。這是 Security Command Center 的功能,可找出Google Cloud 環境中的安全風險和安全漏洞,並提供相關建議,協助您解決這些問題。

Mandiant Attack Surface Management for Google Cloud 可讓貴機構更清楚瞭解多雲端或混合雲環境中的資產。這項服務會自動探索多個雲端服務供應商、DNS 和擴充外部攻擊面中的資產,讓企業更深入瞭解其生態系統。根據這項資訊,優先處理風險最高的安全漏洞和風險暴露。

  • 雲端安全資訊與事件管理 (SIEM) 解決方案:協助收集及分析混合式和多雲端環境中的安全性記錄,以偵測及回應威脅。 Google Cloud 的 Google Security Operations SIEM 可集中收集、分析、偵測及調查所有安全性資料,協助您提供安全資訊與事件管理服務。