(CWW)近年來(lái),云原生架構(gòu)設(shè)計(jì)的流行,讓越來(lái)越多的企業(yè)擁抱云原生和享受其帶來(lái)的紅利,而開(kāi)源成為這一技術(shù)變革的主要驅(qū)動(dòng)力量之一。
11月4日,2021騰訊數(shù)字生態(tài)大會(huì)云原生開(kāi)源生態(tài)專場(chǎng)在武漢順利召開(kāi)。會(huì)上云集行業(yè)云原生領(lǐng)域?qū)<遥蚤_(kāi)源的視角,深入探討云原生操作系統(tǒng)、云原生數(shù)據(jù)庫(kù)、云原生微服務(wù),云原生容器等核心技術(shù)和云原生開(kāi)源未來(lái)的發(fā)展趨勢(shì),共同探索了利用開(kāi)源云原生技術(shù)為產(chǎn)品迭代提速,加快業(yè)務(wù)創(chuàng)新步伐和開(kāi)源商業(yè)化的實(shí)踐路徑。
騰訊開(kāi)源聯(lián)盟主席單致豪表示:“開(kāi)源可以打破技術(shù)壟斷,通過(guò)開(kāi)源我們也可以構(gòu)建下一代企業(yè)需要的新的技術(shù)棧?!痹隍v訊,云原生的開(kāi)源是五大重點(diǎn)開(kāi)源領(lǐng)域之一,推動(dòng)著云原生技術(shù)的發(fā)展,并不斷打破著舊有技術(shù)的壁壘。
單致豪提出,云原生的演化中,第一階段是通過(guò)微服務(wù)、容器、DevOps等技術(shù)降低企業(yè)在數(shù)據(jù)化轉(zhuǎn)型的成本;第二階段是面向開(kāi)發(fā)者的云原生,是Serverless的架構(gòu),可以面向現(xiàn)有的大數(shù)據(jù)和數(shù)據(jù)庫(kù)等云上服務(wù),讓開(kāi)發(fā)者不需要搭建非常復(fù)雜的開(kāi)源組件,就可以應(yīng)用云上技術(shù)服務(wù)快速開(kāi)發(fā)產(chǎn)品,進(jìn)行快速開(kāi)發(fā),降低了運(yùn)維的復(fù)雜度、提高了研發(fā)效率;而第三階段的云原生,是通過(guò)低代碼架構(gòu),讓業(yè)務(wù)人員迅速學(xué)習(xí)并且能開(kāi)發(fā)所需要的企業(yè)應(yīng)用。目前在國(guó)家政策的驅(qū)動(dòng)下,新基建和企業(yè)數(shù)字化轉(zhuǎn)型是大趨勢(shì),運(yùn)用云原生技術(shù)成為許多轉(zhuǎn)型中的企業(yè)的實(shí)際需求,這也是云原生商業(yè)化的機(jī)會(huì)。
會(huì)上,騰訊云虛擬化產(chǎn)品中心總監(jiān)陳立東做了題為《“TencentOS Server”為云而生的云原生OS》的演講,分享了騰訊云在操作系統(tǒng)研發(fā)方面的進(jìn)展。據(jù)介紹,騰訊自2010年就開(kāi)始自研操作系統(tǒng),隨著越來(lái)越多的業(yè)務(wù)采用云原生的方式設(shè)計(jì)自己的軟件架構(gòu),操作系統(tǒng)也面臨云原生領(lǐng)域新的技術(shù)挑戰(zhàn),對(duì)操作系統(tǒng)提出了眾多新的要求。比如,需要提供良好的在內(nèi)核級(jí)別的隔離技術(shù),確保容器之間相互之間完美的隔離性;需要提供一個(gè)容器級(jí)別的完善監(jiān)控指標(biāo),給到上層業(yè)務(wù)監(jiān)控,確保整個(gè)容器運(yùn)行在一個(gè)健康的狀態(tài);需要一個(gè)良好的定位工具,可以快速定位整個(gè)內(nèi)核運(yùn)行過(guò)程中性能抖動(dòng)問(wèn)題,保證業(yè)務(wù)的穩(wěn)定運(yùn)行;最后,整個(gè)操作系統(tǒng)需要針對(duì)云原生進(jìn)行定制開(kāi)發(fā),滿足云原生定制場(chǎng)景的需求,比如滿足容器快速啟動(dòng)的需求。
為了解決這些挑戰(zhàn),團(tuán)隊(duì)在云原生領(lǐng)域持續(xù)深度開(kāi)發(fā)。目前最新版本的TencentOS Server3發(fā)行版可以達(dá)到極致的穩(wěn)定,經(jīng)歷過(guò)千萬(wàn)級(jí)的實(shí)地部署規(guī)模;同時(shí)針對(duì)云原生深度定制優(yōu)化,有專業(yè)的團(tuán)隊(duì)持續(xù)進(jìn)行性能優(yōu)化,并且是完全開(kāi)源的操作系統(tǒng)。
具體的云原生的優(yōu)化方向上,騰訊云推出了離線混部解決方案RUE,將計(jì)算量較大的離線業(yè)務(wù)與在線業(yè)務(wù)放在同一個(gè)服務(wù)器,以降低運(yùn)營(yíng)成本。目前RUE系統(tǒng)已經(jīng)在騰訊內(nèi)部的微信、廣告、游戲AI、視頻轉(zhuǎn)碼等多個(gè)業(yè)務(wù)大規(guī)模落地,并對(duì)外輸出,曾幫助客戶企業(yè)將CPU利用率提升到50%,降低運(yùn)營(yíng)成本43%。
其次,為了解決實(shí)際業(yè)務(wù)中抖動(dòng)的問(wèn)題,為云原生提供平穩(wěn)的運(yùn)營(yíng)環(huán)境,團(tuán)隊(duì)開(kāi)發(fā)了云原生SLI。它的核心思想是將整個(gè)內(nèi)核子系統(tǒng)運(yùn)行狀態(tài)進(jìn)行統(tǒng)計(jì),對(duì)外提供接口來(lái)提供給業(yè)務(wù)團(tuán)隊(duì)進(jìn)行監(jiān)控;同時(shí)開(kāi)發(fā)了monitor buffer,保存抖動(dòng)瞬間內(nèi)核關(guān)鍵信息,方便之后的快速對(duì)應(yīng)?!巴ㄟ^(guò)這套機(jī)制,我們成功定位和解決了多個(gè)由于內(nèi)核長(zhǎng)時(shí)間進(jìn)入系統(tǒng)調(diào)用而導(dǎo)致業(yè)務(wù)抖動(dòng)的問(wèn)題?!标惲|說(shuō)。
此外在性能優(yōu)化方面,騰訊云性能優(yōu)化團(tuán)隊(duì)已經(jīng)持續(xù)五年不斷研發(fā)優(yōu)化,并將性能優(yōu)化的工作積極貢獻(xiàn)到上游社區(qū),其中有9個(gè)性能優(yōu)化技術(shù)被Linux&KVM社區(qū)評(píng)為年度核心突破,有41個(gè)優(yōu)化項(xiàng)被社區(qū)接納,同時(shí)騰訊云也是國(guó)內(nèi)唯一一家連續(xù)五年進(jìn)入KVM全球企業(yè)開(kāi)源貢獻(xiàn)榜的企業(yè)。
在開(kāi)源共建方面,OpenCloudOS社區(qū)由開(kāi)放原子開(kāi)源基金會(huì)托管和指導(dǎo),以保證其中立性。陳立東表示,騰訊作為開(kāi)源云操作系統(tǒng)社區(qū)發(fā)起方之一,會(huì)將騰訊在OS領(lǐng)域所積累的研發(fā)經(jīng)驗(yàn)完全貢獻(xiàn)到OpenCloudOS社區(qū)中;同時(shí)會(huì)持續(xù)投入大量的研發(fā)人力,并將自身運(yùn)營(yíng)中發(fā)現(xiàn)的問(wèn)題及時(shí)反饋給社區(qū),保證OpenCloudOS發(fā)行版穩(wěn)定,為廣大行業(yè)提供一個(gè)穩(wěn)定并值得信賴的操作系統(tǒng)。目前開(kāi)源云OS社區(qū)已經(jīng)有20多家聯(lián)合發(fā)起方,覆蓋了芯片、服務(wù)器、操作系統(tǒng)、云廠商,金融等多行業(yè)。他也呼吁軟件廠商、硬件廠商、開(kāi)發(fā)者、行業(yè)用戶積極加入到開(kāi)源云社區(qū),本著互惠互利的原則,將社區(qū)發(fā)展成具備良好生態(tài)的操作系統(tǒng)社區(qū)。
除了云原生操作系統(tǒng),多云以及硬件異構(gòu)和硬件平臺(tái)異構(gòu)也是未來(lái)重要的技術(shù)方向,騰訊自2009年開(kāi)始,便在容器技術(shù)方面持續(xù)積累,也有大量在云原生領(lǐng)域的的業(yè)務(wù)應(yīng)用。騰訊云容器產(chǎn)品中心技術(shù)總監(jiān)周亮宇介紹了2019年由騰訊自研和開(kāi)源的企業(yè)級(jí)容器管理平臺(tái)TKEStack,該項(xiàng)目在2020年作為首批孵化項(xiàng)目,捐獻(xiàn)給開(kāi)放原子開(kāi)源基金會(huì)。
TKEStack是一個(gè)完整的多租戶多集群容器管理平臺(tái),具備多種版本集群的自動(dòng)化創(chuàng)建、升級(jí)、擴(kuò)容、刪除能力,無(wú)論是較小的環(huán)境還是大企業(yè)更復(fù)雜的環(huán)境,都可以方便地通過(guò)在線或離線的方式部署安裝,國(guó)產(chǎn)OS和TencentOS是TKEStack安裝的優(yōu)選操作系統(tǒng)。據(jù)介紹,TKEStack集成了業(yè)務(wù)的集群資源、命名空間、配額等管理能力,能幫助企業(yè)高效地進(jìn)行應(yīng)用程序發(fā)布。
目前TKEStack在公有云、私有云都得到了廣泛的使用,并成為騰訊云、公有云TKE和EKS的底座,“大家如果有用過(guò)騰訊云TKE的控制臺(tái),可以看到資源管理的界面跟TKEStack是一模一樣的,所有的這些集群內(nèi)Kubernetes原生和CRD的資源管理,其實(shí)都是通過(guò)TKEStack來(lái)管理。”周亮宇說(shuō)。在私有云場(chǎng)景,騰訊的專有云和TKE企業(yè)版的底座管理、業(yè)務(wù)管理相關(guān)邏輯,也全部使用TKEStack。
作為開(kāi)源項(xiàng)目,TKEStack能夠成為商業(yè)化產(chǎn)品的底座,源于其技術(shù)上的多項(xiàng)核心優(yōu)勢(shì)。首先在設(shè)計(jì)上,TKEStack支持AppID和業(yè)務(wù)雙維度的租戶管理,支持硬多租和軟多租,可以滿足大型企業(yè)在子公司、部門(mén)等不同維度實(shí)現(xiàn)更好的分級(jí)資源管理。其次也能很方便的和企業(yè)現(xiàn)有的統(tǒng)一認(rèn)證中心、授權(quán)中心實(shí)現(xiàn)對(duì)接。
周亮宇認(rèn)為,除了技術(shù)優(yōu)勢(shì)外,更重要的是生態(tài)值得信任?!?019年,從第一行代碼開(kāi)始寫(xiě)的時(shí)候,我們就已經(jīng)把TKEStack整個(gè)代碼完全貢獻(xiàn)托管給GitHub上開(kāi)源?!苯刂聊壳?.8版本,TKEStack經(jīng)歷了24個(gè)版本的發(fā)布,提交數(shù)達(dá)到1500,所有公有云特性都是毫無(wú)保留的放在TKEStack社區(qū)里,同時(shí)TKEStack用到的組件全部來(lái)自開(kāi)源社區(qū)的其它產(chǎn)品。“一旦哪天您對(duì)TKEStack不滿意了,不用TKEStack這個(gè)平臺(tái),創(chuàng)建出來(lái)的集群還是照樣可以接管和升級(jí),我們是站在一個(gè)完整開(kāi)放的態(tài)度去做這個(gè)事情?!敝芰劣钫f(shuō)。
在微服務(wù)領(lǐng)域,為了解決微服務(wù)維護(hù)實(shí)例問(wèn)題,產(chǎn)生了大量的服務(wù)治理框架和產(chǎn)品,但如何實(shí)現(xiàn)框架、網(wǎng)格、K8s服務(wù)的統(tǒng)一治理、保證超大規(guī)模服務(wù)注冊(cè)中心的穩(wěn)定性,一直以來(lái)都是困擾很多開(kāi)發(fā)者的難題。不久前,騰訊開(kāi)源了自研的“PolarisMesh”框架,為此提供了解決問(wèn)題的途徑,“PolarisMesh”在騰訊內(nèi)部經(jīng)歷了四次功能和架構(gòu)迭代升級(jí),積累了騰訊從虛擬機(jī)時(shí)代到容器時(shí)代分布式服務(wù)治理的經(jīng)驗(yàn),截至2021年9月,騰訊注冊(cè)的PolarisMesh服務(wù)節(jié)點(diǎn)已經(jīng)突破了五百萬(wàn),幾乎90%以上的業(yè)務(wù)部門(mén)都在使用PolarisMesh。騰訊云微服務(wù)中心技術(shù)總監(jiān)王洪智在演講中詳細(xì)介紹了PolarisMesh與其它開(kāi)源組件的區(qū)別和優(yōu)勢(shì)。
首先,PolarisMesh有非常豐富的一體化服務(wù)發(fā)現(xiàn)和治理功能,可以解決服務(wù)發(fā)現(xiàn)和治理中所有的問(wèn)題,而其它的開(kāi)源組件大多功能較為單一。由于PolarisMesh提供了豐富的系統(tǒng)組件,適配不同微服務(wù)開(kāi)發(fā)的技術(shù)站,用戶即使沒(méi)有使用任何框架也可以簡(jiǎn)單地調(diào)用PolarisMesh的SDK,實(shí)現(xiàn)全量的服務(wù)發(fā)現(xiàn)和治理功能。
其次,來(lái)自騰訊內(nèi)部海量業(yè)務(wù)的不斷打磨,讓PolarisMesh具備高可用性和高擴(kuò)展性。第三,PolarisMesh統(tǒng)一了VMmare和K8s,支持K8s服務(wù)和網(wǎng)格Sidecar的自動(dòng)注入,支持K8s多集群的全局服務(wù)發(fā)現(xiàn)和治理,打通了K8s和框架的服務(wù)發(fā)現(xiàn)和治理體系,打通了K8s和虛擬機(jī)的服務(wù)發(fā)現(xiàn)和治理體系。
在騰訊內(nèi)部,微信支付就使用PolarisMesh實(shí)現(xiàn)了路由和跨地域的切換,以及流量調(diào)度功能;2019年在騰訊與央視頻合作的跨年項(xiàng)目中,也使用到了PolarisMesh。目前,在滿足騰訊海量業(yè)務(wù)的場(chǎng)景情況下,PolarisMesh開(kāi)源后,也可以解決其它公司遇到的共性的問(wèn)題。王洪智表示:“我們的產(chǎn)品通過(guò)云給大家提供企業(yè)級(jí)服務(wù),減少技術(shù)研發(fā)或者運(yùn)維的成本。PolarisMesh項(xiàng)目的所有組件都已經(jīng)提交到GitHub上,對(duì)外開(kāi)源包括核心組件以及新開(kāi)源的組件,PolarisMesh的功能設(shè)計(jì)也考慮到開(kāi)源之后的擴(kuò)展性,采用插件化的方式,外部使用的時(shí)候也可以對(duì)每一個(gè)功能做定制化的插件,解決一些特有的問(wèn)題,降低外部開(kāi)發(fā)使用PolarisMesh的成本?!?/p>
在開(kāi)源云原生領(lǐng)域,還有一項(xiàng)重要的技術(shù)備受關(guān)注,就是數(shù)據(jù)庫(kù)?,F(xiàn)場(chǎng),騰訊數(shù)據(jù)庫(kù)技術(shù)總監(jiān)張青林也分享了企業(yè)級(jí)云原生數(shù)據(jù)庫(kù)TDSQL-C在可用性、性能和可靠性方面實(shí)現(xiàn)的多維度突破。
據(jù)介紹,TDSQL-C分為計(jì)算和存儲(chǔ),計(jì)算主要負(fù)責(zé)原子性、一致性,ACID里ACI特性的實(shí)現(xiàn),存儲(chǔ)主要負(fù)責(zé)數(shù)據(jù)持久化。相比傳統(tǒng)數(shù)據(jù)庫(kù),TDSQL-C通過(guò)將計(jì)算和存儲(chǔ)解耦,可以支持PB級(jí)別的存儲(chǔ),而且擴(kuò)縮容極快,備份能力也很強(qiáng),并且可以實(shí)現(xiàn)秒級(jí)啟動(dòng)關(guān)閉,更加方便且節(jié)約成本。
張青林用一個(gè)例子來(lái)作解釋:“如果我們要有新業(yè)務(wù)或者新游戲在開(kāi)發(fā)測(cè)試過(guò)程中,之前購(gòu)買(mǎi)CDB實(shí)例的計(jì)費(fèi)取決于本身購(gòu)買(mǎi)的規(guī)格,以及你使用實(shí)例所需要的時(shí)間。但是TDSQL—C里面,價(jià)格取決于計(jì)算時(shí)間節(jié)點(diǎn)的價(jià)格和存儲(chǔ)所付出的價(jià)格,只有真正使用服務(wù)過(guò)程中才會(huì)計(jì)費(fèi),整個(gè)服務(wù)監(jiān)控力度達(dá)到秒級(jí)級(jí)別?!背酥猓啾葌鹘y(tǒng)數(shù)據(jù)庫(kù),TDSQL—C的彈性容量特性可以實(shí)現(xiàn)按需擴(kuò)容,按操作本身產(chǎn)生的數(shù)據(jù)量動(dòng)態(tài)計(jì)費(fèi),可以更好地控制成本。
TDSQL-C這些特性的實(shí)現(xiàn),離不開(kāi)騰訊數(shù)據(jù)庫(kù)團(tuán)隊(duì)對(duì)產(chǎn)品的不斷優(yōu)化,包括對(duì)可靠性、能用性、深度結(jié)合業(yè)務(wù)所做的優(yōu)化。張青林表示,未來(lái)TDSQL-C的演進(jìn)還會(huì)追求更加極致的讀寫(xiě)性能,以及更快的日志響應(yīng)速度和更大的整體吞吐量,并提供金融級(jí)的可靠性和跨區(qū)域?yàn)?zāi)備等。
當(dāng)前云原生領(lǐng)域的開(kāi)源項(xiàng)目層出不窮,2020年,CNCF 共接納了 35 個(gè)項(xiàng)目加入基金會(huì),托管的項(xiàng)目總數(shù)超過(guò)80個(gè)。在云原生領(lǐng)域,開(kāi)源商業(yè)化的發(fā)展趨勢(shì)越來(lái)越明顯,2020 年,國(guó)內(nèi)發(fā)生了至少 11 起開(kāi)源領(lǐng)域投融資事件,綜合累計(jì)融資額接近 30 億人民幣,云原生開(kāi)源發(fā)展與商業(yè)化也成了當(dāng)下值得探討的問(wèn)題。
關(guān)鍵詞: 資訊 通信世界網(wǎng) 2021騰訊數(shù)字生態(tài)大會(huì) 云原生 數(shù)據(jù)庫(kù) 開(kāi)源