為什么說每個開發者都應該關注Serverless?

2020-03-28 玥玥 IT之家
瀏覽

如果說云計算是過去、現在和未來,那么Serverless就是云計算的未來。Gartner報告中表明,2020年全球將有20%的企業部署Serverless。Serverless以其學習成本低、運維友好、靈活性高的特點為開發、運維團隊所喜愛,在國內外也開始走上了大規模考察乃至實踐的應用之路。

但不可否認的是,Serverless還沒有出現最佳實踐,國內國外也都處在探索的過程中。3月21日,騰訊云TVP技術閉門會請來了國內外Serverless技術的佼佼者、使用者坐而論道,共話Serverless從概念到實踐的發展之路。

Serverless是未來的云

“我們相信,未來Serverless應用開發者將聚焦在各種解決方案的開發上,利用Serverless基礎設置提供各種應用方案,而不用去特別地關注底層的復雜基礎架構,Serverless公司將和騰訊云一起建立起中國的Serverless開發者社區。”

Serverless.com CEO Austen Collins做了題為《Innovate More, Manage Less With Serverless》的演講。Austen是Serverless Framework的原作者,目前這個開源框架有超過3.5萬的star,下載次數超過200萬,用戶包括可口可樂、摩根大通等知名企業。去年底Serverless與騰訊云達成深度合作,將Serverless在北美的成功經驗帶到中國,并給開發者帶來體驗極佳的Serverless工具。

Austen提到,當我們說Serverless時,我們經常提到的是易擴展性,自動擴容,低成本,容易開發,聚焦在應用的輸出淡化基礎設施。現階段Serverless的幾個典型場景包含:REST API、流數據處理、GraphQL API、時間驅動的工作流、邊緣計算及部署。而隨著Serverless的發展,未來它還會與Webassembly擦出新的火花。

在Austen的演講中,提到了幾個值得關注的實踐案例。一個北美百貨零售商,通過使用Serverless的技術方案,目前已有4000個基于Serverless的應用,用例包含構建API、處理數據等,頁面上的每一次按鈕交互背后都可能是訪問某個Serverless云函數。該公司技術團隊只有70個開發者,負責開發各種基于Serverless的應用、API等。以前很難想象70個開發者可以開發和維護超過4000個應用,而使用Serverless以后,他們不再需要特別關注如何擴容應用,將精力花費在關鍵的業務開發上。

Austen同樣指出,Serverless并不完美,也絕不是銀彈。它并不適合所有的應用案例,你需要完全基于云設施進行開發,傳統的數據庫并不能利用到Serverless易擴容的特點。在Serverless的使用中,Austen也看到了很多創新的用例,企業可以聚焦在適合Serverless的業務點上,不用一開始就選擇全面遷移。

硬核的Austen在分享過程中手寫了兩個Demo,演示了在數秒內將應用部署到基于Serverless的各種云基礎設施上,整個過程不會看到任何云端設施創建的細節。Serverless提供了一種完全基于云端的開發體驗,你可以像本地開發一樣編輯你的代碼,代碼將自動同步到云端基礎設置,并且所有的日志將會輸出回你的本地終端中。

在提問環節中,Austen對開發者關心的Serverless問題做了解答。他認為Serverless的產生不會像云那樣對運維團隊造成大的沖擊,恰恰相反的是,他看到運維團隊對Serverless格外歡迎。

“Serverless是云的未來形式,它將成為未來開發者們的超能力!”Austen最后總結道。

Serverless:低成本、無范式的技術方案

“Serverless的價值是什么?低成本和無范式。在低成本和無范式的基礎上,它的主要價值就在于它的靈活性。現在行業里更多還是照搬MVC框架,很少把復雜業務放在Serverless上運行,沒有發揮出其靈活性特點。”

上海婓鴻網絡科技有限公司技術經理朱峰老師接觸Serverless的時間并不長,2018年下半年入“坑”的他,選擇了騰訊云的云函數產品。他介紹道,最開始的嘗試是從邊緣的簡單功能例如數據處理用起,體驗了Serverless的用法以后,最后才決定將公司核心業務全部遷移到Serverless上。

“任何技術都是為了解決具體的問題,不同的問題場景里面其實是有不同的資源和不同的優先級,技術本身并不存在優劣之分。但Serverless具備的特性,卻讓它的使用場景變得十分可觀。”

朱峰老師指出,Serverless的低成本不僅體現在學習成本低,而且在開發、運維迭代甚至包括費用成本方面都非常低。尤其是在費用成本方面,騰訊云云函數最低支持64M內存,以毫秒方式計費,對開發者十分友好。

業內對Serverless的顧慮在于,目前還沒有看到核心業務場景跑在Serverless上的最佳實踐。對此朱峰老師也分享了自己是如何把核心業務放在Serverless上,以什么樣的方式管理Serverless。

l第一,App還是Function?這不是二選一的問題,應該兩者根據業務的情況去做。我的建議就是簡單的功能盡量用Function,之后牽涉到多個mode交互可以使用微型的GraphQL的app實現;

l第二,如何管理環境?騰訊云中Namespace可以區分測試環境、生產環境,Version每次部署都會生成一個版本,Alias(別名)指向某個版本號。利用好三者可以有效管理環境;

l第三,如何管理密匙?將密鑰文件存放在特定的對象存儲里,通過嚴格的權限管理和指定云函數的運行角色,使得特定的云函數可以讀取特定的密鑰。

“Serverless的最佳應用場景是快速迭代的業務場景而不是穩定的業務場景。因為其無范式的特點可以完全按照業務的類型,拋開之前的MVC或者別的常規范式去探索自己真正適合自己業務的特性。對企業、業務部門來說,更多情況下面對的是一個未知的市場和業務,這個時候如果能拋開舊的思維定式完全根據新的業務開發適合自己的業務架構,會更有幫助。而Serverless的靈活性和特性從底層上就支持你去這么做。”

騰訊云將提供一整套Serverless解決方案

“Serverless是一套完整的解決方案,涉及到軟件開發的全生命周期,從開發部署到運維等等。從Serverless的角度看,現在仍舊缺少成熟的產品,很多廠商都在提供一套偏基礎的服務,比如說函數計算、API網關、無服務等等。騰訊內部支持微信小程序等核心應用的Serverless技術已對所有用戶開放。騰訊云將提供一站式開發、部署、運維Serverless解決方案。”

騰訊云中間件總經理兼首席架構師Yunong Xiao在圓桌環節分享了騰訊云與Serverless.com的合作。騰訊云期望做好開發體驗,尋求與Serverless.com產品的合作,而后者同樣希望能通過騰訊云改進云上服務,讓產品更完善。兩家企業的強強聯合可以說是一拍即合,在中國做一個針對開發者的最領先的全套解決方案。

今年二月份國外機構也給出了全球Serverless廠商的整體評測,騰訊僅次于亞馬遜和微軟,位列第三。Yunong Xiao指出,這背后一方面是因為騰訊云在底層的性能、功能、穩定性上具備技術優勢;另一方面在Serverless架構的運維層面,騰訊云也提供了全套的解決方案,后續還將發布更為優秀、智能的產品幫助Serverless做到運維無憂。

“騰訊云Serverless團隊今年將在可用性、性能方面持續加碼,同時聚焦開發者層面,將Serverless產品推薦給更多開發者使用,持續提升流程、工具、使用體驗。”

為什么前端開發都愛Serverless?

“我認為Serverless更好的應用場景是面對前端的開發者,從前端的需求來講,對無服務器的概念更感興趣,而且痛點比較深。如果我們找準大前端的定位,讓前端能形成一個全棧的開發,能滿足他們的需求,這也是很好的Serverless發展需求。”

李明老師是游戲引擎研發與技術服務商Layabox的合伙人,超90%的3D微信小游戲都采用Layabox旗下的LayaAir引擎研發,從他的角度看Serverless,這是一個跟前端開發結合更加緊密的技術方向。事實上,Serverless在前端領域的應用勢頭也明顯優于后端開發。

李明老師指出,Serverless更好地解決了前端開發的痛點,其易用性,無需部署維護服務器,也會極大地解放了前端開發的生產力。一方面,一些弱聯網的單機游戲,也存在數據存儲,活動驗證等較為簡單的服務端需求。另一方面,聯機對戰的需求也在不斷增加。不僅是云函數、數據存儲這種基礎需求,甚至封裝好的對戰匹配與房間管理等,這些通用的游戲功能需求也是Serverless要走的方向,是小型游戲前端開發者降低成本,增強開發效率的需求。另外,5G時代的來臨,對云計算的需求也會越來越大,把云計算與游戲通用功能結合封裝好,或者通過Serverless讓前端游戲的部分功能也具有云算力,也是一種方向。結合大前端的潮流,其實Serverless的前景非常樂觀。

李明老師也分享了他們公司內部業務對Serverless的嘗試:

“2018年七月份,我們公司內部有一個業務要上線,周期比較著急,業務的特點就是峰谷差距非常明顯,流量的增減也不確定。在經過一系列選型和討論后,最終選擇了騰訊云的云函數,當時考慮的是彈性的伸縮和按使用量付費,還有穩定性和安全性的特點。另一方面,我們公司是做前端技術研發與服務的,絕大多數開發人員都是前端開發人員,這種情況下選擇云函數的方式,非常快捷也比較高效。最終在我們選定這種方式并運營以后,發現性價比確實比較高,負載、擴容都挺好。”

談到內部業務最初技術選型為何要用Serverless,李明老師指出了幾個考慮因素:

l第一,考慮是否滿足業務基礎需求,能拿它干活是最基本的;

l第二,考慮到開發效率、后續迭代和維護成本、動態擴容等問題;

l第三,考慮到價格,不超過傳統方案的成本。

基于以上幾個考量標準,從滿足基礎需求到縮短研發周期、提升研發效率,最后在綜合價格和效率成本等方面的因素下,Serverless是一個值得一試的技術。李明老師特別指出,對于小游戲從業者,純前端和前端為主的技術團隊比較多,能夠讓前端直接使用Serverless可以極大提升開發效率和成本,解決了普遍性痛點。

Serverless可以放心用在生產線上

“關于Serverless大家討論得更多的點在云函數,但實際上Serverless真正的核心是讓開發者不要去過多關注云函數、API網關或是對象存儲這些基礎設施,將關注點放在業務場景上。Serverless現在無論是從線上運營、穩定性擴容性還是本地的易開發性,都不會比已有的開發或者運維的方案差。每個場景下,Serverless都會有自己相應的解決方案,成為真正可以線上運行的東西。”

Serverless.com中國研發負責人黃珂對Serverless的發展趨勢給出了這樣擲地有聲的結論。他認為,企業最擅長的是做業務場景,而學習和管理云的基礎設施需要企業付出額外的成本,需要專門的運維團隊,學習成本高。Serverless的價值在于,解放企業在基礎設施上牽扯的精力,將目標聚焦于業務開發,用Serverless的能力實現快速遷移和部署。

據他介紹,Serverless.com這家全球唯一以Serverless為域名的公司,發軔于一個開源項目,框架作者正是現在的CEO Austen Collins。這個項目一開始就聚焦于為各種各樣的Serverless場景提供統一的工具,在開源后受到來自知名企業和開發者的廣泛歡迎以后,最終成立了Serverless.com這家商業化公司。

“Serverless.com在中國也希望從開源框架開始,把Serverless的概念真正落地到企業里面,同時在知名企業背書下也可以讓Serverless變得越來越火,讓大家逐漸遷移到Serverless的架構上來。”

國內外在Serverless的應用與關注方面有很大不同,黃珂也分享了他的觀察。他表示,在北美地區,Serverless落地到企業中的應用已經比較成熟,出現了可口可樂等比較知名的Serverless應用項目。而國內接觸Serverless最早的一批人可能是個人開發者、小程序開發者,這與北美早期也非常像,目前所欠缺的就是足夠知名企業的實踐落地案例。

“我們在中國的思路是去找到像騰訊云這樣足夠優秀的云廠商,進行深入合作,建立本地的研發團隊,告訴企業怎么樣去遷移他們的應用,幫助他們打消顧慮遷移到Serverless上,也讓企業能夠看到像Austen Collins演示的例子一樣,能夠非常簡單部署一個Serverless的應用。通過跟騰訊云的合作,把北美深入到企業應用中的概念帶到國內的企業中來。”

每一個開發者都應該了解Serverless

閉門會最后,騰訊云Serverless技術專家,本場主持人王俊杰也做了精彩的點評:我相信Serverless是一種未來的開發方式,它屬于每一位開發者。

不難看出,國內外在Serverless的應用層面上都還處于探索期,國外相對而言領先一步,騰訊云和Serverless.com的合作,一方面將有助于北美經驗在中國的落地,另一方面也有助于中國獨特業務場景的應用實例給國外業界帶來新的參考。Serverless已經走上了大規模實踐的道路。

TVP,即騰訊云最具價值專家(Tencent Cloud Valuable Professional),是騰訊云授予云計算領域技術專家的一個獎項。TVP計劃致力打造與行業技術專家的交流平臺,構建云計算技術生態,實現“用科技影響世界”的美好愿景。

TVP成立之初,便秉承“用科技影響世界”的愿景,讓技術普惠大家,踐行科技向善的初心和本心。如今,IT技術的價值已經廣泛地為普羅大眾所認可,開發者的社會價值前所未有地凸現,我們希望能用這一系列高端、前沿的技術閉門會,在這個疫情發生的艱難時刻,匯聚行業專家,幫助產業找到應對之法。

當神話中的洪水天災來臨時,有的人選擇造方舟求生,而我們卻選擇治水,從源頭上用頭腦、技術解決問題。這一次,也不例外。來,一起眺望光進來的地方!TVP眺望曙光線上技術閉門會系列活動3月28日最后一場聊技術創業和技術經營管理的話題。