Google Cloud 「Well-Architected Framework」成本最佳化支柱中的這項原則提供建議,協助您規劃及配置資源,以符合雲端工作負載的需求和使用模式。
原則總覽
如要充分運用雲端資源,您必須徹底瞭解工作負載的資源需求和負載模式。這項瞭解是明確定義成本模型的基礎,可讓您預測總擁有成本 (TCO),並在整個雲端導入過程中找出費用增加的原因。您可以主動分析及預測雲端支出,據此做出資源佈建、使用率和成本最佳化方面的明智選擇。這種做法可讓您控管雲端支出、避免過度佈建,並確保雲端資源符合工作負載和環境的動態需求。
建議
如要有效提升雲端資源使用率,請參考下列建議。
選擇特定環境的資源
每個部署環境對於可用性、可靠性和可擴充性都有不同的需求。舉例來說,開發人員可能會偏好能夠快速部署及執行應用程式的環境,但可能不需要高可用性。另一方面,正式環境通常需要高可用性。為盡量提高資源利用率,請根據業務需求定義環境專屬需求。下表列出環境特定要求的範例。
環境 | 相關規定 |
正式版 |
|
開發和測試 |
|
其他環境 (例如測試環境和品質確保環境) |
|
選擇工作負載專屬資源
每個雲端工作負載在可用性、擴充性、安全性和效能方面,可能都有不同的需求。如要盡量降低成本,您需要根據各工作負載的具體需求,選擇合適的資源。舉例來說,無狀態應用程式可能不需要像有狀態後端那樣,具備相同程度的可用性或可靠性。下表列出更多工作負載專屬需求的範例。
工作負載類型 | 工作負載需求 | 資源選項 |
對業務至關重要 | 持續可用、強大安全性和高效能 | Spanner 等頂級資源和代管服務,可確保資料的高可用性和全球一致性。 |
非重要 | 成本效益高且可自動調整資源的基礎架構 | 含有基本功能的資源,以及 Spot VM 等暫時性資源。 |
事件導向 | 根據目前對容量和效能的需求進行動態調整 | Cloud Run 和 Cloud Run 函式 等無伺服器服務。 |
實驗性工作負載 | 低成本且靈活的環境,可用於快速開發、疊代、測試和創新 | 提供基本功能的資源、Spot 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 Enterprise 中的機群團隊管理功能,搭配適當的存取權控管機制,讓多個開發團隊共用 GKE 叢集。
- 使用 GKE Autopilot 運用成本最佳化技術,例如 GKE 預設實作的 bin packing 和自動調整功能。
- 針對 AI 和 ML 工作負載,請採用GPU 共用策略 (例如多執行個體 GPU、時間共用 GPU 和 NVIDIA MPS),節省 GPU 成本。
開發及維護參考架構
建立並維護參考架構存放區,以便針對不同部署環境和工作負載類型的需求進行客製化調整。為簡化個別專案的設計和實作程序,可由團隊 (例如雲端卓越中心 (CCoE)) 集中管理藍圖。專案團隊可以根據明確定義的條件選擇合適的藍圖,確保架構一致性並採用最佳做法。針對專案專屬的規範,專案團隊和中央架構團隊應合作設計新的參考架構。您可以將參考架構分享給整個組織,以促進知識分享,並擴充可用解決方案的存放區。這種做法可確保一致性、加快開發速度、簡化決策流程,並提高資源利用效率。
請參閱 Google 針對各種用途和技術提供的參考架構。這些參考架構納入了資源選取、大小、設定和部署的最佳做法。您可以運用這些參考架構,加快開發程序,並從一開始就節省成本。
使用機構政策強制執行費用紀律
建議您使用機構政策,限制團隊成員可使用的 Google Cloud 地區和產品。這些政策有助於確保團隊採用省錢的解決方案,並在符合成本最佳化目標的位置配置資源。
預估實際可行的預算並設定財務限制
為每個專案、工作負載和部署環境制定詳細預算。請務必確保預算涵蓋雲端作業的所有層面,包括基礎架構成本、軟體授權、人員和預期成長。為避免超支並確保符合財務目標,請為專案、服務或特定資源設定明確的支出限制或門檻。請定期監控雲端支出是否超過這些限制。您可以使用主動配額快訊,提早找出可能的超支費用,並及時採取修正措施。
除了設定預算之外,您還可以使用配額和限制,協助確立費用紀律,並避免支出意外暴增。您可以在各層級設定配額 (包括專案、服務,甚至是特定資源類型),藉此精細控管資源用量。
以下是實作這項最佳化建議的範例:
- 專案層級配額:在專案層級設定支出限額或資源配額,以建立整體財務限制,並控管專案中所有服務的資源用量。
- 服務專屬配額:為特定 Google Cloud服務 (例如 Compute Engine 或 BigQuery) 設定配額,限制可佈建的執行個體數量、CPU 或儲存空間容量。
- 資源類型專屬配額:將配額套用至個別資源類型 (例如 Compute Engine VM、Cloud Storage 值區、Cloud Run 執行個體或 GKE 節點),以限制其用量並避免意外超出費用。
- 配額快訊:當配額用量 (在專案層級) 達到最高值的百分比時,系統會傳送通知。
您可以將配額和限制與預算和監控功能搭配使用,建立主動且多層次的費用控管方式。這有助於確保雲端支出維持在指定範圍內,並符合您的業務目標。請注意,這些費用控管措施並非永久或固定的。為確保成本控管措施能與目前的業界標準保持一致,並反映不斷變化的業務需求,您必須定期檢查控管措施,並調整控管措施,納入新技術和最佳做法。