作者 | 科技雲報道
衆所周知,雲計算的出現改變了傳統 IT 架構和運維方式,而以容器、微服務為代表的技術更是在各個層面不斷更新雲服務的技術能力,它們将應用和環境中的很多通用能力變成了一種服務。
Serverless 架構的出現,同樣帶來了跨越式的變革。
2018年,Gartner 報告将 Serverless Computing 列為十大未來将影響基礎設施和運維的技術趨勢之一。
KBV 研究公司 2020 年釋出的《全球 Serverless 架構市場》報告中同樣顯示,全球Serverless 架構市場的規模預計到 2024 年将達到 140 億美元,在這段預測期内将以 23.4% 的年複合增長率增長。
如今,Serverless 已扛起了變革傳統 IT 架構的大旗,成為企業數字化轉型革新架構的首選。
Serverless 發展如火如荼
Serverless 并不是字面意義上指代的那樣再也不需要伺服器,而是指計算資源作為服務而不是伺服器的概念出現。
盡管 Serverless 并沒有官方權威的定義,但可以肯定的是,它是建構和管理基于微服務架構的完整流程,允許在服務部署級别而不是伺服器部署級别來管理應用部署,甚至可以管理某個具體功能或端口的部署,進而讓開發者快速開發軟體。
這是因為它是由函數即服務(FaaS)和後端即服務(BaaS)的架構組成,可以給企業提供直接的運作環境。
對于開發者和使用者來說,不用感受伺服器,就可以調用函數平台完成函數運作,伺服器的邏輯和狀态也是由服務提供方管理,開通即可服務,恰好符合目前硬體軟體化、軟體服務化的技術趨勢。
這樣的特征和酷炫的功能讓 Serverless 可以解決大多數使用者和開發者最關心的問題—— 降低運維成本,縮短開發周期,并專注于業務邏輯的開發整合,因而成為雲計算中一股厚積薄發的力量,獲得無數開發者青睐。
Serverless 最早的架構産品源于 2014 年亞馬遜推出的 AWS Lambda,它為雲中運作的應用程式提供了一種全新的系統體系架構。
在這之後,Serverless 也從概念、願景逐漸走向落地,在各企業、公司應用開來,衆多 IaaS 及 Pass 廠商相繼入局。
從 Forrester 報告可以看到,如今 Serverless 已出現四大陣營,分别是雲計算巨頭、傳統 IT 大廠、創新企業和開源工具平台。
在雲計算巨頭陣營,AWS、微軟、阿裡雲、騰訊雲、谷歌雲等都在提供 Serverless 的計算服務,分别居于上司者和強勁表現者象限。
Serverless 技術首先由 AWS 提出,并率先推出雲服務,其他企業基本上是跟随者。在傳統 IT 大廠陣營,以 IBM、Oracle 等企業為代表,正在從雲市場轉入 PaaS 市場,提供 Serverless 建立平台、工具。
在創新企業陣營,Nimbella、Cloudflare 等企業提供 Serverless 建立工具,可以輕松建構、管理、測試、監控使用者的無伺服器應用架構。
盡管各個廠商都在大力推廣自己的 Serverless 服務、産品,但是開發者普遍還是會擔心被廠商綁定,是以出現了開源陣營,即具備一定規模的組織會基于開源方案,搭建自己的 Serverless 平台。
而一旦某個開源方案成為主流,雲廠商就會主動去相容開源标準并增大社群投入。目前,Serverless 開源項目很多,如:目前 GitHub Star 數最高的 Serverless 架構,與主流雲廠商內建得很好。
Knative 就是由 Google 所釋出的基于 Kubernetes 的 Serverless 架構。分布式無伺服器平台 OpenWhisk 最開始由 IBM 和 Adobe 驅動,後來捐給 Apache 基金會,并于2019 年 7 月晉升為頂級項目。
Serverless 落地面臨五大挑戰
巨大的市場空間之下是無限的潛力,Serverless 的優勢顯而易見,但任何事物都有局限性,Serverless 作為一項相較新潮的技術也不能免俗。目前 Serverless 的落地情況如何?
2020 年 O’Reilly 的調查報告顯示,超過 2/3 的受訪者表示,由他們組織的 Serverless 落地都是十分成功的,Serverless 已經超越“炒熱度”的階段,成為了一種實際可行的基礎架構選擇。
在國内,雲原生産業聯盟釋出的《中國雲原生使用者調研報告(2020年)》顯示,随着 Serverless 技術顯著升溫,近 3 成使用者已在生産環境中應用。
其中,16% 的使用者将 Serverless 技術用于核心業務的生産環境,12% 的使用者用于非核心業務的生産環境,僅有 36% 的使用者尚未使用 Serverless 技術。
盡管 Serverless 技術的價值已被很多使用者認可,然而 Serverless 的落地問題卻往往很棘手,在應用 Serverless 時依然存在很多挑戰。
挑戰一:部署成本
據《中國雲原生使用者調研報告(2020年)》顯示,在采納 Serverless 技術前,部署成本成為使用者選擇 Serverless 技術前最主要考慮因素,49% 的使用者考慮部署成本的問題,35% 的使用者考慮技術知識庫完備程度。
挑戰二:供應商鎖定
這是一個大家都會擔心的問題,某個供應商平台編寫的代碼是不是能夠遷移到其它平台。由于 Serverless 還是一個新興市場,是以關于供應商之間的可移植性問題還處于探索階段。
挑戰三:工具集不完備
在應用 Serverless 化部署的過程中,由于現階段平台産品的調試工具尚不完備,使用者在 Serverless 化部署的過程中仍面臨諸多挑戰。
《中國雲原生使用者調研報告(2020年)》顯示,51% 的使用者在應用上線調試方面問題凸顯,41% 的使用者認為動态變化的 Serverless 環境監控存在問題,32% 的使用者在線上、離線測試以及配套測試工具方面存在問題。
對于 Serverless 架構而言,測試是複雜且勞動密集型的工作,需要處理更多的場景,同時需要依賴環境不同,內建也是一個需要解決的問題。
挑戰四:技術架構和标準繁多
Serverless 架構繁多,其中以相容 Kubernetes 生态的架構更受使用者關注。根據《中國雲原生使用者調研報告(2020年)》顯示,30% 的使用者基于 Knative 搭建Serverless 化應用,23% 的使用者選用 Kubeless,23% 的使用者選用 OpenFaaS。
值得注意的是,目前提供 Serverless 技術服務的不同服務商都有各自的标準,在函數調用、事件觸發、函數的黃金變量的定義等方面,都擁有各自一套封閉的标準,缺乏開源的規範和開源的生态支援,這也會給使用者落地 Serverless 帶來難度。
挑戰五:人才培養
Serverless 還是一個比較新的技術,很難找到标準、正式的教育訓練,是以企業必須形成特定的文檔教育訓練員工,同時需要根據實踐案例不斷更新文檔。
另外,由于 Serverless 處于高速發展階段,各大供應商也在不斷推出新功能,這也給企業教育訓練員工增加了不少難度。
結語
作為一項新興技術,Serverless 在發展和落地過程中會遇到很多難題。但不可否認的是,随着使用者心智的建立,産品本身能力的完善,使用者在很多場景下使用Serverless架構,能夠在可靠性、成本和研發運維效率等方面獲得顯著的收益。
2019年,UC Berkeley 發表了一篇論文,“Cloud ProgrammingSimplified: A Berkeley View on Serverless Computing”,預言 Serverless 将主導下一個十年雲的發展,産業的發展是螺旋式上升,Serverless 的誕生和興起邏輯早已蘊含其中。相信下一個十年, Serverless 将重塑企業創新的方式,幫助雲成為社會發展的強大動力。
(文章轉自科技雲報道 | ITCloud-BD)