騰訊推出國內首個雲原生成本優化開源專案 Crane

騰訊雲原生發表於2022-03-23

關於我們

更多關於雲原生的案例和知識,可關注同名【騰訊雲原生】公眾號~

福利:

①公眾號後臺回覆【手冊】,可獲得《騰訊雲原生路線圖手冊》&《騰訊雲原生最佳實踐》~

②公眾號後臺回覆【系列】,可獲得《15個系列100+篇超實用雲原生原創乾貨合集》,包含Kubernetes 降本增效、K8s 效能優化實踐、最佳實踐等系列。

③公眾號後臺回覆【白皮書】,可獲得《騰訊雲容器安全白皮書》&《降本之源-雲原生成本管理白皮書v1.0》

④公眾號後臺回覆【光速入門】,可獲得騰訊雲專家5萬字精華教程,光速入門Prometheus和Grafana。

作者

王孝威,FinOps 認證從業者,騰訊雲技術產品經理,Crane 產品負責人。

雲資源管理現狀

設想你是一個應用開發人員,編寫業務程式碼是你的主業,應用需要多少資源,往往通過壓測決定,這導致非業務高峰期時段巨大的資源浪費。正好,社群和公司都在積極推動雲原生,聲稱可以利用其強大的排程和彈性解決資源浪費問題。你興致勃勃的擁抱雲原生,但最終發現,雲原生業務的資源配置,同樣還是需要壓測這種傳統而手工的方式。

又比如你是一個平臺側運維人員,你揹負著提升平臺資源利用率的 KPI。叢集內執行著眾多負載規律波動的應用,你驚喜的發現,Kubernetes 提供了自動擴容能力,你很想試試看。但真正使用了HPA,從負載上升觸發閾值,到彈性控制器開始擴容,到應用啟動完成,可能有數分鐘甚至數十分鐘的滯後,在彈性起作用之前,應用已經被壓垮。於是你拋棄自動彈效能力,繼續迴歸到鎖定超量資源的老路上來。

研發人員到底能否從資源配置的深淵中解脫出來,是否能讓彈效能力高效實用?於是你帶著問題去社群尋找答案。你發現將應用程式碼和基礎架構徹底分離的 Serverless 技術似乎是一個選項,但是隨著深入瞭解你發現,Serverless 只是一個概念,不是一個標準,由於完全拋棄了伺服器,底層自主可控和效能優化能力完全喪失;另一類是以谷歌 Autopilot 叢集為首的資源託管類叢集,這類叢集應該滿足你的訴求,但它平臺繫結並且需要付費。

我們決定改變現狀,我們在對騰訊內部業務做成本優化時積累了眾多經驗,結合資源預測、智慧彈性和全構混部能力,在不犧牲穩定性的前提下,將叢集峰值利用率提升到了50%以上,下圖是優化的效果。我們期待與社群同道一起優化應用資源配置和彈性的共性問題,於是我們給大家一個不重造輪子的可能,選擇了開源。

圖1 Crane 在大規模場景下的優化效果

Crane 的誕生:首款企業成本優化的開源工具

為推進雲原生使用者在確保業務穩定性的基礎上做到真正的極致降本,騰訊推出了國內第一個基於雲原生技術的成本優化開源專案 Crane( Cloud Resource Analytics and Economics )。Crane 遵循 FinOps 標準,旨在為雲原生使用者提供雲成本優化一站式解決方案。

當前 Crane 專案主要貢獻者包括有騰訊、小紅書、谷歌、eBay、微軟、特斯拉等知名公司的行業專家。(Crane 開源專案地址:https://github.com/gocrane/cr...

符合 FinOps 標準的 Crane 成本優化工具能力模型

Crane 是騰訊內部雲資源優化流程方法和工具的系統性輸出,同時,Crane核心能力的構建與規劃均與 FinOps 基金會提出的能力模型完全契合。

圖2 Crane 能力模型

Crane 架構與特性


圖3 Crane 架構

Crane 致力於推薦資源和智慧彈性配置,業務人員無需再為業務需要多少資源,自動擴縮容應該如何配置等問題而煩惱,Crane 會基於業務的時序變動資料給出最優解。

一鍵部署

Crane 保持平臺獨立,通過一個 Helm 包將 Crane 安裝至任意 Kubernetes 叢集,無論雲上還是雲下,即可享受一站式資源優化能力。Crane 侵入性小,核心元件包括集中控制器 craned 和節點代理 crane agent,你可以自由組合安裝,通過 featureGate 選擇開啟哪些能力。

簡單易用視覺化控制檯

為降低使用門檻,Crane 提供內建控制檯,使用者可基於控制檯檢視成本分配,成本走勢,並通過滑鼠點選實現成本優化。所有能力均提供灰度控制和預覽模式,以及回滾的能力,以消除業務側對資源變動的顧慮。

開箱即用的巡檢能力

Crane 可以全域性掃描整體浪費情況,將隱藏浪費視覺化的呈現出來,使運維人員免除拉取監控資料,編寫查詢指令碼等重複性工作。

優化方案包含對成本變化的展示,對利用率變化的展示,可能的風險點,甚至是優化建議的排序。因為我們相信,每個業務都是獨一無二的,都有其最適合的優化方案,不能一概而論。

即時迅速的彈性 (EffectivePodAutoscaler(EPA))

傳統基於事件的彈性工具會導致一個天然缺陷——當業務指標偏離正常值後才會觸發彈性,這種滯後性使得雲使用者不敢使用彈性。EPA 支援可擴充套件的預測演算法,以預測結果驅動橫向和縱向彈性,確保業務能提前彈出來,徹底避免原生彈效能力未彈先死的尷尬。同時 Crane 將社群的 HPA 和 VPA 兩種彈效能力統一起來,提出了彈性概念 EPA。

圖4 EPA 確保工作負載提前擴容

穩定性與資源優化的雙重兼

Crane 對資源利用率的提升,絕不是以犧牲穩定性作為代價。Crane 允許使用者對業務進行定級,節點代理負責週期性檢查節點資源水位和系統指標,識別應用干擾,並通過排程禁止,調整 cgroup,驅逐等多種手段確保敏感業務服務等級不受損。

Crane 現狀與未來

當前Crane已釋出0.2.0版本,具備了資源推薦,彈性推薦,智慧彈性和穩定性增強等核心能力,更多開發計劃請參考里程碑

延伸閱讀

FinOps (Financial Operations) 定義了一系列雲財務管理規則和最佳實踐,通過助力工程和財務團隊、技術和業務團隊彼此合作,進行資料驅動的成本決策,使組織能夠獲得最大收益。

秉承著使用者為本,科技向善的核心價值觀,騰訊雲將內部雲資源優化的經驗、方法、工具以開源的形式分享給社群,助力雲使用者雲成本優化視為自己的使命與責任。2021年12月,騰訊成為 FinOps 基金會頂級會員,致力於雲資源優化理念的推廣與技術輸出。

加入我們

Crane 專案開源進行時,歡迎關注 https://github.com/gocrane/cr... 收藏/Star支援。

我們正在限量召集 Crane 的第一批開源技術粉絲,只要你對 Crane 及相關技術感興趣,都歡迎加入,參與方式:新增騰小云微信(TKEplatform),回覆:Crane,小云會拉你進群。

【騰訊雲原生】雲說新品、雲研新術、雲遊新活、雲賞資訊,掃碼關注同名公眾號,及時獲取更多幹貨!!

相關文章