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