本文屬於Google Cloud Well-Architected Framework:金融服務 (FS) 觀點,概略說明在 Google Cloud中最佳化 FS 工作負載成本的原則和建議。本文中的建議符合 Well-Architected Framework 的成本最佳化支柱。
如要有效提高金融服務工作負載的成本效益,必須具備下列基本要素:
- 能夠區分資源使用率是浪費還是能創造價值。
- 建立財務可靠度文化。
如要最佳化成本,您必須全面瞭解貴組織的成本動因和資源需求。在某些大型組織中,尤其是剛開始使用雲端的組織,通常會由單一團隊負責最佳化大量網域的支出。這種做法假設中央團隊最適合找出高價值機會,提升效率。
在雲端採用的初期階段或非關鍵工作負載,集中式方法可能會取得一些成功。不過,單一團隊無法推動整個組織的成本最佳化。當資源用量或法規審查程度增加時,集中式方法就無法持續。集中式團隊在處理大量金融產品和服務時,特別容易面臨擴充性挑戰。擁有產品和服務的專案團隊可能會抗拒外部團隊所做的變更。
為了有效最佳化成本,支出相關資料必須高度公開,且與工作負載密切相關的工程師和其他雲端使用者必須有動力採取行動,最佳化成本。從組織的角度來看,成本最佳化的挑戰在於找出應最佳化的領域、找出負責這些領域的工程師,然後說服他們採取必要的最佳化行動。本文件提供建議,協助您解決這項難題。
本文件中的成本最佳化建議對應至下列核心原則:
使用 Google Cloud 工具找出浪費
Google Cloud 提供多項產品、工具和功能,協助您找出浪費之處。請參考下列建議。
運用自動化和 AI 技術,有系統地找出需要最佳化的項目
Active Assist 針對各項服務提供智慧型建議,例如微服務適用的 Cloud Run、資料分析適用的 BigQuery、核心應用程式適用的 Compute Engine,以及關聯式資料庫適用的 Cloud SQL。Active Assist 建議不需付費,也不必進行任何設定。建議可協助您找出閒置資源和未充分使用的承諾使用合約。
透過整合式介面集中監控及控管 FinOps
Cloud Billing 帳單報表和 FinOps 中心可讓您全面監控成本。財務稽核人員和內部財務團隊必須掌握這項全面資訊,才能追蹤雲端支出、評估財務狀況、評估各業務單位或成本中心的 FinOps 成熟度,並提供一致的財務說明。
分析及充實支出資料,找出價值
Active Assist 可有效找出明顯的浪費情形。不過,要找出價值可能更具挑戰性,尤其是當工作負載位於不合適的產品上,或工作負載與業務價值缺乏明確關聯時。對金融服務工作負載而言,業務價值不只是降低成本。價值包括風險控管、法規遵循和取得競爭優勢。
如要全面瞭解雲端支出和價值,您必須從多個層面完整瞭解:支出來源、支出推動的業務功能,以及重構或最佳化相關工作負載的技術可行性。
下圖說明如何運用資料-資訊-知識-智慧 (DIKW) 金字塔和 Google Cloud 工具,全面瞭解雲端成本和價值。
上圖顯示如何使用 DIKW 方法,將原始雲端支出資料精煉為可做為行動依據的洞察資料和決策,進而提升業務價值。
- 資料:在這個層級,您會收集雲端資源使用情形和費用資料的原始、未處理串流。中央 FinOps 團隊會使用 Cloud Billing 月結單、帳單匯出和 Cloud Monitoring 等工具,取得精細的詳細資料。舉例來說,資料點可能是名為
app1-test-vmA的 VM 在us-central1區域執行 730 小時,費用為 $70 美元。 - 資訊:在這個層級,您的中央 FinOps 團隊會使用 Cloud Billing 帳單報表和 FinOps 中心等工具,將原始資料結構化,協助回答「使用者在哪些類別的資源上花費資金?」等問題。舉例來說,您可能會發現,在美國兩個區域中,n4-standard-2 機型的 VM 總共花費 $1,050 美元。
- 知識:在這個層級,中央 FinOps 團隊會根據適當的業務情境,補充誰花費資金和用途等資訊。您會使用標記、標籤、資源階層、帳單帳戶和自訂 Looker 資訊主頁等機制。舉例來說,您可能會發現美國的
app1測試團隊在 7 月第二週進行壓力測試時,花費了 $650 美元。 - 智慧:在這個層級,產品和應用程式團隊會運用情境化知識,評估雲端支出的業務價值,並做出明智的策略決策。團隊可能會回答下列問題:
- 花費 5,000 美元建構的資料分析管道,是否能產生業務價值?
- 我們能否重新架構管道,在不降低效能的情況下提高效率?
分析雲端支出資料時,請參考下列建議。
分析 Google Cloud提供的支出資料
首先,請使用匯出至 BigQuery 的詳細 Cloud Billing 資料,以及 Monitoring 記錄檔中的資料。如要取得可做為行動依據的洞察資料並做出決策,您必須建構這項資料,並加入業務背景資訊。
透過可用工具以圖表呈現資料
使用 數據分析 等工具,在 BigQuery Export 上建立自訂報表,強化內建的 Google Cloud 資訊主頁。財務團隊可以建立自訂資訊主頁,根據財務指標、依法呈報要求和業務單位獲利能力,提供雲端支出的背景資訊。接著,他們可以提供清楚的財務敘述,供高階主管進行分析和決策。
分配支出以落實問責制度
瞭解雲端支出的原因後,您需要找出支出者和原因。如要達到這種瞭解程度,必須採取完善的成本分配做法,包括將業務相關中繼資料附加至雲端資源。舉例來說,如果 Banking-AppDev 團隊使用特定資源,您可以將 team=banking_appdev 等標記附加至該資源,追蹤團隊在該資源上產生的費用。理想情況下,您應將 100% 的雲端成本分配給支出來源。在實務上,您一開始可以設定較低的目標,因為建構中繼資料結構來支援 100% 成本分配是一項複雜的工作。
建議您參考下列做法,制定中繼資料策略,以利成本分配:
- 有效性:確保標記有助於識別業務相關的主要成效指標 (KPI) 和法規要求。這項關聯對於內部交易退單、依法呈報,以及根據業務單位目標調整雲端支出至關重要。舉例來說,下列標記可清楚識別支出團隊、所在區域和負責的產品:
team=banking_appdev、region=emea、product=frontend。 - 自動化:如要達到高水準的標記法規遵循,請透過自動化強制執行標記。手動標記容易出錯且不一致,這在重視可稽核性和財務準確性的金融服務環境中是不可接受的。自動標記功能可確保資源在建立時正確分類。
- 簡單:評估簡單、不相關的因素。金融服務環境相當複雜,為確保這類環境中的成本分配規則易於理解和執行,規則必須盡可能簡單。避免為高度特定的 (邊緣) 案例過度設計規則。複雜的規則可能會導致營運團隊混淆和抗拒。
使用標記定義分配策略後,您需要決定策略的實施精細程度。所需的精細程度取決於您的業務需求。舉例來說,有些組織可能需要追蹤產品層級的費用,有些組織可能需要每個成本中心的費用資料,有些組織則可能需要每個環境 (開發、測試和正式環境) 的費用資料。
請考慮採用下列方法,為貴組織設定適當的成本分配精細程度:
- 使用 Google Cloud 中的專案階層結構,做為成本分配的自然起點。專案代表 Google Cloud中政策強制執行的點。根據預設,Identity and Access Management (IAM) 權限、安全性政策和費用會歸因於專案和資料夾。查看從 Cloud Billing 匯出的費用資料時,您可以查看資料夾階層和與費用資料相關聯的專案。如果Google Cloud 資源階層反映了貴組織的支出責任結構,那麼這是實施成本分配最簡單的方法。
- 使用標記和標籤,進一步細分。可讓您靈活分類帳單匯出作業中的資源。標記和標籤可協助您依應用程式和環境,查看詳細的費用明細。
通常,您可能需要搭配使用專案階層結構與標記和標籤,才能有效分配成本。無論選擇哪種成本分配方法,請遵循前述建議,制定穩健的中繼資料策略:有效性、自動化和簡單性。
推動責任制並激勵工程師採取行動
雲端 FinOps 團隊負責推動組織,讓組織意識到成本和價值。個別產品團隊和工程團隊必須採取必要行動,才能達到成本最佳化。這些團隊也負責金融服務工作負載的成本行為,並確保工作負載提供必要的業務價值。
請參考下列建議,推動責任歸屬並激勵團隊最佳化成本。
建立集中式 FinOps 團隊,負責管理
雲端 FinOps 做法不會自然發展。專屬的 FinOps 團隊必須採取下列行動,定義及建立 FinOps 做法:
- 建立必要的程序、工具和指引。
- 建立、傳達及強制執行必要政策,例如強制標記、預算審查和最佳化程序。
- 鼓勵工程團隊為成本負責。
- 在工程團隊不承擔成本責任時介入。
取得高階主管支持和授權
高階主管 (包括技術長、財務長和資訊長) 必須積極推動全組織轉向 FinOps 文化。他們的支持對於優先考量成本責任、為 FinOps 計畫分配資源、確保跨部門參與,以及推動遵守 FinOps 規定至關重要。
鼓勵團隊提高成本效益
工程師和工程團隊可能不會主動專注於成本最佳化。請務必實施下列獎勵措施,讓團隊和個人目標與成本效益保持一致:
- 將成本最佳化省下的部分資金,重新投資在達成最佳化目標的團隊。
- 公開表揚並慶祝成本最佳化成果。
- 運用遊戲化技巧,獎勵有效最佳化成本的團隊。
- 將效率指標納入成效目標。
實作顯示和收費技術
確保團隊清楚掌握他們擁有的雲端資源和成本。將財務責任指派給團隊中的適當人員。使用正式機制強制執行嚴格的標記,並實施透明的規則來分配共用費用。
著重價值和 TCO,而非成本
評估雲端解決方案時,請考量長期總持有成本 (TCO)。舉例來說,自行託管應用程式的資料庫,可能比使用 Cloud SQL 等代管資料庫服務便宜。不過,如要評估長期價值和 TCO,您必須考量與自行託管資料庫相關的隱藏成本。這類成本包括修補、資源調度、安全性強化和災難復原等專屬工程工作,這些都是金融服務工作負載的重要需求。代管服務可提供顯著更高的長期價值,抵銷基礎架構成本。代管服務提供強大的法規遵循功能、內建可靠性功能,並可協助減少營運負擔。
建議您參考下列做法,著重於價值和 TCO。
使用產品專屬技術和工具,充分運用資源
善用 Google Cloud產品提供的成本最佳化工具和功能,例如:
- Compute Engine: 自動調度資源、 自訂機型和 Spot VM
- Google Kubernetes Engine: 叢集自動配置器和自動佈建節點
- Cloud Storage: 物件生命週期管理和自動調整級別
- BigQuery: 依運算資源計價 和 成本最佳化技術
- Google Cloud VMware Engine:承諾使用折扣 (CUD)、最佳化儲存空間和其他成本最佳化策略
可享折扣優惠
使用 Google 提供的折扣,確保雲端資源的計費費率盡可能降低。個別產品和工程團隊通常會管理資源最佳化。中央 FinOps 團隊負責最佳化帳單費率,因為他們能掌握整個組織的資源需求。因此,他們可以彙整需求,並盡可能提高承諾使用折扣。
Google Cloud 資源可享下列類型的折扣:
- 企業折扣是根據貴組織承諾在 Google Cloud 的最低總支出,以較低的帳單費率協商而得。
- 依資源計算的 CUD:只要承諾在一年或三年內使用最低數量的 Compute Engine 資源,即可享有這類折扣。依資源計算的 CUD 適用於特定區域中的資源。對大多數 Cloud Billing 帳戶而言, Google Cloud 會啟用依資源計算的 CUD 共用功能,並與該帳戶相關聯的所有專案共用 CUD。
- 依支出計算的 CUD:您只要承諾在一年或三年內,在特定產品上達到最低支出金額,即可享有這類折扣。依支出計算的折扣適用於帳單帳戶層級。折扣會依產品套用於區域或全球。
除了企業折扣外,您還能使用 CUD 大幅節省費用。
除了 CUD 之外,您也可以採用下列方法降低計費費率:
- 使用 Spot VM 處理容錯和彈性工作負載。Spot VM 的價格比一般 VM 便宜 80% 以上。
- BigQuery 提供多種定價模式,包括隨選定價和版本計價,後者依據承諾使用合約和自動調度資源需求計費。如果您使用大量 BigQuery 資源,請選擇合適的版本,降低數據分析工作負載的每個運算單元費用。
- 請仔細評估所需服務的可用 Google Cloud 區域。選擇符合成本目標的區域,並考量延遲時間和法規遵循要求等因素。如要瞭解成本、永續性和延遲時間之間的權衡,請使用 Google Cloud 區域挑選器。