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