AWS、阿里云、騰訊云都在追捧的“Serverless”為什么這么香?

每隔幾年,IT產業就會出現新突破性的進展。回望整個計算機發展歷史,我們會發現“抽象、解耦、集成”的主題貫穿其中。產業每一次的抽象、解耦、集成,都將創新推向新的高度,也催生出龐大的市場和新的商業模式。
對于大多數應用而言,借助Serverless服務,開發者可以將絕大多數精力投入在業務邏輯的開發整合上,大大縮短開發周期,降低運維成本。有人說Serverless正在改變未來軟件開發的模式和流程,它就是云計算的未來。
技術領域真正的變革看似是新技術的高歌猛進,實則為客戶創造價值才是任何技術變革的原點。
通常,我們都會將Serverless翻譯為“無服務器架構”,雖然被稱為“無服務器”,但該架構與傳統架構不同,顯然并不是真的不需要服務器,而是選擇將服務器等基礎設施的管理“隱藏”起來,計算資源作為服務而不是作為服務器的概念出現。
這種模式兼具事件觸發、短暫以及完全被第三方管理等多重屬性,其中開發者只需關注業務邏輯即可。
2012,Serverless這一概念首次出現在技術人的視野之中。短短兩年之后,云計算“3A巨頭”之一的AWS,就于當年年底正式推出Lambda產品,標志著Serverless的商業化進程正式被開啟。
當時的Lambda被這樣描述:這是一種計算服務,可以根據時間來運行用戶的代碼,無需關心底層的計算資源。
Serverless計算的思想是將同質化的、負擔繁重的基于服務器等基礎設施的開發和運維等工作從未來云上應用開發中移除,借助云上豐富的托管服務能力,以搭積木的方式構建彈性、可靠、低成本的系統或應用。
除此之外,云服務商也通過事件驅動的方式加強產品集成和被集成的能力。
以Serverless的核心計算產品函數計算為例,在函數計算出現之前,客戶要通過很多膠水代碼完成多個云產品間的集成,還要仔細的處理各種錯誤情況。
當函數計算和對象存儲集成后,對象存儲中產生的上傳/刪除對象等事件能夠自動、可靠地觸發函數處理,而且每個環節都是彈性高可用的,客戶能夠快速實現大規模數據的實時并行處理。
同樣,通過消息中間件和函數計算的集成,客戶可以快速實現大規模消息的實時處理。
在未來,無論是一方云服務,還是三方應用,所有的事件都將被捕獲,被函數計算等服務可靠地處理。
對比傳統開發模式,Serverless模式基于大量成熟的云服務能力構建應用,客戶的技術決策點更少,實施復雜度更低。
隨著云產品的完善,產品的集成和被集成能力的加強,軟件交付流程自動化能力的提高,在Serverless架構下,企業的敏捷性可以獲得10倍提升的潛力。
之后,Google Cloud Function和微軟Azure Function在技術圈子的成功,也就順理成章將Serverless推進了熱化階段。
隨著AWS、阿里云、騰訊云開始在Serverless領域布局,那么問題來了,為何眾多巨頭紛紛盯上這一業務?其到底有何魅力能讓巨頭們紛紛下注?從云服務商角度看,Serverless有助于云服務商建立更寬廣的差異化競爭優勢。
IaaS層的競爭本質是規模,云服務商通過提升供應鏈的議價能力、資源并池、采用異構硬件、軟硬協同優化等手段來最大化性能功耗比和性能價格比。
但云的競爭一定不是單一維度的,正如蘋果提供了移動應用編程模型最好的實現,這是硬件、軟件、服務三位一體的協同整合能力,以此為基礎形成的出色用戶體驗和粘性讓其在移動互聯網產業中獨樹一幟。
云服務商也需要思考如何在基礎設施、產品體系、生態等方面多維度,立體化地打造競爭力。發展Serverless關乎于產品體系差異化競爭力的建設,對云服務商至關重要。
在函數計算出現之前,各個云產品難于支持定制化需求,產品間的交集很少。在函數計算出現后,每個云服務具備了“可編程”的能力。
可編程讓云服務將自己的核心能力延伸出去,讓開發者基于此編寫相關應用,不但解決了定制化需求支撐的問題,云服務還升級為應用平臺,建立開發者生態。
因此領先的云服務商的產品體系都在迅速Serverless化,不斷加強產品間的集成和被集成的能力。
同時,其也有助于云服務商提高資源利用率,加速硬件創新。
為了實現精準、實時的實例伸縮和放置,Serverless計算平臺必須把應用負載特征作為資源調度的依據,系統通常要實時追蹤請求執行時長,排隊等待時長,單位時間請求數,應用初始化時長等指標。
以感知應用負載為基礎的“白盒”調度,能夠實現更出色的伸縮實時性和全局資源利用率。
輕量安全容器等新的虛擬化技術實現了更小的資源隔離粒度,更快的啟動速度,更小的系統開銷,數據中心的資源使用變得更加細粒度和動態,能夠更充分的利用碎片化資源。
在加速硬件創新方面,Serverless計算屏蔽了底層硬件規格,能夠復用多種機型,加速新硬件的大規模應用。
另外,Serverless的核心價值是技術普惠,通過平臺的整合和集成,用戶以更有效率的方式構建彈性、高可用、低成本的云原生應用。
賦能用戶加速價值交付,實現業務突破,這對中小用戶尤為重要。用戶在云的環境中茁壯成長,是云最重要的價值體現。
不過,一些公有云服務商針對Serverless的技術探究也出現了缺乏統一認知以及相應標準,無法適應所有的云平臺的情況,例如支持的開發語言不同,事件觸發的機制有差異等。畢竟Serverless從來都不是一款產品,也不是一個工具,而是一整套能力的合集。
一直以來,企業使用Serverless通常會涉及幾方面因素,其中“減少運營成本”被認為是最直觀有效的原因之一。應用Serverless后,企業就無需再為潛在的流量高峰買進大部分時間都可能空閑的服務器機架,而是根據流量進行自動伸縮,采用按請求量來付費的靈活方式。
此外“自動按需擴展”可以發揮到極致,隨時擴展到當前的使用量,消除了意外或者季節性流量高峰的困擾。更重要的是,Serverless不需要關心內存泄露,還具備將云數據庫、云消息隊列等服務囊括在內的完善配套設施,極大減少工作量。
哪怕企業中大部分的開發人員都出身軟件,對修復保護以及管理并不擅長,一樣可以做到專注軟件開發,Serverless絕對沒問題。
基于此,一直以來國內外都有很多企業致力于提供基于Serverless框架的能力服務,接受程度更是水漲船高。可以說,Serverless架構的興起使“去服務器化”真正造福了開發者,讓基礎設施管理出現了新契機。
隨著技術上對去中心化以及輕量虛擬化的需求越發強烈,這種“全云化”的模式似乎預示著真正的云時代正在到來。
本文來自微信公眾號“科技云報道”(ID:ITCloud-BD),作者:科技云報道,36氪經授權發布。
