0

作者 | 楊麗
過去五年,同程藝龍機票事業部CTO王曉波經歷的“挖坑”與“填坑”過程,至今讓他回味。
在近日舉辦的Techo TVP 開發者峰會 ServerlessDays China 2021上,他這樣描述了一個身為互聯網公司研發負責人的“苦惱”:
“很多業務同學對產品功能部署的要求有多快?或許就是上午坐公交車被門夾了一下,想出來一個idea。然后他就希望下午的時候看到這個功能已經上線了。”
通常而言,研發人員上線新功能,往往需要架構設計、服務器部署,不是想象中寫幾行代碼就能夠完事兒。項目緊任務重,該上線的還得加油干。
于是,團隊開始嘗試Serverless服務,盡量減少在服務器、框架、部署,甚至開發過程等環節上的精力消耗。不同的是,當時嘗試Serverless更多屬于企業內部的項目,不需要服務對外,這也意味著很多技術解決不了的問題通過一道行政命令就執行落地了。
凝結五年經驗與教訓,他總結出三個靈魂發問:
“為什么要用Serverless?難道我們要追星嗎?”
“究竟解決了什么問題?比如彈性計算省下來的錢,真得能換來一個業務嗎?”
“對業務的幫助有多大呢?比如對IT架構設計的要求,從單體發展到微服務,再到ServiceMesh,再到Serverless,最后繞了一圈突然又覺得單體架構可能會比較好。這究竟是不是時代的局限性?”
王曉波將這種痛苦的經歷總結為:缺少一個真正的方法論和工具進行管控。
對于更多的企業開發團隊而言,又該避免嘗試上手Serverless后繼續變成原來所討厭的事情?如何All in Serverless?
從All in Serverless到落地
2021年3月,市場調研機構Forrester公布的最新一項調研中,清晰地展示了國內各大云服務商在云函數服務能力的矩陣圖。
在Serverless實踐與推廣方面,我們最早熟知的亞馬遜云的Lambda就是一款相對成熟的函數計算產品,但這次不同的是,國內廠商似乎在追齊國際主流廠商的各項能力。
登入市場性報告的魔力象限或許并不能完全說明各自服務商的優劣勢,實際上,他們各自在函數計算的實踐和突破路徑上其實都各有所長。但這至少說明一點,云函數已經得到云巨頭的廣泛性關注,而云函數背后襯托出的是以Serverless技術為核心的計算、存儲體系架構的演進。
Serverless,簡而言之,是應用服務層或函數計算來動態配置和部署云環境的計算負載。基于Serverless形成了函數計算產品體系,大致可分為兩類:一類是計算,即FaaS(Function as a Service);一類是BaaS(Backend as a Service),如消息中間件、對象存儲。
種種跡象表明,Serverless這項被認為是繼虛擬機、容器之后的第三代通用計算平臺,已經在很多互聯網業態環境中得以應用。
據雷鋒網觀察,多數企業選擇使用函數計算產品,主要源自其對彈性資源和成本的考慮,能夠以更加細顆粒度地按量付費。Serverless本身是可以幫助客戶用非常低的成本實現彈性高可用的能力,并且滿足安全性的要求。其目的是為了簡化開發工作中的運維任務,讓開發者聚焦在應用上。
從用戶側的實際反饋來看,相比于幾年前,大家的一個普遍感受是Serverless的實踐路徑及對問題的解決相對清晰了。這也讓Serverless在更多企業、場景中的落地難題變得共性化。
Serverless使得開發人員對云基礎設施的調用從原來的以資源為中心,轉變成了以服務/應用為中心。其優勢點在于可以為企業提供直接的運行環境,開發者無需感知底層復雜的計算資源,即可通過調用上層的函數產品完成每一次的計算調用。
例如,Serverless本身跟以往的計算形態差異比較大,整個研發和運維的體系跟傳統應用是割裂的。這讓不少人開玩笑,“DevOps做了什么多年,怎么說服Dev去做Ops呢?一個最簡單的辦法,就是把Dev變成Ops,然后把Ops開掉。”
問題在需求側或許可以簡單粗暴地解決,但這個過程中底層資源的邏輯和狀態由云服務商來管理,難題自然也留給了供給側。

今年2月,云原生基金會CNCF公布了2020年年度調查報告顯示,使用無服務托管平臺排名前三的分別是亞馬遜的Lambda(57%)、Google云函數(27%)和Azure函數(24%);可安裝軟件應用排名前三的分別是Knative(27%)、Open FaaS(10%)和Kubeless(5%)。
性能的優勢不足以彌補市場占有率或市場教育不足的問題。無論是云上環境還是安裝套件下的函數計算,國內品牌還需要找到更多撬動的支點,深入了解客戶所需。
那么,客戶在關心什么?
在前不久與騰訊云 Serverless 副總經理羅茂政、騰訊云 Serverless 產品總監張浩的對話中,雷鋒網獲得了三個信息:
一些企業IT開始思考:跟隨市場最先進架構的遷移成本、掌握新工具的使用成本,跟解決一個業務業務所需消耗的人力成本之間,存在一定的矛盾。
Serverless向下屏蔽了底層資源的復雜性,但同時也會帶來很多技術的黑盒問題。
Serverless可以理解為一套云的計算架構,能夠在大數據、AI、物聯網、音視頻等領域融合落地。比如需要實時處理數據的在線場景,就存在Serverless應用的空間。
解鎖Serverless技術黑盒
一個關鍵點在于,Serverless會涉及很多的技術黑盒,這與其本身屏蔽了底層復雜技術相關。類似于深度神經網絡本身存在的不可解釋性造成了很多技術黑盒的問題,同樣,Serverless領域也需要解決“不可觀測性”問題。
舉個最簡單的例子,開發者往往不需要關心底層的計算資源,或者依靠何種性能的虛擬機或容器。但這反過來就也就意味著一旦遇到異常問題,開發者也是根本不清楚Serverless應用究竟是因為調度環境出現異常,還是某個產品模塊出了問題。
因此,Serverless產品團隊既需要做到盡量不讓客戶感知底層的資源環境,只關注向上的業務發展;同時,也需要給出可觀測性的工具或解決方案幫助開發者實時評估風險,快速定位診斷出問題所在。
應用性能管理平臺(TAPM)是騰訊云針對可觀測性領域開發的一款產品平臺,能夠幫助客戶對整個鏈路中的應用性能健康狀況進行觀測。

然而,有一個好的平臺只是第一步。正如上述同程藝龍的王曉波遇到的情況,很多客戶都往往存在遺留資產的包袱,發展至如今變成了從單體到微服務再到Serverless等多種架構并存的現象。
張浩告訴雷鋒網,“現在其實有更多的客戶會比較冷靜地看待這個事情。在兼顧業務穩定發展的同時在一些新的業務領域嘗試,這時,客戶就需要利用Serverless的架構快速支持某些創新業務。”
比如在線教育市場的競爭性相對殘酷,這種對企業業務和技術負責人帶來的雙重壓力,會使得他們主動要求基于Serverless技術進行服務的調用、存儲的遷移等等。
在他看來,“只有客戶認可這個價值,客戶才會主動愿意進行Serverless架構的遷移。其次才是服務商通過相應的手段和技術能力幫助梳理和過渡。”
此外,還有很多客戶會非常擔心供應商鎖定的問題,不太希望自身的技術棧跟某個供應商綁定。這可能也并非任何一家服務商的本意。
張浩指出,騰訊云的思路仍讓是希望留給客戶足夠的透明度和靈活遷移的能力,通過將服務和開發者體驗做到最好來留住客戶。
Serverless的未來與機遇
根據公開信息,微信小程序作為騰訊云開發的一個重要端應用,已經成為業界成績最好的Serverless開發平臺:云開發注冊用戶數達56萬,服務超過100萬次開發者,日調用次數超過7億。
在小程序云開發最初上線的幾年,盡管這個產品得到了很多開發者尤其是大前端在使用體驗上的“吐槽”,但這種微服務的能力正伴隨產品迭代升級越來越受到開發者的關注和認可。
目前來看,微信小程序可能是比較突出的一個應用,但并不意味著Serverless只有這一個應用場景。同樣在音視頻、大數據、AI、物聯網等領域,Serverless的應用場景十分廣泛。
例如,在音視頻領域,在騰訊多媒體實驗室與敦煌研究院合作利用AI為壁畫“診病”的項目中,騰訊云Serverless技術實際也得到了運用。

騰訊云通過為客戶提供Serverless化的GPU調度能力,將多媒體實驗室提供的AI算法能力構建在這套GPU集群上,使得最終提供給敦煌研究院壁畫拍攝資料,已經通過AI圖像識別算法能力進行了非常好的識別。
“Serverless可能只是你看到的一方面,另一方面它向下依賴是整套底層計算資源,包括虛擬機、容器、存儲、網絡等軟硬件相關的產品,”羅茂政指出。這意味著Serverless自身計算架構的升級同樣也需要依賴軟硬件的結合,才能讓上層的客戶擁有一個非常順滑的體驗。
而接下來,除了像云函數外,團隊將在應用層進行一些深度的探索,希望能夠推出更多開箱即用的服務提供給客戶。
小結
當前,數字化轉型成為一件必然發生的事情。
而Serverless的崛起將成為數字化轉型浪潮中企業IT變革的一個關鍵支撐力量。
作為一項新興技術,Serverless不可避免存在其落地應用的諸多困難,但不可否認的是,Serverless為企業治理帶來了顯著成效。
據今年CNCF公布的數據還顯示,30%的受訪者在生產中應用了Serverless架構,這一數字相比上一年仍有所提高。
在這場Serverless的風波背后,各大云廠商乃至更多生態同盟,正暗暗鼓勁搶灘下一階段數字化浪潮紅利。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。