葉理燈,UCloud實(shí)驗(yàn)室負(fù)責(zé)人

葉理燈,UCloud實(shí)驗(yàn)室負(fù)責(zé)人?,F(xiàn)負(fù)責(zé) UCloud 創(chuàng)新產(chǎn)品研發(fā),專(zhuān)注面向企業(yè)的云計(jì)算產(chǎn)品的研發(fā)及運(yùn)營(yíng)。葉理燈擁有 10 年以上豐富的互聯(lián)網(wǎng)研發(fā)經(jīng)驗(yàn),先后任職于騰訊、盛大云等互聯(lián)網(wǎng)公司,從事海量分布式后臺(tái)系統(tǒng)研發(fā)及運(yùn)營(yíng)工作。

定制違背了K8S初衷,提供原生K8S產(chǎn)品

記者:在官方的K8S 發(fā)行版之上,各方云廠商提供K8S服務(wù)時(shí)都有一些自己的定制和調(diào)整,今天大會(huì)上提及的 UCloud的K8S 發(fā)行版 UK8S 主要做了哪些定制,有什么特色呢?

葉理燈如果說(shuō)定制K8S的話(huà),其實(shí)是違背了K8S的初衷。我們并沒(méi)有定制K8S,我們是基于公有云給用戶(hù)提供了原生的K8S 產(chǎn)品。在公有云上提供原生的K8S,其實(shí)要做很多的工作,例如與公有云的計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)的整合,給用戶(hù)提供一個(gè)開(kāi)箱即用的原生K8S集群等等。

我為什么說(shuō)不應(yīng)該定制呢?因?yàn)榇蠹抑繮aaS發(fā)展到今天,一直存在的一個(gè)問(wèn)題就是供應(yīng)商綁定的問(wèn)題。而K8S之所以那么有生命力,之所以迅速流行,是因?yàn)樗峁┝艘粋€(gè)開(kāi)源的標(biāo)準(zhǔn),讓用戶(hù)使用 K8S PaaS平臺(tái),可以避免廠商綁定。也就是說(shuō)你的服務(wù)在某個(gè)服務(wù)商的K8S上運(yùn)行,可以無(wú)縫的遷移到另外一個(gè)服務(wù)商。

作為云廠商其實(shí)最重要的工作是,基于我們自身云平臺(tái)的體系,提供原生的K8S給用戶(hù)使用,幫助他們減少在集群管理和資源整合方面的工作和投入。例如,我們網(wǎng)絡(luò)能力、存儲(chǔ)能力和計(jì)算能力的整合,就是讓用戶(hù)享受到原生K8S的好處,同時(shí)避免了很多運(yùn)維的負(fù)擔(dān)。

公有云的K8S處在底層IaaS和上層應(yīng)用之間,一方面向下整合IaaS能力,一方面向上托管客戶(hù)的應(yīng)用。在整合IaaS方面,不改變K8S原生特性,因?yàn)镵8S本身架構(gòu)足夠開(kāi)放,例如在我們實(shí)現(xiàn)的網(wǎng)絡(luò)插件,是基于我們IaaS的VPC網(wǎng)絡(luò),讓pod可以和我們托管區(qū)和物理云區(qū)域打通,這是我們IaaS能力在K8S產(chǎn)品上的體現(xiàn),算是我們的特色之一,但這是在K8S體系支持下的插件方式實(shí)現(xiàn)的,不影響我們提供原生K8S;在應(yīng)用層面,廠商也可以基于 K8S 提供一些周邊的功能以幫助用戶(hù)提高效率,但它和提供一個(gè)一致的K8S環(huán)境不矛盾。

另外一方面,如果說(shuō)定制的概念是指基于K8S本身開(kāi)發(fā)體系所提供的插件機(jī)制去做二次開(kāi)發(fā),那每家廠商都要定制,因?yàn)镵8S本身不是一個(gè)產(chǎn)品級(jí)就緒的環(huán)境,需要使用者去適配網(wǎng)絡(luò)和存儲(chǔ)還有計(jì)算,因?yàn)槊總€(gè)公有云廠商基于自己的IaaS去提供K8S產(chǎn)品,必然要去開(kāi)發(fā)插件。

綜上,向用戶(hù)應(yīng)該提供原生的、標(biāo)準(zhǔn)的 K8S 產(chǎn)品,但底層應(yīng)該基于自身 IaaS 平臺(tái)去定制,本質(zhì)還是為了提高用戶(hù)使用 K8S 的效率,讓用戶(hù)開(kāi)箱即用。

K8S落地挑戰(zhàn):改造成本和人才問(wèn)題

記者:你覺(jué)得目前國(guó)內(nèi)云廠商提供的K8S集群編排服務(wù)在推廣方面目前欠缺的是什么?是什么阻礙了客戶(hù)進(jìn)一步去使用這些容器集群服務(wù)?

葉理燈: K8S以容器技術(shù)為核心、以容器鏡像為打包標(biāo)準(zhǔn)的特點(diǎn),意味著如果要遷移到這個(gè)體系下,客戶(hù)需要將軟件做容器化打包和微服務(wù)改造,這個(gè)是有成本的。K8S的特點(diǎn)決定它是運(yùn)維和研發(fā)之間的橋梁,這樣就要求公司的研發(fā)過(guò)程需要跟著改造。我們看到很多公司的運(yùn)維人員有動(dòng)力去推動(dòng),而研發(fā)人員則沒(méi)有動(dòng)力,因?yàn)樗淖兞搜邪l(fā)的習(xí)慣和流程,增加了負(fù)擔(dān);當(dāng)然也有的公司是研發(fā)希望用K8S管理應(yīng)用,而需要運(yùn)維跟著變。這樣導(dǎo)致遷移到K8S的工作較重,但一旦這個(gè)階段過(guò)去了,遷移后的效率和成本優(yōu)勢(shì)就體現(xiàn)出來(lái)了。

因此,這是個(gè)新技術(shù)落地的問(wèn)題,涉及到用戶(hù)教育和習(xí)慣的改變,這個(gè)需要社區(qū)和商業(yè)公司一起完成。而且每家公司的技術(shù)路線(xiàn)和文化不一樣,上K8S的路徑也不一樣,所以沒(méi)有一個(gè)放之四海皆準(zhǔn)的最佳實(shí)踐,但隨著容器和微服務(wù)逐漸落地,K8S作為事實(shí)標(biāo)準(zhǔn),會(huì)逐步普及。

除了改造業(yè)務(wù)的成本,另外一方面是K8S人才比較缺乏,不同用戶(hù)的情況不一樣,有些用戶(hù)的運(yùn)維人員本來(lái)就很少,不可能專(zhuān)門(mén)抽出一兩個(gè)人去做K8S,以及用戶(hù)又擔(dān)心它出問(wèn)題誰(shuí)來(lái)幫我解決?其實(shí),應(yīng)該是云廠商再往前走一步,除了幫用戶(hù)構(gòu)建一個(gè)K8S平臺(tái),還要幫助解決很多技術(shù)上的問(wèn)題。 UCloud現(xiàn)在就是這么做的,一個(gè)用戶(hù)進(jìn)來(lái),我們會(huì)拉一個(gè)群,他們所有技術(shù)問(wèn)題我們幫他們解決。在落地方面,在人才和K8S本身對(duì)用戶(hù)架構(gòu)改造方面,我們可以多做點(diǎn)工作,幫助客戶(hù)培養(yǎng)K8S的運(yùn)維人員和為用戶(hù)制定架構(gòu)遷移的方案。但我相信隨著技術(shù)的發(fā)展和普及,越來(lái)越多人懂K8S。

最后,K8S本身也在發(fā)展,K8S剛推出的時(shí)候是為了讓大家重新面向應(yīng)用來(lái)運(yùn)維,但是大部分用戶(hù)用K8S同時(shí)管理集群里的節(jié)點(diǎn)和應(yīng)用,就會(huì)同時(shí)有兩個(gè)負(fù)擔(dān)。我覺(jué)得目標(biāo)應(yīng)該是用戶(hù)直接拿一個(gè)容器就可以跑起來(lái),而不用知道它的節(jié)點(diǎn)在哪里,即Serverless形態(tài)。一旦這種技術(shù)更加成熟,對(duì)容器技術(shù)的落地也有很大的推動(dòng)作用。另一方面,Serverless 形態(tài)也給用戶(hù)節(jié)省了大量的成本,按需付費(fèi),免去用戶(hù)的運(yùn)維成本。我覺(jué)得K8S的落地已經(jīng)是個(gè)趨勢(shì)了,是不可避免的,但是K8S本身是要往前進(jìn)步,它的革命還沒(méi)有完成。

容器與Serverless:覆蓋場(chǎng)景不同,非替換關(guān)系

記者:你覺(jué)得現(xiàn)在目前Serverless的發(fā)展對(duì)于容器這種創(chuàng)新技術(shù)的迭代升級(jí)有什么影響?是不是可以讓容器更加的輕量化?

葉理燈:不完全是這樣,其實(shí)Serverless剛出現(xiàn)的時(shí)候是針對(duì)計(jì)算的。計(jì)算分很多層次,有物理機(jī)、虛擬機(jī)、容器和Serverless。Serverless剛出來(lái)的時(shí)候,它等同于FaaS,有一個(gè)對(duì)標(biāo)的產(chǎn)品叫Lambda。

Serverless出現(xiàn)的動(dòng)力是,由于云計(jì)算的發(fā)展,帶來(lái)了如對(duì)象存儲(chǔ)等很多豐富的中間件,Serverless概念的提出是希望應(yīng)用開(kāi)發(fā)者可以不用寫(xiě)后端邏輯,直接把邏輯寫(xiě)在客戶(hù)端,組合云上的一些服務(wù)來(lái)完成業(yè)務(wù)邏輯,這樣就沒(méi)有管理后端資源的負(fù)擔(dān)了。但是后來(lái)發(fā)現(xiàn)很多時(shí)候還是需要后端代碼的,所以就演變成如果有后端代碼,就拆成函數(shù),托管在FaaS服務(wù)中,這樣的話(huà),你依然是不用管理服務(wù)器的,你用的還是一個(gè)個(gè)服務(wù),沒(méi)有服務(wù)器管理負(fù)擔(dān)。

這個(gè)概念在不斷進(jìn)步,2017年的時(shí)候 AWS 提出了一個(gè)新的概念,重新定義了什么叫Serverless,只要一個(gè)服務(wù)具備了四方面特性:免運(yùn)維、按需付費(fèi)、高可用和自動(dòng)擴(kuò)容,這個(gè)服務(wù)就是個(gè)Serverless的服務(wù)。所以Serverless這個(gè)概念可以對(duì)應(yīng)FaaS,也可以代表一種架構(gòu),也可以代表一種服務(wù)的形態(tài),例如Aurora Serverless就是把一個(gè)數(shù)據(jù)庫(kù)的服務(wù)變成Serverless的。

容器和Serverless的區(qū)別在于,Serverless是無(wú)容器的,除了不關(guān)注服務(wù)器,也看不到容器。兩者是面向不同場(chǎng)景的,并不是互相替代的關(guān)系。FaaS的特點(diǎn),接收一個(gè)請(qǐng)求拉起一個(gè)函數(shù)執(zhí)行,函數(shù)是無(wú)狀態(tài)的,它的執(zhí)行地點(diǎn)也不固定,這意味著延時(shí)相對(duì)于常駐進(jìn)程要高,對(duì)一些延時(shí)敏感的地方它是不合適的,但是有些場(chǎng)景是非常合適的。我舉個(gè)例子,在IoT場(chǎng)景中,有幾十萬(wàn)的設(shè)備,為了節(jié)省電源,它們大部分時(shí)候處于睡眠狀態(tài),如果用傳統(tǒng)的架構(gòu)去為這幾十萬(wàn)設(shè)備服務(wù)的話(huà),肯定要考慮并發(fā)連接的時(shí)候,應(yīng)該有多少計(jì)算資源去服務(wù),這很浪費(fèi)成本。所以最好的方式,來(lái)一個(gè)請(qǐng)求就拉一個(gè)函數(shù)服務(wù)一下,這就很節(jié)省成本。

這是按需的,但它不是完整的替換,相當(dāng)于說(shuō)IT領(lǐng)域里面不同的場(chǎng)景其實(shí)是使用不同的服務(wù)。我們推出這個(gè)服務(wù)的原因,背后的動(dòng)力還是成本和效率,在某個(gè)場(chǎng)景上用某個(gè)解決方案它的成本更低、效率更高,而不是說(shuō)新的東西會(huì)替換老的,因?yàn)椴煌瑘?chǎng)景需求是不一樣的。K8S接受的用戶(hù)比FaaS的用戶(hù)更多,因?yàn)镵8S的面更廣,它覆蓋的場(chǎng)景更多,但是它不是替換的。

記者:目前,國(guó)內(nèi)客戶(hù)對(duì)Serverless和PaaS的接受和普及程度是怎么樣的?

葉理燈:我覺(jué)得在國(guó)內(nèi)還是處于起步和用戶(hù)教育階段。2014年Lambda推出的時(shí)候,它的滲透率是72%,什么原因呢?有72%的人用的lambda,我們有個(gè)Serverless產(chǎn)品叫UGC,騰訊有FaaS,阿里也有PaaS,目前都不算是滲透率很高。

原因有幾個(gè)。第一、國(guó)內(nèi)用戶(hù)對(duì)新技術(shù)接受程度是比較低的,可能是習(xí)慣問(wèn)題,國(guó)內(nèi)的IT的發(fā)展水平跟國(guó)外也有差距,有5、6年差距;其次,對(duì)國(guó)內(nèi)用戶(hù)來(lái)說(shuō),把一個(gè)架構(gòu)改成Serverless架構(gòu),其實(shí)成本是很高,而且改造的收益和規(guī)模相關(guān);最后,F(xiàn)aaS本身不是一個(gè)獨(dú)立能起作用的產(chǎn)品,你會(huì)看到Lambda推出時(shí),不是個(gè)獨(dú)立的產(chǎn)品,它是體系的副產(chǎn)品,例如其他產(chǎn)品要開(kāi)放事件源,通過(guò)事件去觸發(fā)Lambda函數(shù)執(zhí)行。只有產(chǎn)品體系開(kāi)放足夠多的事件源,F(xiàn)aaS才能滲透到整個(gè)平臺(tái)里面去,才能覆蓋更多場(chǎng)景。

我們國(guó)內(nèi)的廠商還沒(méi)有做到這一點(diǎn)。AWS 剛推出FaaS時(shí),它主要是S3上的圖片處理,不是每個(gè)用戶(hù)都有這個(gè)場(chǎng)景,因此滲透率不高。隨著 API 網(wǎng)關(guān)方式調(diào)用,和體系開(kāi)放事件源越來(lái)越豐富,覆蓋場(chǎng)景越來(lái)越多,我相信FaaS會(huì)逐步落地。

在現(xiàn)場(chǎng)的演講中,提及了一個(gè)叫USQL的產(chǎn)品,就是Serverless方式的大數(shù)據(jù)分析工具,StepFlow用Serverless的方式編排你的程序,這些都是Serverless的服務(wù)。

未來(lái),虛擬化容器值得關(guān)注

記者:目前UK8S的主要發(fā)展方向有什么路線(xiàn)圖嗎?UK8S 是否已經(jīng)開(kāi)源?

葉理燈:有的,例如說(shuō)我們讓K8S管理更多的資源、異構(gòu)的資源,還有物理機(jī)、GPU資源,希望用戶(hù)可以通過(guò)K8S對(duì)這些資源進(jìn)行統(tǒng)一地管理。另外,再往業(yè)務(wù)層面走會(huì)提供一些微服務(wù)的基礎(chǔ)設(shè)施,通過(guò)產(chǎn)品化,一方面減輕用戶(hù)的資源負(fù)擔(dān),另一方面減輕應(yīng)用層的架構(gòu)負(fù)擔(dān),從而盡量減輕用戶(hù)遷移到K8S的負(fù)擔(dān)。

目前 UK8S插件還屬于正在整理開(kāi)源的階段,還沒(méi)有正式的發(fā)布,但我們已經(jīng)小范圍的開(kāi)放了代碼,把我們的插件代碼分發(fā)給到很多用戶(hù),但公開(kāi)的開(kāi)源,我們希望做的更加規(guī)范一點(diǎn)再進(jìn)行,因?yàn)槲覀兊牟寮€在不斷的迭代中,有一天我們覺(jué)得達(dá)到一定程度的穩(wěn)定了,我們就會(huì)進(jìn)行公開(kāi)開(kāi)源。

記者:你認(rèn)為未來(lái)K8S以及容器的技術(shù)方向上比較值得重點(diǎn)關(guān)注的技術(shù)點(diǎn)是什么?

葉理燈:虛擬化容器。未來(lái)的方向我們相信是Serverless,這個(gè)也是云計(jì)算應(yīng)該做的,持續(xù)地為了用戶(hù)提高效率和降低成本。剛才我也說(shuō)了,現(xiàn)在用戶(hù)使用K8S還是有資源管理的負(fù)擔(dān)的,不是完全的面向應(yīng)用來(lái)運(yùn)維,所以需要解決這個(gè)問(wèn)題,讓計(jì)算節(jié)點(diǎn)對(duì)用戶(hù)透明。用戶(hù)通過(guò)Docker鏡像和配置文件就可以把一個(gè)應(yīng)用跑起來(lái),而不用去管資源問(wèn)題。這需要我們?nèi)ヌ峁┮粋€(gè)海量的集群去跑客戶(hù)的應(yīng)用,這就存在一個(gè)問(wèn)題,多個(gè)客戶(hù)的應(yīng)用可能跑在一個(gè)節(jié)點(diǎn)上,考慮Docker本身的隔離問(wèn)題,我們需要類(lèi)似虛擬化容器的計(jì)算方式去做隔離,同時(shí)又希望擁有Docker本身輕量級(jí)快速啟動(dòng)的效率,現(xiàn)在看來(lái),虛擬化容器是比較符合這個(gè)需求的。

尾聲

通過(guò)和葉理燈的交談,梳理了我對(duì)云計(jì)算、容器技術(shù)和 Serverless 等方面的一些認(rèn)識(shí),作為一個(gè)幾年來(lái)親自踐行云計(jì)算發(fā)展,并有深入探討和研究的專(zhuān)家,他的觀點(diǎn)和認(rèn)識(shí)或許值得從業(yè)云計(jì)算行業(yè)的技術(shù)人員參考。

【文/Linux中國(guó) 老王】

分享到

xiesc

相關(guān)推薦