無服務(wù)器技術(shù)Serverless最早誕生于2014年,主要目的是發(fā)展云計(jì)算,并且它可以解決用戶應(yīng)用上云的面臨的兩大問題:
一是服務(wù)器資源的浪費(fèi)。按照《福布斯》的統(tǒng)計(jì),在商業(yè)和企業(yè)數(shù)據(jù)中心的典型服務(wù)器僅提供 5%~15% 的平均最大處理能力輸出。
雖然云計(jì)算提供按需使用、按使用付費(fèi)的方式,但是服務(wù)器等資源利用的粒度還是很大。這無疑是一種資源的巨大浪費(fèi)。
另一個(gè)問題則是用戶在應(yīng)用開發(fā)時(shí),必須考慮云計(jì)算資源的情況,不能專注于業(yè)務(wù)的發(fā)展,加大應(yīng)用開發(fā)的復(fù)雜度,上線時(shí)間加長(zhǎng)。
因此,Serverless技術(shù)在云計(jì)算資源的利用和讓用戶專注業(yè)務(wù)發(fā)展而不需關(guān)注云資源的優(yōu)勢(shì),立即吸引了用戶的注意。
今年市場(chǎng)研究機(jī)構(gòu)Forrester發(fā)布的最新報(bào)告認(rèn)為,Serverless計(jì)算的興起,讓FaaS成為繼IaaS、PaaS、SaaS之后一種新的云計(jì)算能力提供方式。
無服務(wù)器的“正面”
作為一種新型的開發(fā)架構(gòu),Serverless被認(rèn)為是繼虛擬機(jī)和容器之后,第三代通用計(jì)算平臺(tái)。
因此,當(dāng)阿里云提出All in Cloud,上云成為企業(yè)IT建設(shè)的主要方式后不久,騰訊云經(jīng)提出All in Serverless,是云計(jì)算發(fā)展的一種延續(xù)和深入,將給用戶帶來體驗(yàn)更好的服務(wù)。
云原生計(jì)算基金會(huì)CNCF給出了Serverless的定義中:
Serverless計(jì)算意味著運(yùn)行應(yīng)用代碼的服務(wù)器與用戶不直接面對(duì)面了。在無服務(wù)計(jì)算時(shí)代,研發(fā)人員無需對(duì)服務(wù)器進(jìn)行監(jiān)控、配置、更新、擴(kuò)容等運(yùn)維操作。
客戶只需要將代碼上傳到云廠商提供的無服務(wù)器計(jì)算平臺(tái)上即可,云服務(wù)商會(huì)保證代碼能正常運(yùn)行,當(dāng)流量突增時(shí),自動(dòng)對(duì)服務(wù)器進(jìn)行擴(kuò)容;流量減少時(shí),對(duì)服務(wù)器進(jìn)行縮容。
這樣,運(yùn)維操作對(duì)研發(fā)人員來說都是黑盒的,會(huì)將開發(fā)人員從繁瑣的運(yùn)維工作中解放出來。Serverless可以根據(jù)用戶請(qǐng)求來計(jì)費(fèi),完全做到按量計(jì)費(fèi)。
Serverless的優(yōu)勢(shì)和價(jià)值首先在互聯(lián)網(wǎng)企業(yè)中得到驗(yàn)證,阿里、騰訊的不少應(yīng)用首先采用了無服務(wù)器架構(gòu),給用戶帶來的價(jià)值主要包括三個(gè):
第一,減少運(yùn)營成本是大家采用Serverless的第一大原因,應(yīng)用Serverless之后,就無需為潛在的流量高峰購買大部分時(shí)間處于空閑狀態(tài)的服務(wù)器。
第二,自動(dòng)按需擴(kuò)展。采用了Serverless之后,可以隨時(shí)擴(kuò)展到當(dāng)前的使用量,消除了意外或者季節(jié)性流量高峰的困擾。
第三,不要關(guān)注服務(wù)器的維護(hù)工作。由于企業(yè)中大部分開發(fā)人員都是軟件工程師,并不是系統(tǒng)管理員,所以對(duì)于軟件的修復(fù)、保護(hù)和管理并不擅長(zhǎng),而使用Serverless之后,這些工作都可以交給供應(yīng)商。
無服務(wù)器的“反面”
那么,Serverless技術(shù)與架構(gòu)在中國有哪些新的進(jìn)展呢?
首先,Serverless覆蓋的場(chǎng)景逐漸擴(kuò)大了,從去年大家討論比較多的前端/小程序等場(chǎng)景,擴(kuò)展到很多不同場(chǎng)景,如HTTP服務(wù)、IOT事件響應(yīng)、多媒體轉(zhuǎn)碼等,各種各樣的服務(wù)、場(chǎng)景都可以采用Serverless來實(shí)現(xiàn)。
其次,產(chǎn)品成熟度提升了。對(duì)比去年開發(fā)者體驗(yàn),不同企業(yè)包括騰訊云、阿里云、AWS等所提供的產(chǎn)品,不管是性能還是功能,甚至是開發(fā)體驗(yàn),今年都有明顯的提升。
比如騰訊云提供的一站式開發(fā)者工具,從開發(fā)命令行到IDE插件到控制,從開發(fā)者自動(dòng)去建設(shè)監(jiān)控,到運(yùn)維到日志檢索功能等,日益完善。
不過市場(chǎng)分析機(jī)構(gòu)O’Reilly 的一項(xiàng)調(diào)查發(fā)現(xiàn),約九成的企業(yè)已經(jīng)在使用云計(jì)算及其相關(guān)產(chǎn)品,而企業(yè)對(duì)于Serverless應(yīng)用的態(tài)度還很保守。
根據(jù)調(diào)查結(jié)果顯示,34% 的受訪者表示正在使用 Serverless,37%的受訪者表示將在未來采用Serverless。
同時(shí)還有少部分企業(yè)已經(jīng)對(duì)Serverless應(yīng)用做了“實(shí)驗(yàn)”,如通過供應(yīng)商評(píng)估確定Serverless方案或在有限的基礎(chǔ)上測(cè)試 Serverless。
圖片來源:O’Reilly
任何事物都有兩面性。Serverless 優(yōu)勢(shì)固然很多,但是在企業(yè)中落地時(shí),難免會(huì)遇到一些問題。
因此,專家認(rèn)為,Serverless的應(yīng)用還面臨一些挑戰(zhàn),如缺少基于業(yè)務(wù)場(chǎng)景的解決方案,開發(fā)工具不完善導(dǎo)致開發(fā)體驗(yàn)欠佳,以及成本費(fèi)用過高等。
另外,企業(yè)的業(yè)務(wù)發(fā)展整體理念還停留在傳統(tǒng)應(yīng)用層面,對(duì)無服務(wù)器函數(shù)的運(yùn)作機(jī)制、事件觸發(fā)行為等了解不深,加上框架做了很多屏蔽的工作,很容易出現(xiàn)某些代碼編寫錯(cuò)誤或者前期需求評(píng)估不到位,能力無法實(shí)現(xiàn)的情況。
另一方面,F(xiàn)aaS函數(shù)新的事物還需要時(shí)間逐步沉淀,加上彈性容器的影響,整個(gè)鏈路都還是新生事物,需要時(shí)間去驗(yàn)證穩(wěn)定性和可靠性。
幾大供應(yīng)商的進(jìn)展
如今正是云廠商Serverless開疆拓土的時(shí)代。
最早提出Serverless概念的AWS,于2014年年底推出Amazon Lambda。
AWS擁有種類最豐富的Serverless函數(shù),可以協(xié)同運(yùn)行。云原生計(jì)算基金會(huì)(CNCF)的調(diào)查數(shù)據(jù)表明,AWS Lambda在蓬勃發(fā)展的Serverless市場(chǎng)占有70%的份額。
2019年,阿里提出Serverless架構(gòu)。2020年,阿里Midway Serverless v1.0正式發(fā)布,將阿里的 Serverless 能力逐步開放。
Midway Serverless 是套面向 Serverless 的解決方案,包括框架、運(yùn)行時(shí)、工具鏈、配置規(guī)范幾個(gè)部分,提供了一些面向 Serverless 體系的特有能力:平臺(tái)間遷移更容易,讓應(yīng)用更易維護(hù)和擴(kuò)展,企業(yè)級(jí)開發(fā)鏈路更簡(jiǎn)單順暢,生態(tài)更輕量和自由等。
2020年,騰訊云展示了其在Serverless領(lǐng)域的最新進(jìn)展,包括率先在業(yè)界推出1毫秒計(jì)費(fèi)模式,將行業(yè)標(biāo)準(zhǔn)提升百倍,使用者可以真正實(shí)現(xiàn)按需付費(fèi),徹底消除了困擾用戶的資源成本浪費(fèi)難題。
為持續(xù)降低開發(fā)門檻,推動(dòng)Serverless大規(guī)模應(yīng)用,騰訊云構(gòu)建起完善的生態(tài)。
比如,在微信生態(tài),推出的“小程序·云開發(fā)”產(chǎn)品,由于可以大幅提升小程序的開發(fā)效率,上線一年后注冊(cè)賬戶即超過23萬,為超過50萬開發(fā)者提供服務(wù)。
3月1日,市場(chǎng)研究機(jī)構(gòu)Forrester發(fā)布的最新報(bào)告認(rèn)為,在Serverless計(jì)算最主要的技術(shù)方向——函數(shù)即服務(wù)平臺(tái)(FaaS)方面,AWS、微軟兩家企業(yè)居于領(lǐng)導(dǎo)者象限,騰訊云、阿里云與谷歌云、Nimbella、IBM、Cloudflare等處于強(qiáng)勁表現(xiàn)者象限,Oracle則處于挑戰(zhàn)者象限。
未來走向
在Serverless技術(shù)與架構(gòu)方面,看得見的進(jìn)展包括:過去三年,Serverless的用戶規(guī)模、產(chǎn)品下載和調(diào)用等每年呈現(xiàn)10倍速增長(zhǎng);開發(fā)者數(shù)目的成倍的增長(zhǎng);云計(jì)算巨頭正在全力通過構(gòu)建生態(tài)、打造社區(qū)和解決客戶面臨的發(fā)展挑戰(zhàn),推動(dòng)Serverless技術(shù)在全球的應(yīng)用和發(fā)展等。
未來,越來越多的企業(yè)開始步入All in Serverless,快速實(shí)現(xiàn)云端迭代,不僅運(yùn)維成本得到大幅降低,還實(shí)現(xiàn)了自動(dòng)擴(kuò)縮容,節(jié)省了資源投入。
云巨頭會(huì)持續(xù)應(yīng)用新的技術(shù)、提供新的功能、開發(fā)新的產(chǎn)品和構(gòu)筑新的生態(tài),從多方面為開發(fā)者提供全面完整的Serverless體驗(yàn)。