Serverless:為我們到底帶來了什么
點擊上方藍色“程序猿DD”,選擇“設為星標”
回復“資源”獲取獨家整理的學習資料!

作者 |?Anycodes
2009 年,是云計算發(fā)展的一個重要時間節(jié)點,無論是從概念正式被提出或定義,或者說是概念被廣泛認可、被眾人接納,還是說各大廠商開始布局,伯克利發(fā)布斷言,國內發(fā)布云計算白皮書等,2009 年,注定不平凡,它影響的,不是一個時代,而是一個未來。
2019 年,是云計算發(fā)展的另一個重要時間節(jié)點,因為這一年“真正的云計算被提出”:Serverless!是的,Serverless 最早被提出,并不是 2019 年,但是 2019 年卻被眾人稱之為是 Serverless 發(fā)展的元年,因為這一年,Serverless 被更多人認識、接納,被更多廠商擺到了臺面,作為“戰(zhàn)略布局”的重點。
從 Serverless 正式被定義,到 2019 年,乃至此時此刻的 2020 年,Serverless 架構的好處,被一眾人吹捧到了天上,有的人說 Serverless 提高了開發(fā)效率,降低了成本,還有人說 Serverless 免運維,Serverless 是未來,是一切,Serverless First,All Serverless......但是真正項目落地,應用在實際項目中的 Serverless 并沒有想象的多。
那么 Serverless 為我們到底帶來了什么?他真的是好處多多么?如果是為什么雷聲大雨點???如果不是好處多多,為什么各大廠商加速布局,毫不松懈?對我們,對用戶,對開發(fā)者,Serverless 到底意味著什么?
Serverless 帶來的希望和恐慌
要我說,Serverless 是一個期望。隨著去服務器化,越走越遠,隨著“把更專業(yè)的事交給更專業(yè)的人來做”這個思路越來越被關注和重視,Serverless 就目前的現(xiàn)狀而言,他是一個希望,一個目標,因為沒人知道 Serverless 是不是云計算的一個終態(tài),也沒人知道 Serverless 的終態(tài)是什么。
說實話,我接觸 Serverless 的時間并不久,但是也絕對不短,我接觸過很多廠商的 Serverless 產品,也看過很多開源的 Serverless 項目,我覺得目前的 ?Serverless就是一個萌芽,或者說 Serverless 被定義的太狹隘了,他的未來,沒人能預知,但是卻可以被我們來定義!

從 IaaS 到 PaaS,再到目前的 BaaS+FaaS(還有人說要加CaaS),Serverless 讓一些人體驗到了更加便利的技術紅利。

通過進一步的去服務器化,Serverless 確實讓開發(fā)者可以最少精力關注底層能力,更多關注業(yè)務本身,也確實讓運維將自己的注意力進行了極大的轉移,同時所謂的彈性能力,也讓用戶可以更有安全感,更加簡單快速的上線項目,也無需過多的擔心流量洪峰。但是也正是這樣的一系列變化,Serverless 在我給我們帶來好處的同時,也給我們帶來了無限的恐慌和迷惑。
是的,無限的恐慌和迷惑,這個和剛才說的既矛盾也相符!
Serverless 的彈性能力
首先說彈性能力,不同云廠商的彈性能力是不同的,所謂的 Serverless 毫秒級彈性,也僅僅是大家的愿景,真正的毫秒級彈性,離我們還很遠。就算是國內第一的云計算廠商阿里云,憑借其底層優(yōu)秀的能力,也沒辦法在彈性上做到極致,只能說是盡可能的“彈“。為了解決彈性的問題,阿里云甚至還推出了實例預留來做平衡,雖然在一定程度上,取得了比較不錯的效果,也滿足了絕大部分用戶在這個層面的訴求,但是依舊不算是“真正的彈性”。
國內第二階梯的云廠商,本來能力上就距離第一名有一定距離,要不是依靠超高的成本來做優(yōu)化(但是這并非長久之計,不計成本的背后,一定是更加慘淡的收尾,toB 公司不計成本只是一時無法一世),要不就只能是避重就輕,不說性能了(作為一個云廠商,不說性能,其實不如啥都不說)。在我之前的文章《Serverless: 2020 年函數(shù)計算的冷啟動怎么樣了》中,我通過公開代碼和實際數(shù)據(jù)進行過一波測試,其結果真的是差強人意,但是不得不承認,阿里云和華為云在彈性這方面確實下了功夫!所以在彈性這一方面,Serverless 給我們的愿景是好的,但是廠商實現(xiàn)這里,真的會讓很多人很難接受,尤其是一個項目連續(xù)遇到冷啟動,我相信“程序員被祭天“是可能的。
關于 Serverless 的 2 個迷思
接下來,就說迷惑大賞:各個廠商為了讓用戶上 Serverless,為了推廣自家的 Serverless 是真的“不遺余力”,是的,不偏不袒,我就實話實說,希望不會被各大云廠商“封殺”!
迷惑 1: 極致彈性,毫秒級啟動,徹底消滅冷啟動
國內第一的云廠商阿里云,其旗下的 Serverless 產品在宣傳其彈性計算的時候,一直在說極致彈性,那么什么是極致?我相信極致的定義,不應該是由廠商定義的,而應該由用戶定義。所以,這個“極致”就是一個迷惑。
當然,相對其他云廠商來說,阿里云還算比較保守,在宣傳的時候通常會說次秒級彈性,而在國內的 Serverless 環(huán)境下,大肆宣傳毫秒級彈性的廠商大有人在,真正冷啟動起來的時候,都要幾秒甚至幾十秒,對比之下“宣傳太美好,現(xiàn)實太骨感“!
我為什么說用毫秒,次秒級來形容 Serverless 是迷惑大賞第一名呢?因為 Serverless 架構下,冷啟動的時間,往往是和你的代碼包大小以及一些配置有直接關系,在不提供毫秒/次秒冷啟動/彈性能力的前提下,這種宣傳就是扯淡,就像買車的時候看油耗,用測試部門給你的油耗來衡量真實油耗,那簡直就會被老司機“罵得狗血噴頭”,因為這種宣傳是不負責任的,在極限情況下的宣傳,在實際項目中,必然讓用戶們大失所望。
同樣,那些宣傳毫秒彈性的廠商,你們的毫秒彈性是“萬事俱備,只差壓測”的情況下測試出來的么?我更希望廠商們可以真誠一些,給我們一組數(shù)據(jù),而不是一個數(shù)據(jù):例如多大的代碼包,熱啟動/冷啟動時間范圍是多少,我覺得這種真實的對比,才是有意義的,否則過度宣傳,過分夸張,損傷的是用戶的信任!
迷惑 2: 極速部署
不知道是什么時候,有部分廠商對自己的性能避而不談,反而高歌“極速部署”,當然,我并不是說極速部署不好,而是我想知道的是“極速”是多極速?1 秒完成部署?3 秒完成部署?還是?部署速度和代碼包有關系么?部署速度和網絡有關系么?這個極速在什么情況下會體現(xiàn)?在客戶端 3 秒部署一個函數(shù)和 5 秒部署一個函數(shù)對用戶的重要程度相對 300 毫秒啟動一個實例和 500 毫秒啟動一個實例,哪個才是更加有意義的呢?
我相信,云廠商的根本,核心不是做體驗,而是做安全,做穩(wěn)定,做性能。體驗固然重要,但是也只能算是錦上添花,作為一個云廠商,底層不穩(wěn)定,還不如不做云計算!如果壓測一波,各種報錯,冷啟十幾秒,那么我覺得,再好的體驗,也僅僅是曇花一現(xiàn),toB 的產品,不對 B 端負責,注定難以前行。
當然,體驗層面也確實是一個非常重要的點,例如阿里云的工具鏈建設的就并不好,百度云我就沒找到一個用戶交流群,體驗層面騰訊做的算是不錯,與 Serverless Framework 合作,同時擁有一個社區(qū)。但是無論如何,我都希望廠商們不要再對極速部署這件事過分宣傳,而是希望把更多時間投入在安全,性能,穩(wěn)定。就目前來看,阿里云函數(shù)計算和華為云函數(shù)計算在安全、性能與穩(wěn)定層面確實做得很好,百度云做的其實也還不錯。我個人覺得函數(shù)畢竟是要做為“生產力“的,而不是要做”快速部署力的“,生產中不行,你部署再快也沒用,我之前做的一個公眾號,遇到冷啟動能被微信后臺判定為“服務器故障,無法提供服務”,這是多么可怕的一件事。體驗層面,阿里、華為要加油,
那么 Serverless 到底給我們帶來了什么呢?
我僅僅站在一個開發(fā)者角度,覺得 Serverless 目前給我們帶來的,是一種希望,是一種思路上的解放,是一種全新的解題方案。
就目前而言,我們可以將一些新的業(yè)務上到 Serverless 架構,在一定程度上確實可以提高一些工程效率,對后期的運維等也會有一定的好處,畢竟這些算是 Serverless 的優(yōu)勢,這也是眾所周知的。至于業(yè)務遷移的問題,我覺得我們還是要慎重,雖然說成功上 Serverless 確實可能會不錯,但是遷移過程通常是很痛苦的。對原有業(yè)務的改造也是有很大風險的。當然如果有某個廠商 Serverless 支持了鏡像,我相信,這將會是一個不錯的選擇,也很期待國內的云廠商發(fā)大力,造奇跡!
Serverless 帶給我們的,是一種對云計算的全新認識,就目前而言 Serverless 的定義是沒有的。有人認為Serverless 就是 FaaS,有人認為是 BaaS+FaaS,有人認為還要加上 CaaS,有人覺得 Serverless 是未來,有人覺得他只是玩具,但是無論如何,一個新的技術/架構出現(xiàn),大家接受都是需要時間的,我相信 Serverless 在生產力層面表現(xiàn)出的能力,注定會被大規(guī)模應用。用伯克利斷言中的話:“Serverless 所提供的接口,簡化了云計算的編程,其代表了程序員生產力的又一次的變革,一如編程語言從匯編時代演變?yōu)楦呒壵Z言時代。Serverless 計算將會成為云時代默認的計算范式,并取代 Serverful (傳統(tǒng)云)計算模式?!?/p>
縱觀國內 Serverless 架構的發(fā)展,可謂是非常緩慢,期待有一個真正云廠商,可以在底層能力上做好,在體驗層面做得出彩。如果說,我心中國內的 Serverless 的樣子,我希望是,有一家可以集合阿里云的技術,騰訊云的體驗于一身。Serverless,未來已來,帶給我們的是一種希望,一種翹首以盼的態(tài)度,一種 All Serverless 的夢想,Go一起 Serverless!
往期推薦
???????



