越來越火的Serverless(無伺服器計算),到底是個什麼?

今天這篇文章,我們來聊一個雲端運算領域的熱門概念——Serverless。

到底什麼是Serverless?

到底什麼是Serverless?

英語好的童鞋,可能一眼就看出來了,Serverless是由Server和less兩個詞根組成的詞。從字面上理解,就是「無伺服器」。

行業通常所說的Serverless,主要是指「無伺服器計算(Serverless Computing)」

那麼問題來了,這年頭,就連小學生都知道,伺服器是具有很強計算能力的計算機,是我們現在最主要的計算工具。「無伺服器計算」,如果不採用伺服器,那該怎麼算呢?

事實上,Serverless所謂的「無伺服器計算」,並不是真的不需要伺服器,而是說,對於使用者,伺服器變得「不可見」了(或者說「無感知」了)。

越說越玄乎了,有木有?別急,還是讓我從頭開始說起吧——

█Serverless的誕生背景

1946年2月,世界上第一臺數字式電子計算機ENIAC誕生,標誌著人類正式進入了數字計算機時代。

早期的計算機都是大型機,體積龐大,價格昂貴,但是,算力卻很弱。當時,這些機器只有很少的公司才能擁有,用於特定的計算目的。

到了1970-80年代,為了解決單點式計算(一臺大型機,獨立完成全部的計算任務)算力不足的問題,專家們發明了網格計算這樣的分散式運算架構,取得了不錯的效果。

說白了,分散式運算,就是把一個巨大的計算任務,分解為很多的小型計算任務,交給不同的計算機分工完成,

再後來,隨著晶片技術的進步,計算機的體積變得越來越小,算力也變得越來越強勁。不久後,小型化的計算機出現了,也就是我們常說的PC(Personal Computer,個人電腦)。

計算機制造和使用成本的不斷下降,加速自身的普及,也刺激了計算機網路的出現與發展。從區域網到廣域網,再到網際網路,計算機網路的規模變得越來越大。

網際網路的出現,徹底改變了計算機服務使用者的方式。

此前,一個機房服務於一所學校、一家企業、一個政府部門,現在,有了網際網路,服務對象可以是全球使用者,規模大大增加了。

使用者規模增加,意味著對算力的需求也增加了。網際網路服務提供商,需要一種更強大、更便宜的算力,滿足使用者需求。

於是乎,就有了雲端運算

很多人認為,雲端運算就是一個超大號的機房,和以前的企業機房沒有區別,只不過伺服器更多些。

這種觀點是不對的。

雲端運算的本質,不是算力資源的簡單堆砌,而是池化——它將大量的零散算力資源(廉價的算力資源)進行打包、匯聚,實現更高可靠性、更高性能、更低成本的算力。

具體來說,在雲端運算中,CPU、GPU、記憶體、硬碟等計算資源被集合起來,通過軟體的方式,組成一個虛擬的可無限擴展的「算力資源池」。如果使用者有算力需求,「算力資源池」就會動態地進行算力資源的分配,構建一個虛擬的「計算機」。使用者按需使用、付費,即可。

相比於使用者自購設備、自建機房、自己運維,雲端運算有明顯的成本優勢,可以節約大量資金和人力。

根據提供算力資源的層級不同,雲端運算通常也分為IaaS(基礎設施即服務)、PaaS(平臺即服務)、SaaS(軟體即服務)。如下圖所示:

那麼,問題又來了——雲端運算這種「租」的方式,是不是最終極的算力資源使用方式呢?我們作為使用者,使用算力,還能更簡單一點嗎?

答案是肯定的。

不管是自建機房,還是雲端運算,使用者都需要和伺服器打交道,和軟硬體環境打交道。這些都是工具和過程,而我們的最終目的是什麼?是得到運算結果。

那麼,為了得到結果,我們是不是一定要關心環境的搭建過程?

不一定。既然環境可以租,那何不更徹底一點,直接「租」服務呢?

舉例來說,如果把計算過程理解為炒菜。以前,我們為了炒菜,需要自己建個廚房,自己買鍋碗瓢盆、油鹽醬醋,自己親自炒菜。後來,有了雲端運算,我們可以租個廚房,租工具,然後炒菜。現在,想要更簡單的話,是不是可以直接叫外賣?

再例如,以前,我們上班通勤,是自己買車,自己開車。然後,有了雲端運算,相當於租車。現在,是不是可以直接打車?

說白了,我們要的是計算服務和計算結果。計算環境(硬體),我們完全可以不去操心。

說到這,我們的主角——

說到這,我們的主角——Serverless,終於閃亮登場了。

對於Serverless,我們可以把它理解為一種架構,一種理念,甚至是一種思想。

Serverless的核心目的,就是在雲端運算的基礎上,再向前邁進一步,徹底「包攬」所有的環境工作,直接提供計算服務。

在Serverless架構下,開發者只需編寫程式碼並上傳,雲平臺就會自動準備好相應的計算資源,完成運算並輸出結果,從而大幅簡化開發運維過程。

換句話說,使用者完全不用關心廚房,你把食材提供給Serverless平臺,它負責把菜炒好,就這麼簡單。

█Serverless的特點

Serverless是雲端運算的進一步延伸,所以,它繼承了雲端運算的最大特點——按需彈性伸縮、按需付費。

現在的網際網路服務,基本上都是採用微服務架構。也就是把一整套服務,拆分為多個細分服務,由不同的伺服器完成運算。

Serverless的特點是,這個服務足夠「細小」,變成了「函數級」的顆粒度。

所謂函數,就是提供輸入,計算輸出

所謂函數,就是提供輸入,計算輸出。

從層級上來看,Serverless在傳統雲端運算SaaS的Application(應用)層級之上,又加了一層——function(函數)。它的顆粒度更細,可以更靈活地滿足使用者的算力需求。

按照CNCF對Serverless 的定義,Serverless架構是採用FaaS(函數即服務)和BaaS(後端服務)服務來解決問題的一種設計。

FaaS就是Function as a service(函數即服務)。每一個函數都是一個服務,函數可以由任何語言編寫,直接託管在雲平臺,以服務形式運行,通過事件觸發。

BaaS則是Backend as a service(後端即服務)。雲平臺提供的後端元件整合,開發者無需開發和維護後端服務,通過API/SDK的調用,便可獲得例如資料儲存、訊息推送、賬號管理等能力。

Serverless = FaaS + BaaS

Serverless的背後,依然是虛擬機器和容器。只不過,伺服器部署、runtime安裝、編譯等工作,都由Serverless計算平臺負責完成了。對開發人員來說,只需要維護源程式碼和Serverless執行環境的相關配置即可。這就叫「無伺服器計算」。

Serverless架構的最大優勢,顯然就是幫助使用者徹底擺脫了基礎設施管理這樣的「雜事」,更加專注於業務開發,從而提升了效率,降低了開發和運營成本。

根據業界的統計,在商業和企業資料中心裡的典型伺服器,日常僅僅只提供了5%~15%的平均最大處理能力的輸出。這是一種算力資源的巨大浪費。

Serverless的出現,可以讓使用者按照實際算力使用量進行付費,屬於真正的「精確計費」。

換言之,使用者的每一分錢,都花在了刀刃上。

█Serverless的發展歷程

世界上第一個Serverless平臺,是2006年發佈的Zimki。這個平臺提供服務端JavaScript應用,支持「按照實際調用付費」。不過,當時他們並沒有使用Serverless這個名詞。

後來,到了2012年,Iron.io的副總裁Ken Form在文章「Why The Future of Software and Apps is Serverless」中,首次提出了Serverless,才宣告這個概念的正式誕生。

2014年11月,亞馬遜率先推出了真正意義上的第一款Serverless FaaS服務——Lambda。從此,各大廠商開始跟進。

2017年,Serverless開始在國內落地。這一年,阿里雲和騰訊雲先後推出了自己的 Serverless平臺。阿里雲的Serverless平臺,被直接命名為函數計算(FC,Function Compute)。

一年後的2018年,阿里雲推出Serverless容器服務ASK和Serverless應用引擎SAE。

那一時期,剛好小程序開始火爆。Serverless的靈活架構,非常適合小程序的開發。於是,吸引了大量的開發者們。

到了2019年,國內廠商紛紛入局Serverless。如今,Serverless已經成了各大雲廠商的標配,受到整個行業的熱捧。

本月初,2022·雲棲大會上,阿里雲智慧總裁張建鋒表示,以云為核心的新型計算體系正在形成,軟體研發正規化正在發生新的變革,Serverless是其中最重要的趨勢之一。

他認為,Serverless讓雲端運算從一種資源真正變成一種能力,未來雲將全面Serverless化,更加接近「電網」模式,按計算的調用次數付費。

目前,阿里雲已經擁有超過20款Serverless產品,包括函數計算FC、Serverless 應用引擎SAE、Serverless容器服務ASK、PolarDB資料庫、AnalyticDB數倉等。其中函數計算日調用次數超過200億次,整體規模位居國內首位。

前面小棗君也提到,Serverless並不是沒有伺服器的計算,而是將算力環境和資源進行了「隱藏」,讓使用者不可見,無需操心。事實上,Serverless不僅需要算力資源,而且對算力資源的要求比以往更高。

以阿里云為例。他們之所以能夠做Serverless平臺,就是因為背後有四大核心技術的支撐。這四大核心技術,分別是:神龍計算平臺、袋鼠沙箱容器、盤古儲存平臺和洛神網路平臺。

在算力晶片上,阿里雲今年6月新推出的一款雲資料中心專用處理器 CIPU(Cloud Infrastructure Processing Unit),也非常擅長對資料中心的計算、網路和儲存資源進行管理和加速,幫助進一步提升Serverless平臺的性能。

█Serverless的落地案例

接下來,我們不妨通過幾個案例,詳細看看阿里雲Serverless平臺究竟是如何提升算力效率的。

阿里巴巴每年的雙11促銷,是行業公認的算力極限挑戰。海量使用者、高併發,對系統的處理能力有著極高的要求。

2020 年天貓雙 11,阿里雲實現了國內首例Serverless在核心業務場景下的大規模落地,扛住了全球最大規模的流量洪峰,創造了Serverless落地應用的里程碑。

今年天貓雙 11,阿里雲Serverless支撐業務場景更多,範圍更廣。阿里雲函數計算(FC)與集團內的運維體系全面實現標準化對接,打通了研發的最後一公里,首次實現了業務全鏈路「FaaS+BaaS」的Serverless體系化研發,覆蓋淘特、淘系、阿里媽媽、1688、高德、飛豬等業務場景。

根據資料統計,支撐場景數量同比增加2倍,峰值流量總數同比增加3倍,實現了百萬QPS的突破,人效提升40%。

再來看看外部使用者

再來看看外部使用者。

網易雲音樂,是阿里雲Serverless產品的重要客戶之一。

他們的產品背後,有非常多的演算法服務支撐,比如多種位元速率的音訊轉碼、聽歌識曲中應用的音訊指紋生成和識別、副歌檢測、小語種音譯歌詞等等。

這些任務的資源需求和執行時間變化很大,需要使用C++、Python等多種語言實現,對算力的彈性要求非常大。

早期的時候,網易自建了一個演算法服務平臺,進行應對。但隨著業務增長,以及演算法複雜度的不斷增加,基礎設施管理的負擔越來越大,嚴重影響了工作效率。

引入阿里雲Serverless平臺之後,網易的演算法計算需求得到了很好的滿足。網易在函數計算上高峰期一天處理超過2000萬個任務,演算法應用到業務10倍速的提升,稀疏調用的演算法成本大幅縮減。

同樣的效率提升,還發生在南瓜電影、越光醫療、世紀華聯、江娛互動等企業身上。他們都是阿里雲Serverless平臺的使用者。

2021年3月,阿里雲函數計算憑藉在產品能力、安全性、戰略願景和市場規模等方面的優勢脫穎而出,在19個評估項目中,拿到了8項滿分和12項最高分,進入了FaaS領導者象限(綜合產品能力位列全球第一,戰略願景全球第二)。這是首次有中國雲廠商進入Forrester FaaS領導者象限。

█結語

隨著數字經濟浪潮的蓬勃發展,以及各行各業數字化轉型的不斷推進,算力的價值正在持續提升。

在單純提升晶片算力方面,我們面臨越來越大的挑戰(摩爾定律逐漸失效)。在這種情況下,我們必須更多地考慮,該如何提升算力的使用效率。

作為一種靈活輕量化的新型算力架構,Serverless毫無疑問是我們挖掘算力潛力、提升算力效率的一個重要手段。

客觀來說,目前的Serverless談不上完美。在實時性等方面,還存在一些不足。小棗君相信,隨著時間的推移,這些問題最終都會得到解決。

Serverless,將引領我們全面走向算力新時代。

相關文章

什麼是 「無伺服器計算」 ?

什麼是 「無伺服器計算」 ?

今天這篇文章,我們來聊一個雲端運算領域的熱門概念——Serverless。 到底什麼是Serverless? 英語好的童鞋,可能一眼就看出來...

算力網路,到底是如何工作的?

算力網路,到底是如何工作的?

大家好,我是小棗君。 前幾期文章,我給大家詳細介紹了一下算力和算力網路的本質。今天,是算力系列的最後一期,我們詳細看看算力網路的組網架構和技...

AIGC改變世界?拉斯維加斯給出答案

AIGC改變世界?拉斯維加斯給出答案

夢晨 發自 凹非寺 最早關注到AI繪畫是在去年6月。 當時有人突然發現,在提示詞中加上「虛幻引擎」就能讓畫質飆升,簡直像咒語一樣。 但受限於...

到底什麼是5G LAN?

到底什麼是5G LAN?

今天這篇文章,我們來聊聊5G LAN。 大家如果對通訊技術稍有了解的話,就會發現,5G LAN其實是一個很有意思的概念。 對於5G,大家應該...

從R15到R17,一文看懂5G的技術創新

從R15到R17,一文看懂5G的技術創新

2022年6月初,通訊標準組織3GPP第96次全會在匈牙利布達佩斯如期召開。 在本次會議上,備受矚目的3GPP R17標準被正式宣佈凍結。這...

關於「算力」,這篇文章值得一看

關於「算力」,這篇文章值得一看

今天這篇文章,我們來聊聊算力。 這兩年,算力可以說是ICT行業的一個熱門概念。在新聞報道和大咖演講中,總會出現它的身影。 那麼,究竟到底什麼...

關於這次通訊故障,我想多說幾句…

關於這次通訊故障,我想多說幾句…

這幾天,大家都在關注日本電信運營商KDDI的大規模通訊故障。 這個故障影響很大,涉及到日本全境範圍,共3915萬使用者。而且,故障持續的時間...

寫給通訊人的「失業」生存指南

寫給通訊人的「失業」生存指南

2022年的形勢,比想象中還要嚴峻。 宏觀經濟環境就不用說了,大家有目共睹。站在通訊行業內部的角度,情況也不容樂觀——5G大規模建設進入尾聲...