雲廠商的細分戰場——Serverless

Serverless,中文譯名無服務器,這個譯名多少有些不妥當,Serverless不是沒有服務器,而是儘可能減弱服務器的角色。無服務器讓開發人員實現雲開發,前端和後端人員都不用再配置服務器,而是把這件事交給雲廠商負責,以函數運行時間計費,是理想的開發環境。

云厂商的细分战场——Serverless

騰訊雲李成熙表示,“前端全棧開發的模式,從前端做到後臺,類似過去的Web移動工程師大包大攬,所以就需要雲廠商提供雲開發解決方案,傳統開發模式一方面要開發前端和後端的邏輯,還要處理所有的運維,靠一個人是不可能的,所以才有了現在傳統分工模式,就是前端、後臺、運維。”

如果業務實現雲開發,開發人員關心的只有一小部分,主要是業務邏輯。只要工程師能夠懂Java和node.js,基本上就可以把服務穩定、性能卓越和有一定安全性的小程序應用獨立開發出來。通過雲開發的開發模式的推動,真正可以實現前端工程師全棧開發的一個理想的模式。

有觀點認為,FaaS(Function as a service,函數即服務)等同於Serverless,相比傳統劃分的基礎設施即服務(IaaS),平臺即服務(PaaS),軟件即服務(SaaS),FaaS更細分,目前業內提供FaaS的雲廠商主要包括AWS Lambda,微軟、阿里雲和騰訊雲等,總體來說Serverless還處於發展初期,但是潛力巨大。

雲服務的終極目標就是直接提供服務,Serverless就是開發人員的理想環境,現在的雲服務還不是雲計算最初被設想的形態,整個行業都在一點點接近。

前端技術的發展

前端的技術近幾年發展非常迅速,可以從兩個維度去看前端技術的發展——一個是前端複雜度,一個是應用的廣度。

  • 單看複雜度,從HTML、JS、CSS的階段向DOM操作框架,從DOM到MVC,再到MVVM框架,再到現在assembly技術標準的出現,讓前端工程師開發複雜度應用的能力不斷提高。

  • 而從廣度來看,前端也一直在拓展,從瀏覽器到服務器端,再到移動端,小程序,前端邊界在不斷擴大。然而在這個發展的過程中,有一個很深的隔離,這個隔離本質上就是物理隔離,比如前端和後端,存在手機和服務器之間的物理隔離。而serverless,函數即服務對前端來說,後端服務是一個函數,函數就是前端代碼的一部分,後端服務和前端完全融合在一種代碼體系裡去。從這個層面來說,severless打破了物理隔離,幫助前端真正做到了全棧。

騰訊雲TVP、Layabox合夥人李明表示,在傳統開發模式下前後端、運營溝通成本非常高,Serverless確實是未來研發團隊都應該考慮的一個新的選擇方向。但自行探索或許成本比較高。如果把這個事情交給前端開發,對於他們來說有學習運維和後端的成本;若交給後端開發,對於他們來說其實又沒有任何關係。如果交給雲廠商呢?這或許是一個不錯的選擇。因為這樣的話,大家都可以專注於自己的業務,也不需要花費大量時間和精力學習額外知識,從而提高產品研發團隊的整體效率。

貓眼資深工程師高英健也提到,貓眼在運營工具的實際開發過程中,由於項目主要用於配置日常運營活動,與後端核心邏輯沒有任何關係,後端也不想主動配合。這種情況下藉助騰訊雲推出的大前端Serverless產品——雲開發,讓前端通過調用API的方式實現後端業務邏輯,對於前端開發效率有很大的改善,邏輯、數據、資源均由前端工程師包辦,降低開發門檻,提升開發效率。

傳統模式到Serverless模式的難點

騰訊雲TVP、友浩達科技CTO張善友 認為,Serverless需要統一的行業標準。目前Serverless服務廠商眾多,但各自都是獨立的玩法,目前若想從A服務商遷移到B服務商,成本高、難度大。若一套Serverless代碼能夠在騰訊、阿里、微軟、亞馬遜等雲服務上都能運行,足以降低遷移成本,有效降低客戶使用Serverless服務前的顧慮。

騰訊雲TVP、北京竹間科技技術負責人朱峰 認為,從重構的角度來看,Serverless無法做到真正的技術重構,後端仍然是冗雜的面向過程函數不便於管理。如果能解決重構的問題,才能真正地降低使用門檻。

另外,數據安全仍然是大部分嘉賓的一個主要關注點,而這個問題的本質是公有云數據安全的問題。有意思的是,雲開發模式下,每個用戶的環境資源是獨立的,也即是私有的,並且雲開發提供與自有數據庫打通的能力。這樣,用戶的數據都存在用戶自己的雲開發環境資源下面,一定層面保障了用戶的數據安全與穩定性。

此外,從傳統模式到Serverless模式的轉變,阻力還有錯誤排查問題,無法跨雲等問題,這也導致很多業務無法直接從傳統模式向serverless模式遷移。

Serverless開發者如何改變?

即速應用後臺開發工程師提到,在Serverless下,前端和後臺結合的話,他們操作後臺給出的數據,包括創造數據,改數據等,這完全是數據層面的操作,而不僅僅是UI層面,不只是UI的性能問題;同時還要考慮後端的一些數據的性能問題,還有特殊的後端需要使用的模式,比如隊列、定製任務。這就有可能分化成兩個後臺,有的做serverless服務,有的做serverless工具和技術建設。

Node js核心成員張秋怡說到,未來前後端將趨近於系統化、全棧式,按照這種發展模式勢必會帶來思維的轉變,前端需要考慮後端,後端需要考慮前端,慢慢形成一個完整的產品開發模式,Serverless的出現則很好的順應了這種新開發模式的發展,我們需要做好準備迎接這一大趨勢。

凹凸實驗室核心成員馬劍從團隊分工角度提到,這些年在組建團隊的時候,我們前端做一些事,後端用node來解決很籠統的場景。但是再往後發展,我們發現過去前端同學做node,或者node的同學做前端,其實都是不專業的。所以發展到今天,我們團隊內部也是細分了UI開發的一波人,專業做後端服務的一波人,順著這個思路往下發展,大前端Serverless一定也是會繼續拆分的,即使Serverless做得再好,一定會拆分出來一波人專業在搞,可能另外一波人還是搞業務開發了。雷鋒網雷鋒網雷鋒網


分享到:


相關文章: