Serverless其實(shí)離我們并沒(méi)有那么遙遠(yuǎn)
作者 | 楊麗
出品 | 雷鋒網(wǎng)產(chǎn)業(yè)組
如果你是一名互聯(lián)網(wǎng)研發(fā)人員,那么極有可能了解并應(yīng)用過(guò)Serverless這套技術(shù)體系??v觀Serverless過(guò)去十年,它其實(shí)因云而生,也在同時(shí)改變?cè)频挠?jì)算方式。如果套用技術(shù)成熟度曲線來(lái)描述的話,那么它已經(jīng)走過(guò)了萌芽期、認(rèn)知破滅期,開(kāi)始朝著成熟穩(wěn)定的方向發(fā)展。未來(lái),市場(chǎng)對(duì)Serverless的接受程度將越來(lái)越高。
不要驚訝,阿里云團(tuán)隊(duì)在真正開(kāi)始構(gòu)建Serverless產(chǎn)品體系的最開(kāi)始的一兩年里,也曾遭遇內(nèi)部的一些爭(zhēng)議。而今,單從阿里集團(tuán)內(nèi)部的很多業(yè)務(wù)線來(lái)看,已經(jīng)在朝著Serverless化的方向發(fā)展了。
日前,阿里云憑借函數(shù)計(jì)算產(chǎn)品能力全球第一的優(yōu)勢(shì),入選Forrester 2021年第一季度FaaS平臺(tái)評(píng)估報(bào)告,成為比肩亞馬遜成為全球前三的FaaS領(lǐng)導(dǎo)者。這也是首次有國(guó)內(nèi)科技公司進(jìn)入FaaS領(lǐng)導(dǎo)者象限。
在與雷鋒網(wǎng)的訪談中,阿里云Serverless負(fù)責(zé)人不瞋闡釋了Serverless的演進(jìn)歷程、引入Serverless面臨的難點(diǎn)與挑戰(zhàn)、以及有關(guān)云原生的趨勢(shì)預(yù)判。
“一定要想明白做這件事的終局是什么,包括產(chǎn)品體系的定位,對(duì)開(kāi)發(fā)者、對(duì)服務(wù)商的價(jià)值等等這些問(wèn)題。這要求我們不斷通過(guò)實(shí)踐和認(rèn)識(shí)的深化,讓這些問(wèn)題的回答能夠逐漸清晰起來(lái)。這也是我們這么多年實(shí)踐積累的寶貴經(jīng)驗(yàn)?!辈徊_指出。
盡管企業(yè)的實(shí)踐還存在種種疑惑和挑戰(zhàn),但Serverless實(shí)際上離我們并沒(méi)有那么遙遠(yuǎn)。舉一個(gè)最近的例子,新冠疫情讓遠(yuǎn)程辦公、在線教育、在線游戲的應(yīng)用需求短期內(nèi)增加。業(yè)務(wù)規(guī)模的爆發(fā)式增長(zhǎng),對(duì)每一個(gè)需求的響應(yīng)需要更加及時(shí),這對(duì)應(yīng)用架構(gòu)的彈性,對(duì)底層計(jì)算的速度,對(duì)研發(fā)效率的提升等,都要求業(yè)務(wù)加速向新技術(shù)架構(gòu)演進(jìn)。
而不瞋的理想就是,幫助更廣泛的客戶實(shí)現(xiàn)向新技術(shù)架構(gòu)的平滑遷移,讓Serverless滲透到所有的云應(yīng)用中。
不瞋作為阿里云Serverless產(chǎn)品體系的負(fù)責(zé)人,也是國(guó)內(nèi)Serverless的早期實(shí)踐者。以下將呈現(xiàn)是對(duì)這次訪談的完整總結(jié)。
1
Serverless的定義
在討論之前,我們先明確 Serverless 的定義,確保大家對(duì) Serverless 的認(rèn)知是一致的。
現(xiàn)在Serverless越來(lái)越熱,無(wú)論是工業(yè)界還是學(xué)術(shù)界,都將 Serverless 視為云計(jì)算發(fā)展的下一階段。Serverless 有很多種表述,其中伯克利大學(xué)的定義相對(duì)嚴(yán)謹(jǐn)一些。
(注:2019年2月,加州大學(xué)伯克利分校發(fā)表的《Cloud Programming Simplified: A Berkerley View on Serverless Computing》論文,曾在業(yè)界引發(fā)諸多討論和關(guān)注。)
大致來(lái)講,Serverless實(shí)際對(duì)應(yīng)的是一整套的產(chǎn)品體系,而不是單獨(dú)一兩個(gè)產(chǎn)品;同時(shí),這些產(chǎn)品/服務(wù)之間還具備以下特征:服務(wù)之間彼此配合、全托管、用戶通過(guò)API調(diào)用就可完成整個(gè)功能或應(yīng)用的開(kāi)發(fā)而無(wú)需關(guān)注底層基礎(chǔ)設(shè)施。
這套產(chǎn)品體系目前可分為兩類(lèi):一類(lèi)是計(jì)算,即FaaS(Function as a Service);還有一類(lèi)是BaaS(Backend as a Service),比如消息中間件、對(duì)象存儲(chǔ),都可以看做是Serverless化的BaaS服務(wù)。
2
Serverless的演進(jìn)
一個(gè)新技術(shù)通常會(huì)經(jīng)歷幾個(gè)階段:第一個(gè)階段是因?yàn)槠渚薮鬂摿σ饛V泛關(guān)注的階段;第二階段,是認(rèn)知破滅的階段,在這個(gè)階段由于產(chǎn)品初期本身能力不是很強(qiáng)健,或案例不全等因素,導(dǎo)致用戶在使用過(guò)程中往往會(huì)遇到挫敗感;第三個(gè)階段,是伴隨實(shí)踐的增加和產(chǎn)品能力本身的發(fā)展,又會(huì)逐步提升認(rèn)知,進(jìn)而進(jìn)入一個(gè)穩(wěn)健增長(zhǎng)的階段。
需要明確的是,Serverless并不是一個(gè)非常新的技術(shù)。像阿里云的OSS、AWS的S3對(duì)象存儲(chǔ),它們都是最早發(fā)布的產(chǎn)品之一,一開(kāi)始其實(shí)就是Serverless的形態(tài)。
但業(yè)界從Serverless的認(rèn)知,確實(shí)是因AWS的Lambda帶起來(lái)的,2014年AWS推出了Lambda。
2017年到2019年上半年,這段時(shí)間,業(yè)界對(duì)Serverless的討論很多同時(shí)又有很多困擾,不知道如何落地,或者用了之后才突然覺(jué)得跟自己想象的不太一樣。
國(guó)內(nèi)外技術(shù)發(fā)展保持著相似的節(jié)奏,國(guó)外相對(duì)來(lái)講更快一些。從去年開(kāi)始,國(guó)內(nèi)也開(kāi)始進(jìn)入到了穩(wěn)定發(fā)展的階段?,F(xiàn)在國(guó)際上主流云供應(yīng)商提供的新功能或新產(chǎn)品,80%以上都是Serverless的形態(tài)。
阿里云從2017年開(kāi)始打造Serverless,并于當(dāng)年正式啟動(dòng)商業(yè)化。
目前在阿里集團(tuán)內(nèi)部已經(jīng)開(kāi)始落地Serverless了,例如飛豬、淘寶、高德等等。在企業(yè)賦能方面,尤其是疫情之后,能夠看到用戶對(duì)Serverless的認(rèn)知比之前確實(shí)深入了許多,在很多場(chǎng)景下,切換到Serverless架構(gòu)確實(shí)能夠?yàn)橛脩魩?lái)明顯的收益,用戶也認(rèn)可這項(xiàng)技術(shù)。
舉一項(xiàng)數(shù)據(jù)來(lái)看,目前阿里云Serverless已經(jīng)服務(wù)了上萬(wàn)家付費(fèi)客戶,擁有100+的典型案例,函數(shù)日調(diào)用量超過(guò)120億次、函數(shù)總量達(dá)到100萬(wàn)。
3
新舊觀念的轉(zhuǎn)變
對(duì)于阿里云自身而言,在最開(kāi)始構(gòu)建Serverless之初,其實(shí)最大的挑戰(zhàn)不僅僅是技術(shù)層面的,更多的還有觀念上的不對(duì)稱(chēng)。
首先,Serverless本身的形態(tài)跟以往的計(jì)算形態(tài)差異比較大,整個(gè)研發(fā)和運(yùn)維的體系跟傳統(tǒng)應(yīng)用是割裂的。如果開(kāi)發(fā)Serverless應(yīng)用,其研發(fā)運(yùn)維的流程和工具跟虛擬化(VM)或容器化的方式不太一樣,很多用戶會(huì)擔(dān)心供應(yīng)商鎖定(lock-in)的問(wèn)題,不太希望自身的技術(shù)棧跟某個(gè)供應(yīng)商綁定。
其次,AWS的Lambda最開(kāi)始做了一個(gè)榜樣,但它也實(shí)際也只適合于AWS的產(chǎn)品體系,如果放在其他的產(chǎn)品體系里會(huì)面臨非常大的挑戰(zhàn),不易于被用戶接受,且限制條件也很多,應(yīng)用場(chǎng)景也有限。這就要求在技術(shù)層面,包括資源調(diào)度、安全隔離、多租戶管理、流控等方面有很高要求,做起來(lái)非常辛苦。因?yàn)樵诖酥皼](méi)有一個(gè)產(chǎn)品的計(jì)算形態(tài)是如此細(xì)粒度、動(dòng)態(tài)的使用資源。
這種挑戰(zhàn),一開(kāi)始即便在阿里內(nèi)部,也曾面臨過(guò)許多爭(zhēng)議。
我們這么多年實(shí)踐積累的寶貴經(jīng)驗(yàn)是:一定要想明白做這件事的終局是什么,包括在產(chǎn)品體系中的定位,對(duì)開(kāi)發(fā)者、對(duì)云服務(wù)商的價(jià)值等等這些問(wèn)題。這要求我們不斷通過(guò)實(shí)踐和認(rèn)識(shí)的深化,讓這些問(wèn)題的回答能夠逐漸清晰起來(lái)。
4
引入Serverless的顧慮
站在客戶層面,不同類(lèi)型的客戶對(duì)引入第三方的Serverless技術(shù)其實(shí)會(huì)有不同層面的考慮。
對(duì)于超大型企業(yè),比如Facebook、字節(jié)跳動(dòng),企業(yè)本身就有非常強(qiáng)的基礎(chǔ)設(shè)施團(tuán)隊(duì),通常他們會(huì)選擇自己內(nèi)部開(kāi)發(fā)這方面技術(shù)。
還有一些企業(yè),沒(méi)有采用Serverless并不是說(shuō)他們對(duì)這個(gè)技術(shù)有什么抵觸,而是當(dāng)下的落地實(shí)踐或本身的工具鏈還無(wú)法做到完全消除供應(yīng)商鎖定的問(wèn)題,又或者是因?yàn)楣ぞ哝湼鷤鹘y(tǒng)開(kāi)發(fā)太過(guò)割裂,企業(yè)自身無(wú)法同時(shí)維護(hù)兩套開(kāi)發(fā)框架。
這種情況下,用戶的系統(tǒng)架構(gòu)一定會(huì)面臨一個(gè)中間狀態(tài):既有老的又有新的。如果整個(gè)遷移的過(guò)程不是那么平滑的話,供應(yīng)商的這部分優(yōu)勢(shì)在客戶那里是不存在的, 因?yàn)槔系南到y(tǒng)實(shí)際是需要維護(hù)的。如此,對(duì)用戶的吸引力其實(shí)就沒(méi)有那么大了。
阿里云最近開(kāi)源的Serverless Devs解決的就是這樣的問(wèn)題。其定位是幫助用戶更簡(jiǎn)單地開(kāi)發(fā)和運(yùn)維自己的Serverless化和容器化應(yīng)用,提供應(yīng)用全生命周期管理的能力。
本質(zhì)上,Serverless的環(huán)境是在遠(yuǎn)端,跟用戶本地開(kāi)發(fā)環(huán)境是天然割裂的,那么在這個(gè)過(guò)程中,從調(diào)試、部署、發(fā)布、監(jiān)控等各個(gè)環(huán)節(jié),Serverless Devs都希望能為用戶提供更好的體驗(yàn)。但用戶可自由使用其中一個(gè)或幾個(gè)功能,不需要將已有的研發(fā)運(yùn)維的流程完全遷移到我們定義的這套規(guī)范里。
5
過(guò)去一年的重大升級(jí)
2020年,疫情的背景下,其實(shí)也是阿里云Serverless技術(shù)升級(jí)的關(guān)鍵一年。這一年里,團(tuán)隊(duì)做了很多大的升級(jí),包括:
架構(gòu)層面,已經(jīng)升級(jí)到神龍裸金屬服務(wù)器+袋鼠安全容器的下一代架構(gòu)。好處是能夠帶來(lái)非常高的計(jì)算密度,進(jìn)一步提升彈性能力和性能。
緩存方面,發(fā)布容器鏡像加速技術(shù),能夠讓GB級(jí)別的容器鏡像非常快地實(shí)現(xiàn)秒級(jí)啟動(dòng)。目前已經(jīng)演進(jìn)到了下一代,通過(guò)阿里內(nèi)部大規(guī)模業(yè)務(wù)場(chǎng)景進(jìn)行打磨。
運(yùn)行時(shí)方面,去年阿里云重寫(xiě)整個(gè)語(yǔ)言運(yùn)行時(shí),使得更具有可擴(kuò)展性,啟動(dòng)速度更快。
阿里云函數(shù)計(jì)算全景圖
總結(jié)起來(lái),兩方面因素推動(dòng)阿里云Serverless在過(guò)去一年做出重大技術(shù)升級(jí):
一是來(lái)自用戶本身的訴求。比如在教育場(chǎng)景中,老師對(duì)開(kāi)課這件事是有時(shí)效性要求的,這就要求后臺(tái)能夠短時(shí)間內(nèi)啟動(dòng)可能數(shù)千個(gè)實(shí)例進(jìn)行響應(yīng)。
二是來(lái)自內(nèi)部對(duì)產(chǎn)品效能的要求。對(duì)于云服務(wù)商而言,Serverless最核心的一個(gè)定位,是能夠?qū)⒃粕腺Y源更好地利用起來(lái)。整個(gè)計(jì)算架構(gòu)確實(shí)需要通過(guò)新的虛擬化技術(shù)、容器技術(shù),同時(shí)跟新的硬件結(jié)合起來(lái),從而提供一個(gè)非常細(xì)粒度的、啟動(dòng)非常快、非常彈性的計(jì)算模型。這也是為什么我們要進(jìn)行架構(gòu)升級(jí),從原來(lái)的虛擬機(jī)架構(gòu)演進(jìn)到神龍裸金屬服務(wù)器+袋鼠安全容器的架構(gòu),將對(duì)整體產(chǎn)品的發(fā)展產(chǎn)生一個(gè)核心推力。
6
攻克下一城
阿里云采用“三位一體”的策略打造整個(gè) Serverless 產(chǎn)品矩陣——自身實(shí)踐-開(kāi)源-商業(yè)化。即通過(guò)集團(tuán)內(nèi)部超大規(guī)模、超復(fù)雜的業(yè)務(wù)場(chǎng)景來(lái)錘煉技術(shù),將技術(shù)不斷打磨產(chǎn)品化,然后對(duì)云上客戶提供商業(yè)化服務(wù),在這個(gè)過(guò)程中,還會(huì)將一些技術(shù)、工具進(jìn)行開(kāi)源,遵循開(kāi)源開(kāi)放的標(biāo)準(zhǔn),跟開(kāi)源生態(tài)融合。
只有對(duì)客戶的業(yè)務(wù)產(chǎn)生價(jià)值和幫助,客戶才會(huì)認(rèn)可Serverless。
短期來(lái)看,無(wú)論是業(yè)務(wù)規(guī)模,還是產(chǎn)品、技術(shù)層面,阿里云Serverless都在以非常穩(wěn)健地方式按照自身的節(jié)奏向前演進(jìn)。
一是業(yè)務(wù)規(guī)模會(huì)更大,預(yù)計(jì)每年會(huì)有三倍以上的增長(zhǎng);
二是產(chǎn)品層面,以客戶為中心,解決用戶痛點(diǎn)仍然是首要的。今年將在產(chǎn)品細(xì)節(jié)體驗(yàn)上繼續(xù)補(bǔ)強(qiáng),在工具鏈、可觀測(cè)性等方面為用戶提供更好的體驗(yàn);
三是技術(shù)層面,包括計(jì)算、網(wǎng)絡(luò)、緩存、運(yùn)行時(shí)等核心部分,繼續(xù)夯實(shí)技術(shù)細(xì)節(jié),實(shí)現(xiàn)極致性能。
7
云時(shí)代下的新機(jī)遇
在應(yīng)用場(chǎng)景上來(lái)看,Serverless不再僅僅是小程序,還有電商大促、音視頻轉(zhuǎn)碼、AI算法服務(wù)、游戲應(yīng)用包分發(fā)、文件實(shí)時(shí)處理、物聯(lián)網(wǎng)數(shù)據(jù)處理、微服務(wù)等場(chǎng)景。
Serverless將繼續(xù)和容器、微服務(wù)等生態(tài)融合,降低開(kāi)發(fā)者使用Serverless技術(shù)的門(mén)檻,反過(guò)來(lái)也將促進(jìn)傳統(tǒng)應(yīng)用的云原生化。
Serverless另一個(gè)核心要素是“被集成”,被集成的對(duì)象有兩類(lèi):
一類(lèi)跟一方云服務(wù)進(jìn)行接入,阿里云函數(shù)計(jì)算已被30多個(gè)一方云服務(wù)產(chǎn)品集成;
第二類(lèi)是通過(guò) EventBridge 事件總線和三方生態(tài)被集成。例如和釘釘?shù)萐aaS應(yīng)用集成。釘釘?shù)臉I(yè)務(wù)中常常需要以簡(jiǎn)潔、輕量的方式完成用戶的定制化需求,這和Serverless的應(yīng)用形態(tài)是高度匹配的。
不瞋,阿里云Serverless負(fù)責(zé)人
今天,我們可以非常明確地看到,整個(gè)云的未來(lái)一定是Serverless形態(tài)的。阿里云內(nèi)部對(duì)這個(gè)也沒(méi)有爭(zhēng)議,因?yàn)檫@么多年來(lái),整個(gè)產(chǎn)品體系就是朝著Serverless方向發(fā)展的。
不是因?yàn)橛辛薙erverless計(jì)算,云才向Serverless演進(jìn)。恰恰相反,因?yàn)樵频漠a(chǎn)品體系已經(jīng)向Serverless 演進(jìn),才催生了 Serverless 計(jì)算。單純的Serverless計(jì)算并不能實(shí)現(xiàn)很多功能,前提一定是跟其他云服務(wù)及其生態(tài)配合,才能體現(xiàn)出其自身的優(yōu)勢(shì)。
無(wú)論是工業(yè)界還是學(xué)術(shù)界,都已經(jīng)認(rèn)可這樣一個(gè)趨勢(shì) 。
本文由雷鋒網(wǎng)原創(chuàng),作者:楊麗。
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。