在雲端基礎建設快速演進的趨勢下,Apache CloudStack 作為一個開源雲端 orchestrator,其市場化整合能力成為關鍵議題。本文聚焦於如何透過原生評分系統(Rating System)與會計系統(Accounting System)的整合,實現計算資源使用者(Computing Resource User)的精準計費(Billing)與資源管理。此方案不僅提升雲端服務的商業化可行性,更強化了 Apache 基金會在雲端基礎架構領域的技術領導地位。
評分系統專注於計算雲端資源使用量的金額價值,與後續由外部系統處理的計費流程區分。其核心機制依賴平臺事件(Platform Events)生成數據,每筆事件連結至帳號或專案,提供資源消耗視圖。事件生成流程包含使用者請求創建虛機、卷、網路等資源,CloudStack 會記錄事件至資料庫。事件處理流程則透過輔助表(Auxiliary Tables)聚合事件數據,生成評分數據(Usage Data)。
會計系統則用於追蹤資源消耗細節,支援按條目(Per Entry)與按月(Monthly)計費模式。資料處理流程包含事件生成、輔助表存儲、生成評分數據,最終產生計費條目。例如虛機啟動時生成事件,持續運行時定期更新數據。
Quota 1.0 的限制:每種資源類型僅支援單一計費率(Tariff),無法區分不同資源屬性,導致無法符合雲端供應商的靈活性需求。
Quota 2.0 的改進:
透過主機標籤(Platinum/Gold/Standard)設定不同單位價格,JavaScript 規則示例如下:
if (hostTag === "Platinum") return 50;
else if (hostTag === "Gold") return 40;
else return 30;
根據虛機元數據識別作業系統,應用授權包費用。例如虛機運行時長與資源規模影響最終價格。
依儲存類型(SSD/非SSD)判斷是否計費,JavaScript 規則示例如下:
if (storageType === "SSD") return 10;
else return 0;
顯示資源類型消耗統計、歷史紀錄與增量圖表,支援按帳號/專案過濾。例如顯示某專案的資源使用情況,或某帳號的虛機運行時長與費用。
每日執行計費流程,生成每日費用條目。例如虛機每日運行時長與 vCPU 使用量計算費用,多虛機案例顯示月度總費用與資源使用分佈。
預付模式:帳號無信用時停止資源使用;後付模式:資源消耗後產生費用,顯示帳戶餘額變化。
Apache CloudStack 透過整合原生評分系統與會計系統,實現了雲端資源使用者的精準計費與靈活管理。Quota 2.0 的上下文基準計費規則與多階段折扣策略,大幅提升了商業模型的適應性。未來需持續優化 JavaScript 引擎與完善官方文件,並將改進內容上傳至 Apache 基金會上游專案,以強化生態系的技術領導地位。