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