云原生數據中臺技術與趨勢解讀
數據中臺發(fā)展至今,大體經歷了4個重要階段:數據庫——數據倉庫——大數據平臺——數據中臺。每次新的變革,都是為了解決上一階段存在的問題。
當前,走向云原生成為數據中臺的必然和必須。
一、云原生從何而來?
云原生是用于指導如何在云上構建和運行應用的方法論。
我們認為,“云原生”并不是一個新的概念?;仡櫾朴嬎闶?,從個人端應用到企業(yè)級應用,都早已開始“上云”。
起初,這些上云的“非原住民”應用,延續(xù)了私有化部署的技術架構,把本地軟件不加修改地通過ECS遷至云端。而ECS的弊端在于只能承載計算,無法實現(xiàn)存儲。雖然上云后的應用實現(xiàn)了業(yè)務打通,但隨著業(yè)務擴大,原有的架構“可用性”明顯下降。
國內云廠商為了解決數據存儲問題,制作了云磁盤,將其掛靠在云主機上,實現(xiàn)數據備份,且無需更改程序。傳統(tǒng)軟件上云的“高可用”問題得以解決。
然而,這種方式引發(fā)了另一弊端——成本高??蛻舭袶adoop不加修改直接部署到ECS節(jié)點上,數據通過HDFS存儲在云磁盤上,需花費大量成本。因此必須修改HDFS底層,把數據存到對象存儲上。
隨著需求不斷豐富,系統(tǒng)必須按照IaaS、PaaS的技術特點進行重構,以便跟上業(yè)務和數據的爆炸性增長。 在私有化部署以及上一代傳統(tǒng)技術的軟件架構運維方法論的基礎上,帶著“高可用”、“低成本”等屬性,“云原生”升級而出。
二、云原生數據中臺具有哪些技術要素?
“云原生”概念發(fā)展至今,我們已并不陌生。而為什么要強調“云原生數據中臺才是未來”?分級多域數據治理的剛需、云原生技術降本增效的天然特征、國內基礎設施自主可控的要求……都將數據中臺推向云原生。
因此,我們將云原生數據中臺的技術要素歸納為6點:CI/CD(持續(xù)集成持續(xù)交付)、容器化、對象體系、存儲計算分離、跨云多域數據治理和元數據管理。
1. CI/CD(持續(xù)集成持續(xù)交付)
CI/CD的本質是提高開發(fā)和部署效率。
在業(yè)務量巨大的情況下,大數據和云的運維人力成本極高。因此需要使用大量的自動化工具和大數據預測算法進行自動化運維。通過版本管理系統(tǒng)和DevOps基礎設施,實現(xiàn)自動化測試和持續(xù)集成。
一個典型流程是,程序員提交代碼到特定的tag,觸發(fā)測試接口自動化測試腳本執(zhí)行并發(fā)送報告。由此實現(xiàn)測試、發(fā)布和部署自動化。在此基礎上構建特定的數據環(huán)境,對重要接口和鏈路進行自動化檢測。
2. 容器化
容器化本質上是一種虛擬化技術,一臺主機可虛擬出上千個容器。
單個容器的啟動時間更快,占用空間更小,而且可以根據實際應用的大小來彈性分配資源,無需額外采購服務器,加快研發(fā)速度。使用容器編排基礎設施,對服務和作業(yè)進行治理,根除版本地獄,大幅度提高運維和集成效率。
容器化編排與CI/CD是相互結合的。在數據中臺領域,往往幾十臺機器、上百個進程同時運行,且在這些進程中不僅要運行本身的程序,也要運行客戶的程序。
因此,底層微服務的進程繁多?;诎踩弦?guī)要求,客戶之間的程序需要保持分隔。因此,數據中臺對于容器化的要求高于其他基于云原生的應用。
3. 對象體系
根據現(xiàn)有業(yè)務抽象出核心對象,以標準Restful風格提供API服務,解耦核心對象與業(yè)務層服務,以應對不同環(huán)境、不同業(yè)務場景的需求。這一系列正交的核心對象就構成了平臺對象體系,上層業(yè)務可在此基礎上構建應用,高效演進。
對象體系的API應該是優(yōu)雅且向前兼容的,一旦發(fā)布,很難改變。例如,在WIN32研發(fā)時,出現(xiàn)某個單詞錯誤,幾十年后都無法修改。因此,需要把對象體系設計得極為詳盡和準確。
4. 存儲計算分離
由于云具有分布式特點,在云上無法天然將數據存儲在ECS中。因此必須將關鍵數據、狀態(tài)型數據存儲在對象存儲中。大量私有化組件都需要被改寫。如果把Hadoop、Spark等常規(guī)開源大數據引擎直接應用于云主機,海量數據帶來的存儲成本和吞吐壓力,很快會壓垮客戶。
因此,必須引入中間緩存實現(xiàn)計算存儲分離,將數據存儲到對象存儲上,同時兼容HDFS協(xié)議,能夠根據業(yè)務需求進行彈性擴容,就能大幅度降低成本,提高集群性能。
5. 跨云多域數據治理
云原生數據中臺的一大優(yōu)勢在于可以實現(xiàn)跨云多域。
例如,客戶在AWS上使用數據中臺,一旦需要轉移到其他平臺,云原生數據中臺可實現(xiàn)在不修改代碼的基礎上直接遷移。對于具有多重業(yè)務、龐大數據體量的大型企業(yè)來說,為避免數據資產被一個平臺所綁定,供應商必須呈現(xiàn)多樣化。
因此,在客戶與一家供應商合作的同時,也需要使用獨立的第三方數據中臺提供跨云多域的數據治理能力,從而提高基礎設施的可控性和安全性。
6. 元數據管理
由于數據量急劇增長,對數據的管理成為一大問題。
云原生數據中臺的元數據管理功能,對數據的結構、指標、標簽、權限、上下游血緣、生產作業(yè)等元信息進行規(guī)范化管理,建立智能數據治理體系。同時支持數據盤點、安全審計、血緣分析、關鍵分級等應用,最終實現(xiàn)數據資產化。
例如,某頂級品牌商具有73個業(yè)務系統(tǒng),各自存儲在不同的數據庫和存儲介質中,需要將73個系統(tǒng)全部集中在一個數據中臺上進行標簽打通。在此需求下,數據治理十分重要,核心就是元數據的管理。因此,云原生數據中臺必須具備元數據管理功能。
三、云原生數據中臺能為用戶解決什么問題?
具備以上6大技術能力的數據中臺是走向云原生后的重要升級。基于這些能力,云原生數據中臺究竟能為用戶解決哪些問題,帶來降本增效?
1. 提高研發(fā)效率
通過微服務、CI/CD、對象體系、DevOps等一系列技術,提升迭代速度,增強在云的復雜環(huán)境下的控制、自動化運維控制等。提高代碼開發(fā)、測試、發(fā)布效率,降低迭代成本。
2. 降低運維成本
通過上述的技術也可以實現(xiàn)開發(fā)及運維高效協(xié)同,有效提升對故障的響應速度,實現(xiàn)持續(xù)集成和交付。使得快速部署應用成為業(yè)務流程和企業(yè)競爭力的重要組成部分,降低運維成本。
3. 降低存算成本
大數據基礎設施的存儲計算成本驚人。存算分離和容器化能夠更高效地使用IaaS資源,降低存儲成本。存儲和計算節(jié)點分離后,可以在不對存儲進行擴容的情況下快速增加計算資源。
另一方面,單個容器的啟動時間更快,占用空間更小,而且可以根據實際應用的大小來彈性分配資源,無需額外采購服務器。
4. 提高治理效率
治理效率不局限于數據治理,也包括微服務治理、系統(tǒng)治理和API治理,需要自動化設計和框架。使用跨云治理、元數據管理等技術,會大幅度提高企業(yè)積累數據資產的效率,降低安全風險,提高供應商的多樣化。