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