- Serverless從入門到進階:架構、原理與實踐
- 方坤丁 孫遠高
- 1046字
- 2021-06-24 11:19:05
1.1 什么是Serverless
本節主要針對Serverless的概念進行分析和梳理,并舉例說明Serverless的技術特性,幫助讀者對Serverless建立一個初步的認知。
1.1.1 初識Serverless
Serverless一詞中文經常譯為“無服務器”。拆解來看,Server + less即盡量減少服務器的份額。那么Serverless是否真的代表“無服務器”呢?下面我們來一探究竟。
分析維基百科里對Serverless Computing一詞的解釋,也許可以幫助我們對Serverless的概念有更好的了解:無服務器計算(Serverless Computing)又稱為函數即服務(Function as a Service,FaaS),是云計算的一種模型。云服務商通過運行服務器,動態管理和分配對應的計算資源,最終以資源實際使用量來收取費用。
分析上述定義,我們可以得到以下結論。
- Serverless并不是沒有服務器。
- Serverless的產生基于云計算。
- Serverless具有動態擴縮、按需計費的特點。
首先,Serverless并不是沒有服務器,它只是將服務器的運維、管理和分配都托管給了云提供商。其次,正因為云提供商對資源進行了運維、管理和分配,才讓Serverless的概念和云計算密不可分。最后,對于用戶而言,集中的管理和運維開放出來的能力特性也十分明顯:一方面,用戶無須關注業務的擴縮容,云平臺會根據請求實現底層資源的動態伸縮;另一方面,彈性的好處也反映在了計費方式上,Serverless架構打破了傳統的包年、包月或按小時付費的模式,真正實現了按用戶的實際使用情況計費,更加靈活和友好。
Serverless的意義不僅在于計算,也在于提供后端服務的Serverless化。如果把Serverless Computing稱為FaaS,那么和FaaS對應的則是Backend as a Service(BaaS,后端即服務)。結合這樣的架構,我們可以對Serverless做出定義。
Serveless是基于云計算的一種模型,是“函數即服務”和“后端即服務”的總和。云服務商托管計算、存儲、數據庫等服務資源,進行動態的管理和分配,之后提供給用戶,而費用則基于資源的實際使用量來計算。
1.1.2 Serverless特性舉例
為了更形象地說明Serverless的概念,我們通過一個例子進行對比。如今很多家庭購買私家車滿足出行需要,這樣做的好處是可以長期使用這臺車,但是劣勢也比較明顯,比如需要進行定期維護和保養。近年來涌現許多汽車租賃平臺,通過按日/月租車的方式,滿足用戶短期出行的需求。而近幾年興起的打車軟件,則隨需隨用、只付路程費,能靈活滿足各種出行需求。
以上3種出行方式分別對應業務架構中的物理資源獨占、虛擬機和Serverless。物理資源獨占就和私家車一樣,可長期持有,但需要投入人力持續運維;云平臺的虛擬機類似于租車平臺按日/月進行租車的方式,使服務更細粒度,但無論在租車期間是否持續用車,依然會按照租車時間進行收費(即按量計費),并且需要在租車期間對車輛進行維護;Serverless對應的則是打車軟件的出行方式,其特點也是類似的,僅在用戶坐車時收費,真正做到按需計費,無須對車輛進行管理和運維。
- Web應用系統開發實踐(C#)
- SQL Server 2016從入門到精通(視頻教學超值版)
- BeagleBone Media Center
- R語言數據可視化實戰
- Java加密與解密的藝術
- 正則表達式經典實例(第2版)
- Oracle Exadata專家手冊
- PHP 7+MySQL 8動態網站開發從入門到精通(視頻教學版)
- Teaching with Google Classroom
- ServiceNow:Building Powerful Workflows
- 智能手機APP UI設計與應用任務教程
- Unity 2018 Augmented Reality Projects
- 實戰Java高并發程序設計(第2版)
- App Inventor少兒趣味編程動手做
- Unity 5.X從入門到精通