葉理燈,UCloud實(shí)驗(yàn)室負(fù)責(zé)人
葉理燈,UCloud實(shí)驗(yàn)室負(fù)責(zé)人。現(xiàn)負(fù)責(zé) UCloud 創(chuàng)新產(chǎn)品研發(fā),專注面向企業(yè)的云計(jì)算產(chǎn)品的研發(fā)及運(yùn)營。葉理燈擁有 10 年以上豐富的互聯(lián)網(wǎng)研發(fā)經(jīng)驗(yàn),先后任職于騰訊、盛大云等互聯(lián)網(wǎng)公司,從事海量分布式后臺系統(tǒng)研發(fā)及運(yùn)營工作。
定制違背了K8S初衷,提供原生K8S產(chǎn)品
記者:在官方的K8S 發(fā)行版之上,各方云廠商提供K8S服務(wù)時都有一些自己的定制和調(diào)整,今天大會上提及的 UCloud的K8S 發(fā)行版 UK8S 主要做了哪些定制,有什么特色呢?
葉理燈:如果說定制K8S的話,其實(shí)是違背了K8S的初衷。我們并沒有定制K8S,我們是基于公有云給用戶提供了原生的K8S 產(chǎn)品。在公有云上提供原生的K8S,其實(shí)要做很多的工作,例如與公有云的計(jì)算、網(wǎng)絡(luò)和存儲的整合,給用戶提供一個開箱即用的原生K8S集群等等。
我為什么說不應(yīng)該定制呢?因?yàn)榇蠹抑繮aaS發(fā)展到今天,一直存在的一個問題就是供應(yīng)商綁定的問題。而K8S之所以那么有生命力,之所以迅速流行,是因?yàn)樗峁┝艘粋€開源的標(biāo)準(zhǔn),讓用戶使用 K8S PaaS平臺,可以避免廠商綁定。也就是說你的服務(wù)在某個服務(wù)商的K8S上運(yùn)行,可以無縫的遷移到另外一個服務(wù)商。
作為云廠商其實(shí)最重要的工作是,基于我們自身云平臺的體系,提供原生的K8S給用戶使用,幫助他們減少在集群管理和資源整合方面的工作和投入。例如,我們網(wǎng)絡(luò)能力、存儲能力和計(jì)算能力的整合,就是讓用戶享受到原生K8S的好處,同時避免了很多運(yùn)維的負(fù)擔(dān)。
公有云的K8S處在底層IaaS和上層應(yīng)用之間,一方面向下整合IaaS能力,一方面向上托管客戶的應(yīng)用。在整合IaaS方面,不改變K8S原生特性,因?yàn)镵8S本身架構(gòu)足夠開放,例如在我們實(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 提供一些周邊的功能以幫助用戶提高效率,但它和提供一個一致的K8S環(huán)境不矛盾。
另外一方面,如果說定制的概念是指基于K8S本身開發(fā)體系所提供的插件機(jī)制去做二次開發(fā),那每家廠商都要定制,因?yàn)镵8S本身不是一個產(chǎn)品級就緒的環(huán)境,需要使用者去適配網(wǎng)絡(luò)和存儲還有計(jì)算,因?yàn)槊總€公有云廠商基于自己的IaaS去提供K8S產(chǎn)品,必然要去開發(fā)插件。
綜上,向用戶應(yīng)該提供原生的、標(biāo)準(zhǔn)的 K8S 產(chǎn)品,但底層應(yīng)該基于自身 IaaS 平臺去定制,本質(zhì)還是為了提高用戶使用 K8S 的效率,讓用戶開箱即用。
K8S落地挑戰(zhàn):改造成本和人才問題
記者:你覺得目前國內(nèi)云廠商提供的K8S集群編排服務(wù)在推廣方面目前欠缺的是什么?是什么阻礙了客戶進(jìn)一步去使用這些容器集群服務(wù)?
葉理燈: K8S以容器技術(shù)為核心、以容器鏡像為打包標(biāo)準(zhǔn)的特點(diǎn),意味著如果要遷移到這個體系下,客戶需要將軟件做容器化打包和微服務(wù)改造,這個是有成本的。K8S的特點(diǎn)決定它是運(yùn)維和研發(fā)之間的橋梁,這樣就要求公司的研發(fā)過程需要跟著改造。我們看到很多公司的運(yùn)維人員有動力去推動,而研發(fā)人員則沒有動力,因?yàn)樗淖兞搜邪l(fā)的習(xí)慣和流程,增加了負(fù)擔(dān);當(dāng)然也有的公司是研發(fā)希望用K8S管理應(yīng)用,而需要運(yùn)維跟著變。這樣導(dǎo)致遷移到K8S的工作較重,但一旦這個階段過去了,遷移后的效率和成本優(yōu)勢就體現(xiàn)出來了。
因此,這是個新技術(shù)落地的問題,涉及到用戶教育和習(xí)慣的改變,這個需要社區(qū)和商業(yè)公司一起完成。而且每家公司的技術(shù)路線和文化不一樣,上K8S的路徑也不一樣,所以沒有一個放之四海皆準(zhǔn)的最佳實(shí)踐,但隨著容器和微服務(wù)逐漸落地,K8S作為事實(shí)標(biāo)準(zhǔn),會逐步普及。
除了改造業(yè)務(wù)的成本,另外一方面是K8S人才比較缺乏,不同用戶的情況不一樣,有些用戶的運(yùn)維人員本來就很少,不可能專門抽出一兩個人去做K8S,以及用戶又擔(dān)心它出問題誰來幫我解決?其實(shí),應(yīng)該是云廠商再往前走一步,除了幫用戶構(gòu)建一個K8S平臺,還要幫助解決很多技術(shù)上的問題。 UCloud現(xiàn)在就是這么做的,一個用戶進(jìn)來,我們會拉一個群,他們所有技術(shù)問題我們幫他們解決。在落地方面,在人才和K8S本身對用戶架構(gòu)改造方面,我們可以多做點(diǎn)工作,幫助客戶培養(yǎng)K8S的運(yùn)維人員和為用戶制定架構(gòu)遷移的方案。但我相信隨著技術(shù)的發(fā)展和普及,越來越多人懂K8S。
最后,K8S本身也在發(fā)展,K8S剛推出的時候是為了讓大家重新面向應(yīng)用來運(yùn)維,但是大部分用戶用K8S同時管理集群里的節(jié)點(diǎn)和應(yīng)用,就會同時有兩個負(fù)擔(dān)。我覺得目標(biāo)應(yīng)該是用戶直接拿一個容器就可以跑起來,而不用知道它的節(jié)點(diǎn)在哪里,即Serverless形態(tài)。一旦這種技術(shù)更加成熟,對容器技術(shù)的落地也有很大的推動作用。另一方面,Serverless 形態(tài)也給用戶節(jié)省了大量的成本,按需付費(fèi),免去用戶的運(yùn)維成本。我覺得K8S的落地已經(jīng)是個趨勢了,是不可避免的,但是K8S本身是要往前進(jìn)步,它的革命還沒有完成。
容器與Serverless:覆蓋場景不同,非替換關(guān)系
記者:你覺得現(xiàn)在目前Serverless的發(fā)展對于容器這種創(chuàng)新技術(shù)的迭代升級有什么影響?是不是可以讓容器更加的輕量化?
葉理燈:不完全是這樣,其實(shí)Serverless剛出現(xiàn)的時候是針對計(jì)算的。計(jì)算分很多層次,有物理機(jī)、虛擬機(jī)、容器和Serverless。Serverless剛出來的時候,它等同于FaaS,有一個對標(biāo)的產(chǎn)品叫Lambda。
Serverless出現(xiàn)的動力是,由于云計(jì)算的發(fā)展,帶來了如對象存儲等很多豐富的中間件,Serverless概念的提出是希望應(yīng)用開發(fā)者可以不用寫后端邏輯,直接把邏輯寫在客戶端,組合云上的一些服務(wù)來完成業(yè)務(wù)邏輯,這樣就沒有管理后端資源的負(fù)擔(dān)了。但是后來發(fā)現(xiàn)很多時候還是需要后端代碼的,所以就演變成如果有后端代碼,就拆成函數(shù),托管在FaaS服務(wù)中,這樣的話,你依然是不用管理服務(wù)器的,你用的還是一個個服務(wù),沒有服務(wù)器管理負(fù)擔(dān)。
這個概念在不斷進(jìn)步,2017年的時候 AWS 提出了一個新的概念,重新定義了什么叫Serverless,只要一個服務(wù)具備了四方面特性:免運(yùn)維、按需付費(fèi)、高可用和自動擴(kuò)容,這個服務(wù)就是個Serverless的服務(wù)。所以Serverless這個概念可以對應(yīng)FaaS,也可以代表一種架構(gòu),也可以代表一種服務(wù)的形態(tài),例如Aurora Serverless就是把一個數(shù)據(jù)庫的服務(wù)變成Serverless的。
容器和Serverless的區(qū)別在于,Serverless是無容器的,除了不關(guān)注服務(wù)器,也看不到容器。兩者是面向不同場景的,并不是互相替代的關(guān)系。FaaS的特點(diǎn),接收一個請求拉起一個函數(shù)執(zhí)行,函數(shù)是無狀態(tài)的,它的執(zhí)行地點(diǎn)也不固定,這意味著延時相對于常駐進(jìn)程要高,對一些延時敏感的地方它是不合適的,但是有些場景是非常合適的。我舉個例子,在IoT場景中,有幾十萬的設(shè)備,為了節(jié)省電源,它們大部分時候處于睡眠狀態(tài),如果用傳統(tǒng)的架構(gòu)去為這幾十萬設(shè)備服務(wù)的話,肯定要考慮并發(fā)連接的時候,應(yīng)該有多少計(jì)算資源去服務(wù),這很浪費(fèi)成本。所以最好的方式,來一個請求就拉一個函數(shù)服務(wù)一下,這就很節(jié)省成本。
這是按需的,但它不是完整的替換,相當(dāng)于說IT領(lǐng)域里面不同的場景其實(shí)是使用不同的服務(wù)。我們推出這個服務(wù)的原因,背后的動力還是成本和效率,在某個場景上用某個解決方案它的成本更低、效率更高,而不是說新的東西會替換老的,因?yàn)椴煌瑘鼍靶枨笫遣灰粯拥?。K8S接受的用戶比FaaS的用戶更多,因?yàn)镵8S的面更廣,它覆蓋的場景更多,但是它不是替換的。
記者:目前,國內(nèi)客戶對Serverless和PaaS的接受和普及程度是怎么樣的?
葉理燈:我覺得在國內(nèi)還是處于起步和用戶教育階段。2014年Lambda推出的時候,它的滲透率是72%,什么原因呢?有72%的人用的lambda,我們有個Serverless產(chǎn)品叫UGC,騰訊有FaaS,阿里也有PaaS,目前都不算是滲透率很高。
原因有幾個。第一、國內(nèi)用戶對新技術(shù)接受程度是比較低的,可能是習(xí)慣問題,國內(nèi)的IT的發(fā)展水平跟國外也有差距,有5、6年差距;其次,對國內(nèi)用戶來說,把一個架構(gòu)改成Serverless架構(gòu),其實(shí)成本是很高,而且改造的收益和規(guī)模相關(guān);最后,F(xiàn)aaS本身不是一個獨(dú)立能起作用的產(chǎn)品,你會看到Lambda推出時,不是個獨(dú)立的產(chǎn)品,它是體系的副產(chǎn)品,例如其他產(chǎn)品要開放事件源,通過事件去觸發(fā)Lambda函數(shù)執(zhí)行。只有產(chǎn)品體系開放足夠多的事件源,F(xiàn)aaS才能滲透到整個平臺里面去,才能覆蓋更多場景。
我們國內(nèi)的廠商還沒有做到這一點(diǎn)。AWS 剛推出FaaS時,它主要是S3上的圖片處理,不是每個用戶都有這個場景,因此滲透率不高。隨著 API 網(wǎng)關(guān)方式調(diào)用,和體系開放事件源越來越豐富,覆蓋場景越來越多,我相信FaaS會逐步落地。
在現(xiàn)場的演講中,提及了一個叫USQL的產(chǎn)品,就是Serverless方式的大數(shù)據(jù)分析工具,StepFlow用Serverless的方式編排你的程序,這些都是Serverless的服務(wù)。
未來,虛擬化容器值得關(guān)注
記者:目前UK8S的主要發(fā)展方向有什么路線圖嗎?UK8S 是否已經(jīng)開源?
葉理燈:有的,例如說我們讓K8S管理更多的資源、異構(gòu)的資源,還有物理機(jī)、GPU資源,希望用戶可以通過K8S對這些資源進(jìn)行統(tǒng)一地管理。另外,再往業(yè)務(wù)層面走會提供一些微服務(wù)的基礎(chǔ)設(shè)施,通過產(chǎn)品化,一方面減輕用戶的資源負(fù)擔(dān),另一方面減輕應(yīng)用層的架構(gòu)負(fù)擔(dān),從而盡量減輕用戶遷移到K8S的負(fù)擔(dān)。
目前 UK8S插件還屬于正在整理開源的階段,還沒有正式的發(fā)布,但我們已經(jīng)小范圍的開放了代碼,把我們的插件代碼分發(fā)給到很多用戶,但公開的開源,我們希望做的更加規(guī)范一點(diǎn)再進(jìn)行,因?yàn)槲覀兊牟寮€在不斷的迭代中,有一天我們覺得達(dá)到一定程度的穩(wěn)定了,我們就會進(jìn)行公開開源。
記者:你認(rèn)為未來K8S以及容器的技術(shù)方向上比較值得重點(diǎn)關(guān)注的技術(shù)點(diǎn)是什么?
葉理燈:虛擬化容器。未來的方向我們相信是Serverless,這個也是云計(jì)算應(yīng)該做的,持續(xù)地為了用戶提高效率和降低成本。剛才我也說了,現(xiàn)在用戶使用K8S還是有資源管理的負(fù)擔(dān)的,不是完全的面向應(yīng)用來運(yùn)維,所以需要解決這個問題,讓計(jì)算節(jié)點(diǎn)對用戶透明。用戶通過Docker鏡像和配置文件就可以把一個應(yīng)用跑起來,而不用去管資源問題。這需要我們?nèi)ヌ峁┮粋€海量的集群去跑客戶的應(yīng)用,這就存在一個問題,多個客戶的應(yīng)用可能跑在一個節(jié)點(diǎn)上,考慮Docker本身的隔離問題,我們需要類似虛擬化容器的計(jì)算方式去做隔離,同時又希望擁有Docker本身輕量級快速啟動的效率,現(xiàn)在看來,虛擬化容器是比較符合這個需求的。
尾聲
通過和葉理燈的交談,梳理了我對云計(jì)算、容器技術(shù)和 Serverless 等方面的一些認(rèn)識,作為一個幾年來親自踐行云計(jì)算發(fā)展,并有深入探討和研究的專家,他的觀點(diǎn)和認(rèn)識或許值得從業(yè)云計(jì)算行業(yè)的技術(shù)人員參考。
【文/Linux中國 老王】