Google Cloud Well-Architected Framework 的成本最佳化支柱中,這項原則提供相關建議,協助您規劃及佈建資源,以符合雲端工作負載的需求和消耗模式。
原則總覽
如要盡量節省雲端資源費用,您必須徹底瞭解工作負載的資源需求和負載模式。瞭解這些資訊後,您就能定義完善的成本模型,預測總持有成本 (TCO),並在採用雲端的過程中找出費用增加原因。主動分析及預測雲端支出,有助您根據資訊做出資源佈建、使用率和成本最佳化方面的決策。這種做法可讓您控管雲端支出、避免過度佈建,並確保雲端資源符合工作負載和環境的動態需求。
建議
如要有效最佳化雲端資源用量,請考慮下列建議。
選擇環境專屬資源
每個部署環境對可用性、可靠性和擴充性的要求都不同。舉例來說,開發人員可能偏好能快速部署及執行應用程式的環境,但不需要高可用性。另一方面,正式環境通常需要高可用性。為盡量提高資源使用率,請根據業務需求定義環境專屬需求。下表列出環境專屬的規定示例。
環境 | 規定 |
正式版 |
|
開發和測試 |
|
其他環境 (例如測試和 QA) |
|
選擇工作負載專屬資源
您的每個雲端工作負載可能對可用性、擴充性、安全性和效能有不同要求。如要盡量節省費用,請根據各工作負載的具體需求,選擇合適的資源。舉例來說,無狀態應用程式可能不需要與有狀態後端相同的可用性或可靠性。下表列出更多工作負載專屬需求的範例。
工作負載類型 | 工作負載需求 | 資源選項 |
重要業務 | 持續可用性、強大的安全性與高效能 | Spanner 等進階資源和代管服務,可確保資料的高可用性和全球一致性。 |
非重要 | 符合成本效益且可自動調度的基礎架構 | 具備基本功能和暫時性資源,例如 Spot VM。 |
事件導向 | 根據目前的容量和效能需求動態調度資源 | 無伺服器服務,例如 Cloud Run 和 Cloud Run functions。 |
實驗性工作負載 | 低成本且彈性的環境,可快速進行開發、疊代、測試和創新 | 具備基本功能的資源、臨時資源 (例如先占 VM),以及設有支出上限的沙箱環境。 |
雲端的一項優點是,您可針對特定工作負載,充分運用最合適的運算效能。有些工作負載是為了充分運用處理器指令集而開發,有些則可能並非如此設計。請據此為工作負載建立基準和設定檔。將工作負載分類,並根據工作負載選擇資源 (例如為 Compute Engine VM 選擇合適的機器系列)。這項做法有助於節省成本、推動創新,並維持工作負載所需的可用性和效能水準。
以下是實作這項最佳化建議的範例:
- 如果重要業務工作負載要服務全球各地的使用者,建議使用 Spanner。Spanner 可確保所有區域的資料可靠且一致,因此您不必進行複雜的資料庫部署作業。
- 對於負載量波動的工作負載,請使用自動調度資源功能,確保負載量偏低時不會產生費用,同時維持足夠的容量來因應目前的負載。您可以為許多Google Cloud 服務設定自動調度資源,包括 Compute Engine VM、Google Kubernetes Engine (GKE) 叢集和 Cloud Run。設定自動調度時,您可以設定調度上限,確保費用維持在指定預算內。
依據費用需求選取區域
針對雲端工作負載,請仔細評估可用的 Google Cloud區域,並選擇符合成本目標的區域。成本最低的區域可能無法提供最佳延遲時間,或不符合永續發展需求。根據這些資訊做出明智決策,判斷要在何處部署工作負載,以達到理想的平衡。您可以使用Google Cloud 區域挑選器,瞭解成本、永續性、延遲和其他因素之間的取捨。
使用內建的成本最佳化選項
Google Cloud 產品提供內建功能,可協助您最佳化資源用量及控管成本。下表列出部分 Google Cloud 產品提供的成本最佳化功能示例:
產品 | 成本最佳化功能 |
Compute Engine | |
GKE | |
Cloud Storage | |
BigQuery |
|
Google Cloud VMware Engine |
|
充分善用共用資源
為盡量提高雲端資源的使用率,您可以在同一基礎架構上部署多個應用程式或服務,同時滿足應用程式的安全性和其他需求。舉例來說,在開發和測試環境中,您可以使用相同的雲端基礎架構,測試應用程式的所有元件。在正式環境中,您可以將每個元件部署到不同的資源集,以限制事件發生時的影響範圍。
以下是實作這項最佳化建議的範例:
- 為多個非正式環境使用單一 Cloud SQL 執行個體。
- 啟用 GKE 中的機群團隊管理功能,並設定適當的存取權控管機制,即可讓多個開發團隊共用一個 GKE 叢集。
- 使用 GKE Autopilot,充分運用 GKE 預設採用的成本最佳化技術,例如裝箱和自動調度。
- 對於 AI 和機器學習工作負載,請使用GPU 共用策略 (例如多執行個體 GPU、分時 GPU 和 NVIDIA MPS),節省 GPU 費用。
開發及維護參考架構
建立並維護參考架構存放區,根據不同部署環境和工作負載類型的需求量身打造。為簡化個別專案的設計和實作程序,藍圖可由雲端卓越中心 (CCoE) 等團隊集中管理。專案團隊可以根據明確定義的條件選擇合適的藍圖,確保架構一致性並採用最佳做法。如需專案專屬的規定,專案團隊和中央架構團隊應合作設計新的參考架構。您可以在整個機構中分享參考架構,促進知識交流,並擴充可用解決方案的存放區。這種做法可確保一致性、加快開發速度、簡化決策程序,並提高資源使用效率。
請參閱 Google 針對各種用途和技術提供的參考架構。這些參考架構採用資源選取、大小、設定和部署的最佳做法。使用這些參考架構,可加快開發程序,並從一開始就節省成本。
使用機構政策強制執行成本控管
建議使用機構政策,限制團隊成員可使用的 Google Cloud 地點和產品。這些政策可確保團隊採用經濟實惠的解決方案,並在符合成本效益目標的地點佈建資源。
預估實際預算並設定財務限制
為每個專案、工作負載和部署環境制定詳細預算。請確保預算涵蓋雲端作業的所有層面,包括基礎架構成本、軟體授權、人事和預期成長。為避免支出過度,並確保符合財務目標,請為專案、服務或特定資源設定明確的支出上限或門檻。請定期監控雲端支出是否超出這些限制。您可以透過主動配額快訊及早發現潛在的費用超支問題,並及時採取修正措施。
除了設定預算,您也可以使用配額和限制,協助落實成本控管,並防止支出意外暴增。您可以在不同層級 (包括專案、服務,甚至是特定資源類型) 設定配額,精細控管資源用量。
以下是實作這項最佳化建議的範例:
- 專案層級配額:在專案層級設定支出上限或資源配額,建立整體財務界線,並控管專案中所有服務的資源消耗量。
- 服務專屬配額:為特定服務 (例如 Compute Engine 或 BigQuery) 設定配額,限制可佈建的執行個體、CPU 或儲存空間容量數量。 Google Cloud
- 資源類型專屬配額:為個別資源類型 (例如 Compute Engine VM、Cloud Storage 值區、Cloud Run 執行個體或 GKE 節點) 套用配額,限制資源用量,避免費用超出預期。
- 配額快訊:當專案層級的配額用量達到最大值的某個百分比時,系統會傳送通知。
搭配使用配額和限制、預算和監控功能,即可建立主動式多層成本控管方法。這種做法有助於確保雲端支出維持在定義的範圍內,並符合業務目標。請注意,這些費用控管措施並非永久或嚴格的措施。為確保成本控制措施符合目前的業界標準,並反映不斷變化的業務需求,請務必定期檢查控制措施,並進行調整,納入新技術和最佳做法。