以 Serverless 應用的形式交付 SaaS 服務

01.Serverless 應用開發範式

隨着 2013 年 Serverless 概念的提出,FaaS 函數即服務的開發範式因以下特點逐漸成爲開發首選:

1. 快速開發,快速部署;

2. 按量付費,降低成本;

3. 自動擴容,無需維護。

騰訊雲 SCF 雲函數於 2017 年推出,到現在已服務超百萬開發者,隨着業務規模增長,業務邏輯的複雜度變高,開發者往往需要通過編排組合多個函數,結合 COS 對象存儲、API 網關、DB 數據庫等雲上資源才能完成一個完整的應用開發。因此我們於 2019 年聯合業界廣受歡迎的無服務器應用框架 Serverless Framework 推出了一體化管理函數及相關資源的開發方式 - Serverless 應用。

通過 Serverless 應用,開發者可以方便地:

  • 在本地進行函數開發,一鍵部署到雲端,無需額外適配雲函數,也無需登錄控制檯。
  • 支持將傳統開發框架的應用 (如:Express, Next.js, Flask, Laravel 等)部署爲 Serverless 應用。
  • 在本地對函數代碼進行調試,或使用遠程開發模式在本地實時查看部署服務的日誌輸出,並進行調試。
  • 通過簡單配置即可完成所有基礎設施配置(如:API 網關、COS 存儲、DB 鏈接等)
  • 快速切換應用的部署環境(開發,演示,生產)地區。
  • 更詳細輕鬆的瞭解應用狀態,查看日誌、報錯統計等信息。

02. 目前主流的服務交付方式

隨着雲計算的發展,越來越多的軟件運行在了雲端,軟件從服務開發方交付給消費方的方式也隨之升級,目前主流的交付方式有兩種:

  • 鏡像(軟件包)交付
  • SaaS 交付

1. 鏡像交付

服務開發商將應用開發完成後,製作成 CVM 虛機鏡像,發佈到鏡像市場,消費方在創建 CVM 虛機時選擇鏡像完成部署使用。而一些需要多臺機器節點組合成服務集羣的應用,則需要通過多個鏡像和運維腳本進行批量創建配置最終完成服務的上線使用。這個過程對服務開發方以及消費方都不太友好,而且服務上線後,需要消費方對服務進行運維,這對消費方是個嚴峻的考驗——選擇購買第三方服務,就是因爲本身 IT 團隊資源不足,現在反而需要投入運維資源。如此種種,該交付方式逐漸被 SaaS 取代。

2. SaaS 交付

SaaS,Software as a service,軟件即服務,已經逐步發展成雲上服務交付的主流形態。它由服務開發方提供統一的線上服務運維管理,通過多租戶機制爲消費方提供服務。消費方開箱即用,無需管理承載服務的架構和資源運維,只需要爲服務本身付費即可。該模式爲服務消費方提供了非常好的使用體驗,也對服務開發方提出了很高的要求——隨着服務的客戶增多,服務集羣的運維要求也越來越高。然而,SaaS 服務提供商往往是因爲對某一個行業或某一個具體的問題場景有核心競爭力,針對性的開發出瞭解決方案,現在卻爲了實現交付給客戶使用這一過程,被迫投入過多成本維護一個龐大的 SaaS 服務集羣。與此同時,由於業務跑在開發商的服務集羣裏,越來越多的客戶開始擔心數據安全問題。

那麼,有沒有一種方式,既可以讓服務開發商專注於服務業務的實現,又可以讓消費方享受開箱即用免運維同時不擔心數據安全問題呢?

答案是肯定的 — Serverless 應用中心

03. Serverless 應用交付模型

<img src="https://main.qcloudimg.com/raw/607f1fcaaff68770a77ed54bdd9f3062.png" width="700"/>

Serverless 應用爲開發商(Service Provider)提供了便捷的開發範式,更提供了免運維的應用託管平臺,承擔了開發商到消費方(Service Comsumer)中間的雲上橋樑,加速交付效率,統一交付質量,加速企業數字化轉型。

<img src="https://main.qcloudimg.com/raw/f95b392489f005062ecf1e238037bd9d.png" width="700"/>

服務開發商通過 Serverless 應用中心,提交應用模板,經審覈通過後,正式發佈到模板中心,供消費方選擇。消費方可通過 Serverless Framework CLI,也可通過控制檯可視化操作,簡單的配置之後,即可完成應用的部署上線。部署過程全程發生在消費方的雲上環境中,因此服務運行中產生的數據也都在消費方自己的手上,無需擔心數據安全問題。在 Serverless 平臺的彈性擴容服務的保駕護航之下,服務可以一直保持高可用。同時按量計費模型只根據業務的實際使用量收費,真正實現服務的穩定、省心、省錢。

<img src="https://main.qcloudimg.com/raw/d542eee6e0b5462fc4b5f73b33e1d026.png" width="700"/>

部署完成後,消費方可通過控制檯對應用的資源進行管理。

<img src="https://main.qcloudimg.com/raw/062e07e2d07b2a4697ad17edc4530a23.png" width="700"/>

隨着開發商後續對應用的迭代更新,消費方也能非常方便得通過控制檯對應用進行升級。

<img src="https://main.qcloudimg.com/raw/fcbf0a28ff9862843c39d424857d0420.png" width="700"/>

04. 首批上架的應用案例

1. 全景錄製

騰訊雲實時音視頻 TRTC 聯合 Serverless 雲函數,推出 「全景錄製」一站式錄製方案。所見即所得的錄製模式,以觀衆視角實現全景錄製,高度還原互動效果,免後期合成,即錄即得,錄製完成後輸出一份完整 mp4 文件,穩定支持高併發業務需求,以更低的成本加速業務迭代。我們在這篇文章裏面爲大家詳細介紹了《全景錄製,一站式錄製解決方案》,還有專屬特惠資源包,低至 1 元,歡迎大家前去體驗使用。

<img src="https://main.qcloudimg.com/raw/cbe410381deb49f6a8279cac6547211c.png" width="500"/>

2. 多媒體實驗室

騰訊旗下頂尖的音視頻通信和處理研發團隊,專注於實時音視頻通信、音視頻編解碼前沿算法研究、音視頻國際標準、計算機視覺圖像處理、端到端音視頻質量評測。在實時音視頻通信和處理技術、音視頻國際標準等領域積累了完整的解決方案和領先的技術水平。Serverless 作爲智媒服務底座,提供基礎計算能力及相關雲服務的整合能力,提供彈性可伸縮的計算能力。(即將上線與大家見面,敬請期待。)

05. Serverless 應用中心能力升級

近期發佈的應用能力提升,支撐了 Serverless 應用交付過程,主要是以下幾個方面:

1. Serverless Framework 多函數組件

《Serverless 多函數開發示例》中爲大家詳細介紹了多函數組件的開發。

2. 函數的閉源特性

部分服務商希望將應用服務的能力開放出來,但同時又因商業機密或專利保護等原因無法開放源代碼,例如音視頻的編解碼器、機器學習算法等。服務開發商可以通過 Serverless 應用中心提交應用服務模板,將需要閉源的函數以鏡像形式發佈,即可實現開放能力的同時保護源代碼。

3. 應用平滑升級

在小步快跑的互聯網時代,服務往往伴隨着不斷的迭代升級。現在,無論是增加新的功能還是提升服務性能或穩定性,服務開發商都可在 Serverless 應用模板隨時提交發布新的版本。新版本經審覈發佈後,消費方可在控制檯收到應用更新提示,點擊「升級應用」即可完成在線更新。

06. 服務開發商入駐預招募

Serverless 應用支持提交複雜業務代碼,形成一體化的業務模板供用戶部署使用,便捷、安全、穩定,大幅降低研發成本週期,快速驗證應用服務的 PMF。現開啓服務開發商入駐預招募,如果您當前也有套成熟的應用服務代碼,您可以通過入駐 Serverless 應用的方式,以更低的成本快速交付使用。點擊提交相關信息,我們將在應用市場開放入駐時第一時間與您取得聯繫。

One More Thing

立即體驗騰訊雲 Serverless Demo,領取 Serverless 新用戶禮包 👉 騰訊雲 Serverless 新手體驗

歡迎訪問:Serverless 中文網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章