盡管無服務器計算并不新鮮,目前,它卻發(fā)展到了一個頗為有趣的階段。隨著開發(fā)人員日漸認識到無服務器架構的價值所在,一個全新的與之相關的創(chuàng)業(yè)生態(tài)系統(tǒng)可能會成長起來。
無服務器并非完全無服務器,但是開發(fā)人員確實可以通過無服務器設置事件觸發(fā)器,并將基礎設施需求告知給云服務商。供應商會提供一定量的計算、存儲和內(nèi)存,因此開發(fā)人員不必擔心這些問題(或進行編碼)。
無服務器計算看似理想,但和其它新技術一樣,每項技術的誕生都會伴隨著一系列新的問題,而這些新問題往往代表了企業(yè)家的開放程度。對于那些正在建設安全性、工具、庫、API、監(jiān)控以及無服務器需要的其它工具的公司來說,未來幾年,這可能是一個巨大的機遇。
創(chuàng)建抽象層
起初,我們有物理服務器,但是會造成大量容量浪費。于是,我們開始發(fā)展虛擬服務器,虛擬服務器使得IT行業(yè)可以將單個物理服務器分成多個虛擬服務器。這在當時是巨大的突破,像VMware這樣的成功企業(yè)隨之誕生,另外,這項技術還為云計算鋪平了道路。然而,這只是一個開端。
緊接著誕生的是容器,它隨著Docker和Kubernetes這兩個開源平臺的開發(fā)而大放光彩。容器使開發(fā)人員能夠將大型單片程序分解為獨立的程序,從而提高其運行效率。近來,隨著無服務器與事件驅動計算的興起,基礎設施本身正在被抽象化。
無服務器并非真的沒有服務器,開發(fā)人員仍舊需要底層計算、存儲和內(nèi)存來運行程序,只不過他們無需再擔心服務器的問題了。如今,為了運行你所設計的硬件(虛擬的或其它),大量的編碼需要連接程序組件,而通過無服務器,云供應商可以為開發(fā)人員解決這些問題。
目前,主要供應商都推出了無服務器產(chǎn)品,其中AWS Lambda、Google Cloud Functions和Microsoft Azure Functions都提供了相似的技術。但是,無服務器計算可能不僅僅是一種新的編碼方式,它最終可能會改變我們對編程及其與底層基礎架構的關系的思考方式。
現(xiàn)狀是我們還沒有到達那個程度,因此,未來仍需通過大量的研究來真正掌握無服務器。未來幾年里,無服務器很可能成為一個創(chuàng)業(yè)公司培育系統(tǒng),毫無疑問,投資者會被其吸引并嘗試搞一些大事出來。
減少進入障礙
AWS Lambda總經(jīng)理Tim Wagner表示,無服務器計算的主要優(yōu)勢在于它為開發(fā)人員消除了與管理服務器相關的所有問題。他解釋道:“所以配置、設置、修補或監(jiān)控等與服務器和操作系統(tǒng)有關的所有細節(jié)問題都不存在了。”
Tim Wagner說,無服務器計算使得開發(fā)人員可以將整個編碼過程簡化到功能級別,程序員只需要定義事件或功能,云計算商會為其計算出運行程序所需要的底層基礎設施的具體數(shù)量。所以,一行代碼就可以搞定。
Sarah Guo是Greylock Partners的合伙人,她在早期階段對公司進行了投資,她認為無服務器計算為開發(fā)人員提供了一種只需編碼而把基礎架構管理留給供應商的工作方式。Sarah Guo說:“如果你去回顧云計算平臺做過的一件令人驚奇的事,那一定是它利用非常人可及的大量專業(yè)知識和金錢來建設可擴展服務并將其推給云供應商。”無服務器延續(xù)并發(fā)展了這一概念,它允許開發(fā)人員專注于用戶需求而無需擔心程序的運行。
調查結果
云計算公司Digital Ocean最近對超過4800名IT專業(yè)人員進行了調查,其中55%認為自己是開發(fā)人員。當被問及無服務器時,近一半的受訪者表示他們并不完全理解這一概念。另一方面,他們認識到繼續(xù)學習的重要性,81%的人表示他們計劃在今年進行更加深入的學習。
當被問到他們在去年是否使用過無服務器應用程序時,結果不出預料,約有三分之二的人說他們沒使用過。各個地區(qū)的情況基本一致,唯有印度的無服務器使用率較高。
Digital Ocean發(fā)現(xiàn),在使用無服務器的用戶中,AWS是迄今為止最受歡迎的服務,58%的受訪者表示他們選擇了Lambda,其次是谷歌云功能,占比23%,微軟Azure Functions則回落到10%。
有趣的是,受訪者稱其不愿開始使用無服務器的原因之一是缺乏工具。調查報告顯示“開發(fā)人員提及無服務器時,提出最大的挑戰(zhàn)之一是監(jiān)控和調試。”另外,低可見性也是創(chuàng)業(yè)公司的一個新機遇。
創(chuàng)造生態(tài)系統(tǒng)
抽象是指無服務器在一定程度上簡化了操作,但它也引發(fā)了一些新的需求,對于這一新型編程方式,有些需求可以預見,而有些則著實令人驚訝。工具的缺乏可能會阻礙無服務器的發(fā)展,但更常見的是,必要的時候它可以刺激新工具的開發(fā)。
作為一個投資者,Sarah Guo也一定注意到了這些,她說:“我想,為了讓開發(fā)人員更加便捷地使用無服務器,我們需要承諾做出更多的改進。我們需要擴大技術的適用范圍,同時專注于可見性和安全性等問題,這些問題都關乎開發(fā)人員能否更多的控制基礎設施。”
Accel的普通合伙人Ping Li也為投資者尋覓到一個機會。他說 :“無論什么時候,都要從開發(fā)人員應用程序的角度出發(fā)考慮問題,這樣才會有機會創(chuàng)造一套新的工具或產(chǎn)品,最終建成一個平臺。”
Li表示承諾很難立即兌現(xiàn),因為需要有大量開發(fā)人員率先體驗無服務器。 他說:“我們當然對無服務器感興趣,因為我們認為它將成為未來應用程序構建方式的重要組成部分,但不得不說,它仍處于早期階段。”
Madrona Ventures的董事總經(jīng)理S. Somasgear表示,雖然無服務器消除了復雜性,但它會產(chǎn)生一系列新問題,這將為創(chuàng)業(yè)公司創(chuàng)造機會。S. Somasgear 說:“問題較為復雜,我們試圖在底層基礎架構上創(chuàng)建一個抽象層,并告訴開發(fā)人員不必有所顧慮。但是,這意味著大量的工具必須到位,包括開發(fā)工具、部署工具、調試工具和監(jiān)控工具,這些工具可以讓開發(fā)人員了解使用無服務器時,哪些東西在運行。”
毫無疑問,在無服務器的世界里實現(xiàn)可見性著實是一個挑戰(zhàn),但它不是唯一的機遇。與觸發(fā)器或函數(shù)庫相關,或類似于Twilio或Stripe的公司也有著發(fā)展機會,它們可以提供簡單的API訪問,卻不需要通信或支付網(wǎng)關等專業(yè)知識,無服務器的發(fā)展對這些也是有需求的。
許多公司開始利用無服務器計算來探索解決問題的新方法。隨著時間的推移,我們希望看到更多的開發(fā)人員使用這種方法,并開發(fā)出更多工具。
正如Guo所說,無服務器目前處于早期階段,開發(fā)人員并不喜歡運行基礎設施, 這只是必需品。 她說:“事情會變得有趣起來,畢竟,我們還處于生態(tài)系統(tǒng)的而早期階段。”如果這些承諾落到實處,程序員在利用無服務器開發(fā)應用方面擁有了動力,那么,無服務器必然會潛力十足,創(chuàng)業(yè)公司生態(tài)系統(tǒng)也會隨之建成。