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