為什么說每個(gè)開發(fā)者都應(yīng)該關(guān)注Serverless?
如果說云計(jì)算是過去、現(xiàn)在和未來,那么Serverless就是云計(jì)算的未來。Gartner報(bào)告中表明,2020年全球?qū)⒂?0%的企業(yè)部署Serverless。Serverless以其學(xué)習(xí)成本低、運(yùn)維友好、靈活性高的特點(diǎn)為開發(fā)、運(yùn)維團(tuán)隊(duì)所喜愛,在國內(nèi)外也開始走上了大規(guī)??疾炷酥翆?shí)踐的應(yīng)用之路。
但不可否認(rèn)的是,Serverless還沒有出現(xiàn)最佳實(shí)踐,國內(nèi)國外也都處在探索的過程中。3月21日,騰訊云TVP技術(shù)閉門會請來了國內(nèi)外Serverless技術(shù)的佼佼者、使用者坐而論道,共話Serverless從概念到實(shí)踐的發(fā)展之路。
Serverless是未來的云
“我們相信,未來Serverless應(yīng)用開發(fā)者將聚焦在各種解決方案的開發(fā)上,利用Serverless基礎(chǔ)設(shè)置提供各種應(yīng)用方案,而不用去特別地關(guān)注底層的復(fù)雜基礎(chǔ)架構(gòu),Serverless公司將和騰訊云一起建立起中國的Serverless開發(fā)者社區(qū)?!?/p>
Serverless.com CEO Austen Collins做了題為《Innovate More, Manage Less With Serverless》的演講。Austen是Serverless Framework的原作者,目前這個(gè)開源框架有超過3.5萬的star,下載次數(shù)超過200萬,用戶包括可口可樂、摩根大通等知名企業(yè)。去年底Serverless與騰訊云達(dá)成深度合作,將Serverless在北美的成功經(jīng)驗(yàn)帶到中國,并給開發(fā)者帶來體驗(yàn)極佳的Serverless工具。
Austen提到,當(dāng)我們說Serverless時(shí),我們經(jīng)常提到的是易擴(kuò)展性,自動擴(kuò)容,低成本,容易開發(fā),聚焦在應(yīng)用的輸出淡化基礎(chǔ)設(shè)施?,F(xiàn)階段Serverless的幾個(gè)典型場景包含:REST API、流數(shù)據(jù)處理、GraphQL API、時(shí)間驅(qū)動的工作流、邊緣計(jì)算及部署。而隨著Serverless的發(fā)展,未來它還會與Webassembly擦出新的火花。
在Austen的演講中,提到了幾個(gè)值得關(guān)注的實(shí)踐案例。一個(gè)北美百貨零售商,通過使用Serverless的技術(shù)方案,目前已有4000個(gè)基于Serverless的應(yīng)用,用例包含構(gòu)建API、處理數(shù)據(jù)等,頁面上的每一次按鈕交互背后都可能是訪問某個(gè)Serverless云函數(shù)。該公司技術(shù)團(tuán)隊(duì)只有70個(gè)開發(fā)者,負(fù)責(zé)開發(fā)各種基于Serverless的應(yīng)用、API等。以前很難想象70個(gè)開發(fā)者可以開發(fā)和維護(hù)超過4000個(gè)應(yīng)用,而使用Serverless以后,他們不再需要特別關(guān)注如何擴(kuò)容應(yīng)用,將精力花費(fèi)在關(guān)鍵的業(yè)務(wù)開發(fā)上。
Austen同樣指出,Serverless并不完美,也絕不是銀彈。它并不適合所有的應(yīng)用案例,你需要完全基于云設(shè)施進(jìn)行開發(fā),傳統(tǒng)的數(shù)據(jù)庫并不能利用到Serverless易擴(kuò)容的特點(diǎn)。在Serverless的使用中,Austen也看到了很多創(chuàng)新的用例,企業(yè)可以聚焦在適合Serverless的業(yè)務(wù)點(diǎn)上,不用一開始就選擇全面遷移。
硬核的Austen在分享過程中手寫了兩個(gè)Demo,演示了在數(shù)秒內(nèi)將應(yīng)用部署到基于Serverless的各種云基礎(chǔ)設(shè)施上,整個(gè)過程不會看到任何云端設(shè)施創(chuàng)建的細(xì)節(jié)。Serverless提供了一種完全基于云端的開發(fā)體驗(yàn),你可以像本地開發(fā)一樣編輯你的代碼,代碼將自動同步到云端基礎(chǔ)設(shè)置,并且所有的日志將會輸出回你的本地終端中。
在提問環(huán)節(jié)中,Austen對開發(fā)者關(guān)心的Serverless問題做了解答。他認(rèn)為Serverless的產(chǎn)生不會像云那樣對運(yùn)維團(tuán)隊(duì)造成大的沖擊,恰恰相反的是,他看到運(yùn)維團(tuán)隊(duì)對Serverless格外歡迎。
“Serverless是云的未來形式,它將成為未來開發(fā)者們的超能力!”Austen最后總結(jié)道。
Serverless:低成本、無范式的技術(shù)方案
“Serverless的價(jià)值是什么?低成本和無范式。在低成本和無范式的基礎(chǔ)上,它的主要價(jià)值就在于它的靈活性?,F(xiàn)在行業(yè)里更多還是照搬MVC框架,很少把復(fù)雜業(yè)務(wù)放在Serverless上運(yùn)行,沒有發(fā)揮出其靈活性特點(diǎn)?!?/p>
上海婓鴻網(wǎng)絡(luò)科技有限公司技術(shù)經(jīng)理朱峰老師接觸Serverless的時(shí)間并不長,2018年下半年入“坑”的他,選擇了騰訊云的云函數(shù)產(chǎn)品。他介紹道,最開始的嘗試是從邊緣的簡單功能例如數(shù)據(jù)處理用起,體驗(yàn)了Serverless的用法以后,最后才決定將公司核心業(yè)務(wù)全部遷移到Serverless上。
“任何技術(shù)都是為了解決具體的問題,不同的問題場景里面其實(shí)是有不同的資源和不同的優(yōu)先級,技術(shù)本身并不存在優(yōu)劣之分。但Serverless具備的特性,卻讓它的使用場景變得十分可觀?!?/p>
朱峰老師指出,Serverless的低成本不僅體現(xiàn)在學(xué)習(xí)成本低,而且在開發(fā)、運(yùn)維迭代甚至包括費(fèi)用成本方面都非常低。尤其是在費(fèi)用成本方面,騰訊云云函數(shù)最低支持64M內(nèi)存,以毫秒方式計(jì)費(fèi),對開發(fā)者十分友好。
業(yè)內(nèi)對Serverless的顧慮在于,目前還沒有看到核心業(yè)務(wù)場景跑在Serverless上的最佳實(shí)踐。對此朱峰老師也分享了自己是如何把核心業(yè)務(wù)放在Serverless上,以什么樣的方式管理Serverless。
l第一,App還是Function?這不是二選一的問題,應(yīng)該兩者根據(jù)業(yè)務(wù)的情況去做。我的建議就是簡單的功能盡量用Function,之后牽涉到多個(gè)mode交互可以使用微型的GraphQL的app實(shí)現(xiàn);
l第二,如何管理環(huán)境?騰訊云中Namespace可以區(qū)分測試環(huán)境、生產(chǎn)環(huán)境,Version每次部署都會生成一個(gè)版本,Alias(別名)指向某個(gè)版本號。利用好三者可以有效管理環(huán)境;
l第三,如何管理密匙?將密鑰文件存放在特定的對象存儲里,通過嚴(yán)格的權(quán)限管理和指定云函數(shù)的運(yùn)行角色,使得特定的云函數(shù)可以讀取特定的密鑰。
“Serverless的最佳應(yīng)用場景是快速迭代的業(yè)務(wù)場景而不是穩(wěn)定的業(yè)務(wù)場景。因?yàn)槠錈o范式的特點(diǎn)可以完全按照業(yè)務(wù)的類型,拋開之前的MVC或者別的常規(guī)范式去探索自己真正適合自己業(yè)務(wù)的特性。對企業(yè)、業(yè)務(wù)部門來說,更多情況下面對的是一個(gè)未知的市場和業(yè)務(wù),這個(gè)時(shí)候如果能拋開舊的思維定式完全根據(jù)新的業(yè)務(wù)開發(fā)適合自己的業(yè)務(wù)架構(gòu),會更有幫助。而Serverless的靈活性和特性從底層上就支持你去這么做?!?/p>
騰訊云將提供一整套Serverless解決方案
“Serverless是一套完整的解決方案,涉及到軟件開發(fā)的全生命周期,從開發(fā)部署到運(yùn)維等等。從Serverless的角度看,現(xiàn)在仍舊缺少成熟的產(chǎn)品,很多廠商都在提供一套偏基礎(chǔ)的服務(wù),比如說函數(shù)計(jì)算、API網(wǎng)關(guān)、無服務(wù)等等。騰訊內(nèi)部支持微信小程序等核心應(yīng)用的Serverless技術(shù)已對所有用戶開放。騰訊云將提供一站式開發(fā)、部署、運(yùn)維Serverless解決方案。”
騰訊云中間件總經(jīng)理兼首席架構(gòu)師Yunong Xiao在圓桌環(huán)節(jié)分享了騰訊云與Serverless.com的合作。騰訊云期望做好開發(fā)體驗(yàn),尋求與Serverless.com產(chǎn)品的合作,而后者同樣希望能通過騰訊云改進(jìn)云上服務(wù),讓產(chǎn)品更完善。兩家企業(yè)的強(qiáng)強(qiáng)聯(lián)合可以說是一拍即合,在中國做一個(gè)針對開發(fā)者的最領(lǐng)先的全套解決方案。
今年二月份國外機(jī)構(gòu)也給出了全球Serverless廠商的整體評測,騰訊僅次于亞馬遜和微軟,位列第三。Yunong Xiao指出,這背后一方面是因?yàn)轵v訊云在底層的性能、功能、穩(wěn)定性上具備技術(shù)優(yōu)勢;另一方面在Serverless架構(gòu)的運(yùn)維層面,騰訊云也提供了全套的解決方案,后續(xù)還將發(fā)布更為優(yōu)秀、智能的產(chǎn)品幫助Serverless做到運(yùn)維無憂。
“騰訊云Serverless團(tuán)隊(duì)今年將在可用性、性能方面持續(xù)加碼,同時(shí)聚焦開發(fā)者層面,將Serverless產(chǎn)品推薦給更多開發(fā)者使用,持續(xù)提升流程、工具、使用體驗(yàn)?!?/p>
為什么前端開發(fā)都愛Serverless?
“我認(rèn)為Serverless更好的應(yīng)用場景是面對前端的開發(fā)者,從前端的需求來講,對無服務(wù)器的概念更感興趣,而且痛點(diǎn)比較深。如果我們找準(zhǔn)大前端的定位,讓前端能形成一個(gè)全棧的開發(fā),能滿足他們的需求,這也是很好的Serverless發(fā)展需求?!?/p>
李明老師是游戲引擎研發(fā)與技術(shù)服務(wù)商Layabox的合伙人,超90%的3D微信小游戲都采用Layabox旗下的LayaAir引擎研發(fā),從他的角度看Serverless,這是一個(gè)跟前端開發(fā)結(jié)合更加緊密的技術(shù)方向。事實(shí)上,Serverless在前端領(lǐng)域的應(yīng)用勢頭也明顯優(yōu)于后端開發(fā)。
李明老師指出,Serverless更好地解決了前端開發(fā)的痛點(diǎn),其易用性,無需部署維護(hù)服務(wù)器,也會極大地解放了前端開發(fā)的生產(chǎn)力。一方面,一些弱聯(lián)網(wǎng)的單機(jī)游戲,也存在數(shù)據(jù)存儲,活動驗(yàn)證等較為簡單的服務(wù)端需求。另一方面,聯(lián)機(jī)對戰(zhàn)的需求也在不斷增加。不僅是云函數(shù)、數(shù)據(jù)存儲這種基礎(chǔ)需求,甚至封裝好的對戰(zhàn)匹配與房間管理等,這些通用的游戲功能需求也是Serverless要走的方向,是小型游戲前端開發(fā)者降低成本,增強(qiáng)開發(fā)效率的需求。另外,5G時(shí)代的來臨,對云計(jì)算的需求也會越來越大,把云計(jì)算與游戲通用功能結(jié)合封裝好,或者通過Serverless讓前端游戲的部分功能也具有云算力,也是一種方向。結(jié)合大前端的潮流,其實(shí)Serverless的前景非常樂觀。
李明老師也分享了他們公司內(nèi)部業(yè)務(wù)對Serverless的嘗試:
“2018年七月份,我們公司內(nèi)部有一個(gè)業(yè)務(wù)要上線,周期比較著急,業(yè)務(wù)的特點(diǎn)就是峰谷差距非常明顯,流量的增減也不確定。在經(jīng)過一系列選型和討論后,最終選擇了騰訊云的云函數(shù),當(dāng)時(shí)考慮的是彈性的伸縮和按使用量付費(fèi),還有穩(wěn)定性和安全性的特點(diǎn)。另一方面,我們公司是做前端技術(shù)研發(fā)與服務(wù)的,絕大多數(shù)開發(fā)人員都是前端開發(fā)人員,這種情況下選擇云函數(shù)的方式,非??旖菀脖容^高效。最終在我們選定這種方式并運(yùn)營以后,發(fā)現(xiàn)性價(jià)比確實(shí)比較高,負(fù)載、擴(kuò)容都挺好?!?/p>
談到內(nèi)部業(yè)務(wù)最初技術(shù)選型為何要用Serverless,李明老師指出了幾個(gè)考慮因素:
l第一,考慮是否滿足業(yè)務(wù)基礎(chǔ)需求,能拿它干活是最基本的;
l第二,考慮到開發(fā)效率、后續(xù)迭代和維護(hù)成本、動態(tài)擴(kuò)容等問題;
l第三,考慮到價(jià)格,不超過傳統(tǒng)方案的成本。
基于以上幾個(gè)考量標(biāo)準(zhǔn),從滿足基礎(chǔ)需求到縮短研發(fā)周期、提升研發(fā)效率,最后在綜合價(jià)格和效率成本等方面的因素下,Serverless是一個(gè)值得一試的技術(shù)。李明老師特別指出,對于小游戲從業(yè)者,純前端和前端為主的技術(shù)團(tuán)隊(duì)比較多,能夠讓前端直接使用Serverless可以極大提升開發(fā)效率和成本,解決了普遍性痛點(diǎn)。
Serverless可以放心用在生產(chǎn)線上
“關(guān)于Serverless大家討論得更多的點(diǎn)在云函數(shù),但實(shí)際上Serverless真正的核心是讓開發(fā)者不要去過多關(guān)注云函數(shù)、API網(wǎng)關(guān)或是對象存儲這些基礎(chǔ)設(shè)施,將關(guān)注點(diǎn)放在業(yè)務(wù)場景上。Serverless現(xiàn)在無論是從線上運(yùn)營、穩(wěn)定性擴(kuò)容性還是本地的易開發(fā)性,都不會比已有的開發(fā)或者運(yùn)維的方案差。每個(gè)場景下,Serverless都會有自己相應(yīng)的解決方案,成為真正可以線上運(yùn)行的東西?!?/p>
Serverless.com中國研發(fā)負(fù)責(zé)人黃珂對Serverless的發(fā)展趨勢給出了這樣擲地有聲的結(jié)論。他認(rèn)為,企業(yè)最擅長的是做業(yè)務(wù)場景,而學(xué)習(xí)和管理云的基礎(chǔ)設(shè)施需要企業(yè)付出額外的成本,需要專門的運(yùn)維團(tuán)隊(duì),學(xué)習(xí)成本高。Serverless的價(jià)值在于,解放企業(yè)在基礎(chǔ)設(shè)施上牽扯的精力,將目標(biāo)聚焦于業(yè)務(wù)開發(fā),用Serverless的能力實(shí)現(xiàn)快速遷移和部署。
據(jù)他介紹,Serverless.com這家全球唯一以Serverless為域名的公司,發(fā)軔于一個(gè)開源項(xiàng)目,框架作者正是現(xiàn)在的CEO Austen Collins。這個(gè)項(xiàng)目一開始就聚焦于為各種各樣的Serverless場景提供統(tǒng)一的工具,在開源后受到來自知名企業(yè)和開發(fā)者的廣泛歡迎以后,最終成立了Serverless.com這家商業(yè)化公司。
“Serverless.com在中國也希望從開源框架開始,把Serverless的概念真正落地到企業(yè)里面,同時(shí)在知名企業(yè)背書下也可以讓Serverless變得越來越火,讓大家逐漸遷移到Serverless的架構(gòu)上來?!?/p>
國內(nèi)外在Serverless的應(yīng)用與關(guān)注方面有很大不同,黃珂也分享了他的觀察。他表示,在北美地區(qū),Serverless落地到企業(yè)中的應(yīng)用已經(jīng)比較成熟,出現(xiàn)了可口可樂等比較知名的Serverless應(yīng)用項(xiàng)目。而國內(nèi)接觸Serverless最早的一批人可能是個(gè)人開發(fā)者、小程序開發(fā)者,這與北美早期也非常像,目前所欠缺的就是足夠知名企業(yè)的實(shí)踐落地案例。
“我們在中國的思路是去找到像騰訊云這樣足夠優(yōu)秀的云廠商,進(jìn)行深入合作,建立本地的研發(fā)團(tuán)隊(duì),告訴企業(yè)怎么樣去遷移他們的應(yīng)用,幫助他們打消顧慮遷移到Serverless上,也讓企業(yè)能夠看到像Austen Collins演示的例子一樣,能夠非常簡單部署一個(gè)Serverless的應(yīng)用。通過跟騰訊云的合作,把北美深入到企業(yè)應(yīng)用中的概念帶到國內(nèi)的企業(yè)中來。”
每一個(gè)開發(fā)者都應(yīng)該了解Serverless
閉門會最后,騰訊云Serverless技術(shù)專家,本場主持人王俊杰也做了精彩的點(diǎn)評:我相信Serverless是一種未來的開發(fā)方式,它屬于每一位開發(fā)者。
不難看出,國內(nèi)外在Serverless的應(yīng)用層面上都還處于探索期,國外相對而言領(lǐng)先一步,騰訊云和Serverless.com的合作,一方面將有助于北美經(jīng)驗(yàn)在中國的落地,另一方面也有助于中國獨(dú)特業(yè)務(wù)場景的應(yīng)用實(shí)例給國外業(yè)界帶來新的參考。Serverless已經(jīng)走上了大規(guī)模實(shí)踐的道路。
TVP,即騰訊云最具價(jià)值專家(Tencent Cloud Valuable Professional),是騰訊云授予云計(jì)算領(lǐng)域技術(shù)專家的一個(gè)獎項(xiàng)。TVP 計(jì)劃致力打造與行業(yè)技術(shù)專家的交流平臺,構(gòu)建云計(jì)算技術(shù)生態(tài),實(shí)現(xiàn)“用科技影響世界”的美好愿景。
TVP成立之初,便秉承“用科技影響世界”的愿景,讓技術(shù)普惠大家,踐行科技向善的初心和本心。如今,IT技術(shù)的價(jià)值已經(jīng)廣泛地為普羅大眾所認(rèn)可,開發(fā)者的社會價(jià)值前所未有地凸現(xiàn),我們希望能用這一系列高端、前沿的技術(shù)閉門會,在這個(gè)疫情發(fā)生的艱難時(shí)刻,匯聚行業(yè)專家,幫助產(chǎn)業(yè)找到應(yīng)對之法。
當(dāng)神話中的洪水天災(zāi)來臨時(shí),有的人選擇造方舟求生,而我們卻選擇治水,從源頭上用頭腦、技術(shù)解決問題。這一次,也不例外。來,一起眺望光進(jìn)來的地方!TVP眺望曙光線上技術(shù)閉門會系列活動3月28日最后一場聊技術(shù)創(chuàng)業(yè)和技術(shù)經(jīng)營管理的話題,報(bào)名咨詢請?zhí)砑釉菩≈治⑿盘枺簓unjiadahui 。