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