為什么說(shuō) serverless 是云的未來(lái)?
p#qiye a:link,p#qiye a:visited{text-decoration:none;}
.text img {max-width:630px;}
每隔幾年,it 界就會(huì)出現(xiàn)新突破性的進(jìn)展。回望整個(gè)計(jì)算機(jī)技術(shù)發(fā)展史,我們會(huì)發(fā)現(xiàn)“抽象、解耦、集成”的主題貫穿其中。產(chǎn)業(yè)每一次的抽象、解耦、集成,都將創(chuàng)新推向新的高度,也催生出龐大的市場(chǎng)和新的商業(yè)模式。
對(duì)于大多數(shù)應(yīng)用而言,借助 serverless 服務(wù),開發(fā)者可以將絕大多數(shù)精力投入在業(yè)務(wù)邏輯的開發(fā)整合上,大大縮短開發(fā)周期,降低運(yùn)維成本。有人說(shuō):serverless 正在改變未來(lái)軟件開發(fā)的模式和流程,它就是云計(jì)算的未來(lái)。技術(shù)領(lǐng)域真正的變革看似是新技術(shù)的高歌猛進(jìn),為客戶創(chuàng)造價(jià)值才是任何技術(shù)變革的原點(diǎn)。本文將從客戶價(jià)值的角度,再一次探討為什么說(shuō) serverless 是云的未來(lái)。
serverless 對(duì)客戶的價(jià)值
為客戶創(chuàng)造價(jià)值是任何技術(shù)變革的原點(diǎn),從客戶價(jià)值倒推,真正需要回答的是:客戶的痛點(diǎn)是什么?serverless 在解決客戶痛點(diǎn)上是否有明顯優(yōu)勢(shì)?甚至為客戶創(chuàng)造新的機(jī)會(huì)?以企業(yè)的平臺(tái)化策略為例,為什么眾多 saas 企業(yè)不能像 salesforce 一樣實(shí)施平臺(tái)策略,打造 paas 或者 serverless 計(jì)算平臺(tái)?甚至做 paas,做中臺(tái)變成了企業(yè)生死劫?這其中固然有業(yè)務(wù)、組織的頂層設(shè)計(jì)原因,但不可否認(rèn),打造平臺(tái)的難度和成本太高也是其中很重要的原因。一方面要支撐前臺(tái)業(yè)務(wù)的高速發(fā)展,另一方面又要抽象、重組,對(duì)系統(tǒng)進(jìn)行重構(gòu)。因此需要有新的方法論和工具來(lái)降低平臺(tái)構(gòu)建的成本,實(shí)現(xiàn)快速迭代演進(jìn)。
從更宏觀的視角來(lái)看,企業(yè)交付價(jià)值的方式,正在被數(shù)字技術(shù)重塑。根據(jù)阿里研究院的報(bào)告,在零售、金融等行業(yè),數(shù)字化的商業(yè)形態(tài)正在代替?zhèn)鹘y(tǒng)商業(yè)形態(tài),成為主流和必然。即使在工業(yè)制造等領(lǐng)域,企業(yè)的商業(yè)形態(tài)并非通過(guò)數(shù)字化的形式表現(xiàn),但充分利用數(shù)據(jù)科技進(jìn)行生產(chǎn)運(yùn)營(yíng)優(yōu)化,也正在成為行業(yè)共識(shí)。在數(shù)字化轉(zhuǎn)型的時(shí)代 ,企業(yè)面臨巨大的競(jìng)爭(zhēng)壓力和不確定性,產(chǎn)品 time-to-market 的能力比任何時(shí)候都重要。根據(jù)微軟的估計(jì),未來(lái) 5 年會(huì)產(chǎn)生 5 億個(gè)應(yīng)用,比過(guò)去 40 年的總和都多,現(xiàn)有的研發(fā)模式已無(wú)法支撐這樣規(guī)模的應(yīng)用開發(fā)需求。
serverless 計(jì)算的思想是將同質(zhì)化的、負(fù)擔(dān)繁重的基于服務(wù)器等基礎(chǔ)設(shè)施的開發(fā)和運(yùn)維等工作從未來(lái)云上應(yīng)用開發(fā)中移除,借助云上豐富的托管服務(wù)能力,以搭積木的方式構(gòu)建彈性、可靠、低成本的系統(tǒng)或應(yīng)用。除此之外,云服務(wù)商也通過(guò)事件驅(qū)動(dòng)的方式加強(qiáng)產(chǎn)品集成和被集成的能力。
以 serverless 的核心計(jì)算產(chǎn)品函數(shù)計(jì)算為例,在函數(shù)計(jì)算出現(xiàn)之前,客戶要通過(guò)很多膠水代碼完成多個(gè)云產(chǎn)品間的集成,還要仔細(xì)的處理各種錯(cuò)誤情況。當(dāng)函數(shù)計(jì)算和阿里云對(duì)象存儲(chǔ)集成后,對(duì)象存儲(chǔ)中產(chǎn)生的上傳 / 刪除對(duì)象等事件能夠自動(dòng)、可靠地觸發(fā)函數(shù)處理,而且每個(gè)環(huán)節(jié)都是彈性高可用的,客戶能夠快速實(shí)現(xiàn)大規(guī)模數(shù)據(jù)的實(shí)時(shí)并行處理。同樣的,通過(guò)消息中間件和函數(shù)計(jì)算的集成,客戶可以快速實(shí)現(xiàn)大規(guī)模消息的實(shí)時(shí)處理。在未來(lái),無(wú)論是一方云服務(wù),還是三方應(yīng)用,所有的事件都將被捕獲,被函數(shù)計(jì)算等服務(wù)可靠地處理。
對(duì)比傳統(tǒng)開發(fā)模式,serverless 模式基于大量成熟的云服務(wù)能力構(gòu)建應(yīng)用,客戶的技術(shù)決策點(diǎn)更少,實(shí)施復(fù)雜度更低。隨著云產(chǎn)品的完善,產(chǎn)品的集成和被集成能力的加強(qiáng),軟件交付流程自動(dòng)化能力的提高,我們相信在 serverless 架構(gòu)下,企業(yè)的敏捷性有 10 倍提升的潛力。
serverless 對(duì)云服務(wù)商的價(jià)值
serverless 有助于云服務(wù)商建立更寬廣的差異化競(jìng)爭(zhēng)優(yōu)勢(shì)?;A(chǔ)設(shè)施即服務(wù)(iaas )層的競(jìng)爭(zhēng)本質(zhì)是規(guī)模。云服務(wù)商通過(guò)提升供應(yīng)鏈的議價(jià)能力、資源并池、采用異構(gòu)硬件、軟硬協(xié)同優(yōu)化等手段來(lái)最大化性能功耗比(performance per watt)和性能價(jià)格比(performance per dollar)?;A(chǔ)設(shè)施層競(jìng)爭(zhēng)的主要形式是價(jià)格戰(zhàn)。
但云的競(jìng)爭(zhēng)一定不是單一維度的,正如蘋果提供了移動(dòng)應(yīng)用編程模型最好的實(shí)現(xiàn),這是硬件、軟件、服務(wù)三位一體的協(xié)同整合能力,以此為基礎(chǔ)形成的出色用戶體驗(yàn)和粘性讓其在移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)中獨(dú)樹一幟。云服務(wù)商也需要思考如何在基礎(chǔ)設(shè)施、產(chǎn)品體系、生態(tài)等方面多維度,立體化地打造競(jìng)爭(zhēng)力。發(fā)展 serverless 關(guān)乎于產(chǎn)品體系差異化競(jìng)爭(zhēng)力的建設(shè),對(duì)云服務(wù)商至關(guān)重要。
在函數(shù)計(jì)算出現(xiàn)之前,各個(gè)云產(chǎn)品難于支持定制化需求,產(chǎn)品間的交集很少。在函數(shù)計(jì)算出現(xiàn)后,每個(gè)云服務(wù)具備了“可編程“的能力。“可編程“讓云服務(wù)將自己的核心能力延伸出去,讓開發(fā)者基于此編寫相關(guān)應(yīng)用,不但解決了定制化需求支撐的問(wèn)題,云服務(wù)還升級(jí)為應(yīng)用平臺(tái),建立開發(fā)者生態(tài)。因此領(lǐng)先的云服務(wù)商的產(chǎn)品體系都在迅速 serverless 化,不斷加強(qiáng)產(chǎn)品間的集成和被集成的能力。
serverless 有助于云服務(wù)商提高資源利用率,加速硬件創(chuàng)新。為了實(shí)現(xiàn)精準(zhǔn)、實(shí)時(shí)的實(shí)例伸縮和放置,serverless 計(jì)算平臺(tái)必須把應(yīng)用負(fù)載特征作為資源調(diào)度的依據(jù),系統(tǒng)通常要實(shí)時(shí)追蹤請(qǐng)求執(zhí)行時(shí)長(zhǎng),排隊(duì)等待時(shí)長(zhǎng),單位時(shí)間請(qǐng)求數(shù),應(yīng)用初始化時(shí)長(zhǎng)等指標(biāo)。以感知應(yīng)用負(fù)載為基礎(chǔ)的“白盒“調(diào)度,能夠?qū)崿F(xiàn)更出色的伸縮實(shí)時(shí)性和全局資源利用率。輕量安全容器等新的虛擬化技術(shù)實(shí)現(xiàn)了更小的資源隔離粒度(典型的 serverless 計(jì)算服務(wù)通常支持 0.1 vcpu,128 mb 的實(shí)例規(guī)格),更快的啟動(dòng)速度,更小的系統(tǒng)開銷,數(shù)據(jù)中心的資源使用變得更加細(xì)粒度和動(dòng)態(tài),能夠更充分的利用碎片化資源。在加速硬件創(chuàng)新方面,serverless 計(jì)算屏蔽了底層硬件規(guī)格,能夠復(fù)用多種機(jī)型,加速新硬件的大規(guī)模應(yīng)用。
serverless 有助于云服務(wù)商形成良好的用戶結(jié)構(gòu)。serverless 的核心價(jià)值是技術(shù)普惠。通過(guò)平臺(tái)的整合和集成,用戶以更有效率的方式構(gòu)建彈性、高可用、低成本的云原生應(yīng)用。賦能用戶加速價(jià)值交付,實(shí)現(xiàn)業(yè)務(wù)突破,這對(duì)中小用戶尤為重要。用戶在云的環(huán)境中茁壯成長(zhǎng),是云最重要的價(jià)值體現(xiàn)。
至此,通過(guò)對(duì)產(chǎn)業(yè)發(fā)展趨勢(shì),以及 serverless 對(duì)用戶和云服務(wù)商的價(jià)值分析,我們可以形成如下結(jié)論:
api 是構(gòu)建現(xiàn)代應(yīng)用的基石,這不只是技術(shù)決策,更影響企業(yè)業(yè)務(wù)發(fā)展策略。當(dāng)一個(gè)垂直領(lǐng)域足夠復(fù)雜后,會(huì)出現(xiàn)對(duì)應(yīng)的后端服務(wù)(baas),通過(guò) api 的方式交付價(jià)值。絕大多數(shù) api 是 serverless 形態(tài),需要與之匹配的計(jì)算形態(tài),這是 serverless 計(jì)算誕生和發(fā)展的基礎(chǔ);
云的產(chǎn)品體系正在全托管化、serverless 化,這不是對(duì)未來(lái)的期望,而是正在發(fā)生的事實(shí)。今天超過(guò) 70% %u7684云服務(wù)已經(jīng)是 serverless 形態(tài),未來(lái)這一比例將會(huì)更高;
serverless 不等于 serverless 計(jì)算,不是某一類云產(chǎn)品,而是對(duì)應(yīng)云的整個(gè)產(chǎn)品體系,包含計(jì)算、存儲(chǔ)、中間價(jià)、數(shù)據(jù)分析等各種服務(wù)。serverless 定義了云的編程模型;
serverless 的本質(zhì)是回答如何利用云的要素幫助用戶實(shí)現(xiàn)價(jià)值交付的顛覆式創(chuàng)新。用戶的價(jià)值交付涵蓋方法論、開發(fā)者工具、應(yīng)用交付體系、云產(chǎn)品體系、服務(wù)生態(tài)、商業(yè)模式設(shè)計(jì)等多個(gè)維度,因此 serverless 必須是頂層設(shè)計(jì)的產(chǎn)物。
在 cloud 1.0 時(shí)代,云托管模式簡(jiǎn)化了計(jì)算資源獲取和管理的方式;在 cloud 2.0 時(shí)代,serverless 將成為云的新一代編程模型。編寫代碼,上傳云端,在任何規(guī)模下可靠運(yùn)行,成為新一代開發(fā)者感知云的第一界面,這是 serverless 的初心。