雲資料庫FinOps實戰覆盤
歷時三個多月的HBase成本最佳化專案按照預期交付了,HBase雲資料庫月度成本下降了32.5%,超出預期達成目標。
我們對本次HBase成本最佳化專案進行深度覆盤,並進一步嘗試總結雲資料庫的FinOps之道。
希望能夠賦能mysql、redis、mongo等其他雲資料庫產品實現降本增效,進而給網際網路寒冬環境下的企業IT降本增效,提供一個參考思路。
本文將從4個方面進行展開:
雲資料庫成本挑戰
什麼是FinOps
HBase成本最佳化實踐
雲資料庫FinOps之道
1、雲資料庫成本挑戰
在早期,雲端計算被視為企業降低IT管理成本、提高業務敏捷性的重要途徑。尤其是雲資料庫,高效能、高可用、彈性使用等特性,“資料庫上雲”是降本增效的一個重要途徑。
但是,隨著雲資料庫大規模使用,雲產品的成本問題開始顯現。比如我們使用的雙叢集HBase,在投入使用2年後,已經成為所有云資料庫類別中,成本佔比最大的元件。
如何解決雲資料庫成本最佳化問題?尤其在這樣的網際網路寒冬下,是擺在很多技術團隊面前的首要問題。
常見的成本最佳化挑戰包括四種情況:
挑戰一:無法準確衡量資料庫資源是否存在浪費
挑戰二:縮容、降配等手段效果不明顯,沒啥別的最佳化措施
挑戰三:基礎架構團隊很著急,一線業務團隊不care
挑戰四:“運動式”成本最佳化,無法形成長效機制
為了系統化解決這些問題,就需要引入FinOps(雲成本最佳化)的概念了。
2、什麼是FinOps
FinOps 是“Finance”和“DevOps”的綜合體,也被稱為“雲財務管理”、“雲成本管理”或“雲財務最佳化”等。
FinOps有一個權威組織——FinOps 基金會,FinOps 基金會是Linux 基金會發起的專案,致力於透過最佳實踐、教育和標準來推動實踐雲財務管理學科。
FinOps基金會對FinOps定義如下:
FinOps is an evolving cloud financial management discipline and cultural practice that enables organizations to get maximum business value by helping engineering, finance, technology and business teams to collaborate on data-driven spending decisions. (Definition Updated: November 2021 by the FinOps Foundation Technical Advisory Council
這裡有三點非常關鍵:
cultural practice文化建設:FinOps的準測與文化需要建設推廣。(自上而下)
collaborate 跨團隊協作:工程、財務、技術和業務團隊。(FinOps絕不只是任意一個團隊的工作)
data-driven 方式:資料驅動。(如何推動協作的關鍵)
此外,FinOps還有幾個非常重要的維度,包括六大原則、角色、迴圈方法論、成熟度模型。
3、HBase成本最佳化實踐
參考FinOps六大原則,我們來看看 HBase成本最佳化專案 中如何落地。
3.1 團隊協作
原則1:Teams need to collaborate
原則2:Everyone takes ownership for their cloud usage
這兩條原則非常具有現實意義,成本最佳化很難由單一團隊負責,必須各個團隊都把 成本 作為一個關鍵指標,持續最佳化,提高效率和創新能力。
在HBase成本最佳化專案的 立項之初,我們就提前和各個業務團隊進行深入溝通,對HBase成本最佳化的 現狀、價值、實施路徑 充分對齊。
業務團隊 | 目前成本 | 最佳化成本 | 最佳化方案 | 預計人力投入 |
A團隊 | xxx | 5k/月 | 降低副本數 | 20人日 |
B團隊 | xxx | 8k/月 | 業務降級,取消災備 | 30人日 |
C團隊 | xxx | 4k/月 | 替換雲原生資料庫 | 25人日 |
D團隊 | xxx | 10k/月 | 冷熱分離 | 40人日 |
因此,在專案開展過程中,各個團隊能結合各自的業務特點,採用 業務架構最佳化、資料架構最佳化、雲原生技術 等手段,共同朝著HBase成本最佳化的大目標前進。
3.2 中心化驅動
原則3:A centralized team drives FinOps
專門有一個團隊來推動FinOps的開展,包括各項流程的推進、基礎設施的搭建等。
本次HBase成本最佳化專案中,採用 專案制 的形式,由基礎架構團隊進行推進,提供了諸如 成本最佳化目標、資源使用狀況、資料增長變化、業務改造方案支援 等指標與工具。
後續,我們會開發一個統一的 FinOps平臺產品,由一個 中心化產品,進行長效持久地推進雲資料庫成本最佳化。
3.3 視覺化資料與報告
原則4:Reports should be accessible and timely
HBase目前是叢集模式運作,各個叢集都存在業務團隊共用叢集的情況。另外,業務數量眾多(近百個敏捷組),如何快速識別成本大頭進行最佳化,也是一個重點問題。
因此,本次HBase成本最佳化專案中,充分踐行了 資料驅動 的理念。
大資料量識別篩選出單副本大於5T的業務,共15個敏捷組,佔總儲存80%以上
高增速識別篩選出增速較快的業務。
最佳化效果指標評判採用指令碼統計的方式記錄資料,跟蹤目標業務的最佳化情況。
這些資料驅動的能力,後續會沉澱為FinOps平臺上的通用元件能力。
3.4 因地制宜,業務架構最佳化
原則5:Decisions are driven by business value of cloud
獲得成本相關資料後,根據實際業務價值和使用情況進行成本最佳化決策。
本次HBase成本最佳化專案中,各個業務團隊充分利用各自業務特點,進行相關業務最佳化。
3.4.1 減少副本數
以HBase為例,本身儲存在本地盤的HDFS上,透過三副本機制保證資料不丟失。
為了提高應用穩定性,降低單HBase不可用帶來的風險,我們核心服務都配備了雙叢集主備架構的HBase。這樣導致了一份資料會存在六個副本,造成了磁碟空間使用率的極速膨脹。
在多副本災備架構下,可以對主備叢集內資料都調整為兩副本(去掉replica3、replica6),整體變為四副本,可以降低30%的磁碟空間使用。
某業務團隊單副本140T資料,六副本840T,磁碟使用率不斷上漲,造成巨大成本壓力。我們透過調整副本數量為四副本(從原來的六副本),有效降低了280T資料的磁碟使用空間。
3.4.2 資料冷熱分離
如果資料量過大,一般可以考慮根據資料生命週期特點,實施冷熱分離、無效資料清理。
關鍵邏輯
客戶端寫熱儲存
客戶端查詢時,根據 業務冷熱劃分邏輯 進行路由查詢。
遷移任務根據 業務冷熱劃分邏輯(一般為生產時間或修改時間)進行 查詢&過濾 ,將符合條件的冷資料寫入冷儲存,並且從熱儲存中刪除
對賬任務根據遷移任務的記錄日誌log,進行定時校驗,確保資料不丟失,校驗無誤後清理log
3.4.3 做好資料壓縮,減少儲存量
對於單value比較大的資料,可以透過資料壓縮演算法,如snappy、lz4、gizp等,提高資料壓縮比,降低儲存。
HBase、mongo等資料庫服務端可以做自動壓縮的配置,如果服務端不支援自動壓縮的,可以採用客戶端壓縮後再寫入。
3.5 充分利用雲產品
原則6:Take advantage of the variable cost model of the cloud
充分利用好不同的雲產品計費模型。這個目前其實做得比較多了,比如選擇不同雲廠商的不同產品、根據不同場景選擇不同計費模式( 包年包月、按量付費、serverless等)等。
本次HBase成本最佳化專案中,典型的就是在某個特定業務場景下,引入了 HBase serverless方案 作為災備叢集,降低了普通叢集作為災備叢集的低效支出。
4、雲資料庫FinOps之道
前面聊了HBase成本最佳化實踐的若干原則與具體操作,比較偏重“術”的層面。
下面,我們再結合FinOps的迴圈治理方法論,來更全面地思考雲資料庫的FinOps之道。
FinOps 基金會建議採用迭代方法來管理雲服務的可變成本。最佳實踐包括應持續管理的三個環節:通知、最佳化和運營。
4.1 通知(Inform)
核心在於 資料視覺化 與 可分配。
業務團隊和財務利益相關者能夠確保他們在控制預算和準確預測支出的同時提高ROI,避免意外。
同時,也能作為一個業務團隊的基礎指標,來衡量並提升團隊成本最佳化效率。
4.1.1 資料視覺化
俗話說,It you can’t measure it, you can’t manage it。
資料驅動理念在FinOps中同樣處於核心地位。
包括但不限於:
資源(CPU/記憶體/磁碟)使用率
資源增長速率
資源預算
資源實際使用超額比例
資源使用預測
準確而全面的視覺化,可以較好解決成本最佳化的挑戰一,精準衡量是否存在資源浪費的情況。
4.1.2 可分配
對於所有云上資源,都要儘可能精細化、準確 分配到各個實際使用團隊上。
目前在微服務架構下,單例項型別的元件比較容易跟上游應用繫結,進而分配到具體業務團隊。但是叢集型別的元件(如HBase),仍然需要做進一步細粒度的計算與分配。
4.2 最佳化(Optimize)
一旦資源最佳化指標準確繫結到 實際使用團隊後,就可以開展各項最佳化工作。
最基礎的方式,是根據資料使用率指標,對空閒資源進行降配、縮容等方式。
更深度的最佳化,需要結合實際業務場景,參考3.4的內容,實施 減少副本數、冷熱分離、資料壓縮、充分利用雲產品 等手段。(解決挑戰二)
4.3 運營(Oprate)
4.3.1 文化建設
透過FinOps進行成本最佳化的文化建設是首要條件。必須自上而下推行這種意識和相關的獎懲制度。
讓基礎團隊、業務團隊認識到這項工作不是某個人、某個團隊的事情,而是各個團隊在架構設計、技術最佳化、績效達成中的關鍵任務。(解決挑戰三)
如果沒有自上而下推行這種文化,FinOps肯定無法落地,更不用談長期機制了。
4.3.2 自動化流程與機制
為了使FinOps成為一種長期機制,除了文化建設外,必須將人工流程自動化。
從 資料化、成本問題識別、任務分配、最佳化完成、資料追蹤 等環節入手,將一整套流程以平臺產品的形式沉澱下來。
轉變”運動式“最佳化的困境,形成真正的長期機制。(解決挑戰四)
5、小結
本文從雲資料庫成本挑戰引入FinOps的概念,結合HBase成本最佳化專案闡述了FinOps的具體原則與實踐案例。
最後總結了雲資料庫FinOps之道,形成資料庫成本最佳化真正的閉環解決方案,形成長效機制,徹底解決四種常見成本最佳化挑戰。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024420/viewspace-2926733/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 億級大表分庫分表實戰總結(萬字乾貨,實戰覆盤)
- 一次壓測實戰的覆盤
- 資料庫實驗室挑戰任務-3(阿里雲)資料庫阿里
- 38_資料庫實戰資料庫
- 2020實戰覆盤:如何從0到1搭建資料傳輸平臺產品DTS?
- 阿里雲資料庫的新戰役阿里資料庫
- 冬季實戰營 動手實戰-MySQL資料庫快速部署實踐 領滑鼠 雲小寶MySql資料庫
- 資料庫國產化實戰之達夢資料庫資料庫
- 資料庫圈周盤點:2022年DBA面臨眾多挑戰;騰訊雲資料庫落地國信證券資料庫
- 雲擴電商RPA助您實現高效直播覆盤
- 騰訊雲大資料實戰案例大資料
- 華為雲資料庫戰略啟示錄資料庫
- SQL Server實戰四:查詢資料庫的資料SQLServer資料庫
- 可觀測|時序資料降取樣在Prometheus實踐覆盤Prometheus
- 突破、進化,騰訊雲資料庫2018全年盤點資料庫
- 阿里Canal框架資料庫同步-實戰教程阿里框架資料庫
- KubeSphere 部署向量資料庫 Milvus 實戰指南資料庫
- 如何理解騰訊雲資料庫戰略升級?資料庫
- 華為雲GaussDB:從顛覆自我到顛覆行業,重構資料庫市場新格局行業資料庫
- NoSQL 資料庫案例實戰 -- MongoDB資料備份、恢復SQL資料庫MongoDB
- 資料庫圈周盤點:Serverless資料庫知多少資料庫Server
- 如何實現企業雲盤資料化儲存
- 企業級雲資料庫最佳實踐資料庫
- 20分鐘資料庫索引設計實戰資料庫索引
- 資料庫實驗室挑戰任務-2資料庫
- 教你兩種資料庫覆蓋式資料匯入方法資料庫
- 冬季實戰營 動手實戰-雲上多產品學習,使用ECS伺服器部署MySQL資料庫伺服器MySql資料庫
- Java實戰:教你如何進行資料庫分庫分表Java資料庫
- 騰訊高手出品!AR 遊戲設計實戰案例覆盤總結遊戲設計
- 2020年最新面試覆盤大全+解析:資料庫+分散式+微服務+Redis+ZK+Nginx面試資料庫分散式微服務RedisNginx
- 資料庫圈周盤點:騰訊Q2財報首次披露資料庫收入增幅;《雲原生資料庫白皮書》釋出資料庫
- 吉客雲資料整合到金蝶雲星空:盤盈入庫單對接方案
- 盤點 | 下半場,騰訊雲資料庫打的更有侵略性資料庫
- 覆盤|怎樣做好一次覆盤
- openGauss資料庫部署實踐(華為雲開發者雲實驗)資料庫
- Spring Boot實戰系列(2)資料儲存之NoSQL資料庫MongoDBSpring BootSQL資料庫MongoDB
- 平安雲原生資料庫開發與實踐資料庫
- 鬥魚資料庫混合雲架構實踐資料庫架構