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