“2019年亞太區(qū)最重要的云計算趨勢,無疑就是Serverless Computing無服務(wù)器計算技術(shù)”,這是全球著名的云原生技術(shù)公司Pivotal亞太及日本地區(qū)首席技術(shù)官Lawrence Crowther在2019云原生產(chǎn)業(yè)大會上接受采訪時所做的判斷。“在云原生技術(shù)體系中,Cloud Foundry相當(dāng)于微服務(wù)平臺、Kubernetes相當(dāng)于容器平臺,而作為無服務(wù)器計算技術(shù)的代表,F(xiàn)aaS函數(shù)即服務(wù)就是無服務(wù)器計算的實現(xiàn),三者三位一體形成了完整的云原生應(yīng)用體系。”
在2019年4月25日的首屆云原生產(chǎn)業(yè)大會上,中國信通院指出:2018年全球范圍內(nèi)的無服務(wù)器架構(gòu)的采納率急速上升,企業(yè)級的大規(guī)模采用也正在發(fā)生;國內(nèi)的Serverless市場尚未爆發(fā),但采納率也呈現(xiàn)抬頭之勢。實際上,以FaaS函數(shù)即服務(wù)為代表的無服務(wù)器技術(shù),有望在2019年出現(xiàn)爆發(fā)趨勢,一個很重要的前提是Kubernetes已經(jīng)成為公認(rèn)的云原生應(yīng)用體系中的其中一個核心技術(shù)實現(xiàn)。
Kubernetes作為無服務(wù)器基礎(chǔ)架構(gòu)的標(biāo)準(zhǔn)化能力,允許用戶在私有云環(huán)境或者是多云環(huán)境下運(yùn)行Serverless 應(yīng)用而無需擔(dān)心廠商鎖定問題。2018年底,由Pivotal、Google和其他行業(yè)領(lǐng)導(dǎo)企業(yè)發(fā)起的新的開源項目Knative,分為三大部分:Serving、Build和Eventing 。Pivotal推出了首個開放的跨多云環(huán)境的企業(yè)級無服務(wù)器平臺Pivotal Function Service(PFS),而Knative正是面向Kubernetes的無服務(wù)器開源技術(shù),支持多云模式。
Lawrence強(qiáng)調(diào),企業(yè)在私有云和本地環(huán)境中采用無服務(wù)器技術(shù)開發(fā)云原生應(yīng)用最大的好處,就是簡化了上云的過程以及統(tǒng)一了上云以后的應(yīng)用框架,而PFS最大的好處在于Day 2運(yùn)維——只需少量運(yùn)維工作即可在任意云平臺上完成事件驅(qū)動型計算任務(wù),特別適合人工智能和機(jī)器學(xué)習(xí)計算、電信及網(wǎng)絡(luò)運(yùn)維、工業(yè)和物聯(lián)網(wǎng)應(yīng)用等新一代云原生應(yīng)用場景。
Google Cloud技術(shù)負(fù)責(zé)人DeWitt Clinton曾表示: “Pivotal在Knative的設(shè)計和交付方面發(fā)揮了重要作用。Pivotal對企業(yè)客戶的深入了解影響了Knative的發(fā)展方向,而他們的實際技術(shù)貢獻(xiàn)產(chǎn)生了有意義的影響。我們很欣賞這種合作伙伴關(guān)系,并且很高興得知Pivotal計劃通過他們的PFS產(chǎn)品在Kubernetes上實現(xiàn)Knative組件的商業(yè)化。”
無服務(wù)器計算進(jìn)入多云時代
Serverless Computing無服務(wù)計算并不是新興概念,其實早在2012年就由云專家Ken Fromm 在其《軟件和應(yīng)用的未來是 Serverless》一書中率先提出,但當(dāng)時并未引起廣泛關(guān)注。2014年,AWS Lambda函數(shù)即計算推出后大受歡迎,讓無服務(wù)器計算走上了云計算的主舞臺。
Lawrence表示,自AWS Lambda出現(xiàn)以來到現(xiàn)在,無服務(wù)器技術(shù)都停留在公有云環(huán)境中。無論是微軟、谷歌、IBM還是其它云服務(wù)商,都在其公有云服務(wù)中提供了無服務(wù)器計算能力。當(dāng)然,這也不難理解,在云計算開始之初,以PaaS技術(shù)為代表的云原生開發(fā)技術(shù)和環(huán)境,主要的用戶是互聯(lián)網(wǎng)公司。而互聯(lián)網(wǎng)應(yīng)用,都是大規(guī)模的跨地區(qū)、多數(shù)據(jù)中心計算環(huán)境,因此對于無服務(wù)器計算有著天然的需求。
所謂無服務(wù)器計算,主要以FaaS(Function as a Service)函數(shù)即服務(wù)為主,其最大的特點就是向應(yīng)用屏蔽了底層計算資源調(diào)度和管理的細(xì)節(jié),開發(fā)者只需要關(guān)注業(yè)務(wù)邏輯和計算邏輯即可,其它諸如跨服務(wù)器、跨數(shù)據(jù)中心的計算資源水平伸縮和運(yùn)維管理等,則由FaaS平臺完成。Serverless應(yīng)用僅在觸發(fā)事件(Events)而調(diào)用函數(shù)(Function)進(jìn)行處理時,才按照實際計算資源用量來付費。
Pivotal早在2017年開發(fā)了Riff,作為基于Kubernetes的開源的多云和本地?zé)o服務(wù)器計算框架。于2018年7月開源的Knative則基于Riff,Riff可在Kubernetes 集群中安裝Knative以及管理函數(shù)、服務(wù)、通道和訂閱等命令。Knative還增加了新功能,包括支持Istio開源微服務(wù)網(wǎng)格、Envoy微服務(wù)網(wǎng)絡(luò)通信服務(wù)以及監(jiān)控等。Pivotal在PFS中提供了Knative與Riff的完整功能,PFS是Knative的商業(yè)版本,即無須復(fù)雜安裝即可便捷使用。
在無服務(wù)器計算的開源框架中,有Knative和Riff這樣基于Kubernetes的一類,也有其它非Kubernetes類,諸如Apache OpenWhisk、fn Project、OpenFaaS等。隨著Kubernetes奠定了云原生容器集群平臺的領(lǐng)導(dǎo)地位,這些非Kubernetes開源無服務(wù)器計算框架都紛紛轉(zhuǎn)向了Kubernetes,或重構(gòu)或接入Kubernetes,以保證互聯(lián)互通和可移植性等。
正是在Kubernetes基礎(chǔ)上,無服務(wù)器計算終于得以從公有云領(lǐng)域進(jìn)入到了私有云和本地計算領(lǐng)域,也就是多云環(huán)境。而Pivotal PFS是首個Knative的商用版本,PFS進(jìn)一步獲得了完整的Pivotal Cloud Foundry(PCF)平臺的支持,包括Pivotal Application Service(PAS)、Pivotal Container Service(PKS)以及BOCH多云管理等,從而實現(xiàn)了跨任意云環(huán)境Kubernetes的應(yīng)用。