筆者有幸經歷了 IaaS(OS)、CaaS(Container),在這兩年又聽到了 FaaS(Funtion),這也是運維開發領域裏的第三個階段了吧,今天我將從一個不懂得開發的系統工程師視角以及結合以前的幾篇系列文章爲各位詮釋這個概念。python
本文來自 Serverless 社區用戶「StatLee」投稿git
一開始聽到 ServerLess 我覺得是相似於 VPS(建站主機)亦或者是 VM、Container 之類的具有完整 OS 或半完整 OS 生態的一個全新開發方式,後來發現我徹底理解錯了,若是說傳統的雲計算是這樣分層的:github
那麼 FaaS(ServerLess 爲表明的的 Funtion As A Service)就是把 SaaS 再進行精細化拆分,能夠看這張圖就明白了(特別是紅圈部分):express
傳統覺得 Application 就是業務的最終形態,但是隨着以開發領域爲首的「微服務」及運維領域爲首的「SRE/DevOps」理念出來後,傳統的業務運維明顯已經不能知足新一代業務的需求,爲了更貼合這些新的需求,實現:後端
雲廠商最終在以往的「最終形態」上又拆分了 Function 出來,多個 Function 再組成 Application,除了業務上的好處,這樣作的好處還能夠支持將 Function 拆分單獨做爲某個服務經過簡單的加殼(API 化)提供給外部調用,從商業角度講,這樣的模式可以給 Application 自己創造的價值以外提供了更多的細分變現領域。api
因此,爲何 ServerLess 這麼火(至少表面看),就是由於 ServerLess 是上述所說 FaaS 的最佳體現。瀏覽器
建立 SCF(雲函數,ServerLess)網絡
從雲函數的功能上來看,與騰訊雲的功能整合度仍是比較高的,在規劃上筆者建議經過私有網絡來構造雲函數應用。架構
對接 cvm apiv3 sdk來實現拉取cvm列表,首先將用到的SDK文件放在雲函數所在目錄下。less
經過 VSCode 插件一鍵部署。這裏推薦使用 VSCode 來做爲主 IDE,不管是構造 API 的 Django 所用的 TKE 能夠經過 Remote Development 插件來進行遠程開發,仍是 ServerLess 也能夠經過騰訊雲提供的 ServerLess ToolKit(固然大部分提供 ServerLess 的雲廠商都有提供 Toolkit,安裝 ToolKit 時主要不要在 Remote IDE 窗口下點擊,不然就變成爲遠端安裝了)進行開發,基本上作到徹底體驗一致。
經過 CVM SDK 獲取 ins-id、內網 IP,再調用 Django 構造的接口進行傳參。
結果調用成功添加數據:
至此,實操完成,這樣至關把後端一個「同步信息」的接口搬上了 ServerLess
如實驗所述,ServerLess 只能是一個相似於「轉發器」的玩意嗎?並非的,除了業務模塊是處於「中間(轉發、同步)」的模塊類型以外,其實 ServerLess 也是能夠結合其餘產品來實現對外輸出功能的。
自己 ServerLess 是沒有對外發布能力的,怎麼理解呢?就是通常運維同窗上手一看,這玩意兒爲何連個 ip 都沒有,域名哪裏定義的,端口又在哪裏,如何定義協議類型?
實際上 ServerLess 確實這些都沒有,由於如簡述所說,這是一個細粒化到只須要關注其上 App 中的某個 Function 的一個產品,因此 Function 之下的全部包括 OS、網絡、App 都是不具有定製化的。
雖然 ServerLess 自己沒有對外發布能力,可是結合 API 網關就不是這回事兒了,當 ServerLess 遇到 API 網關,一般雲廠商是支持 ServerLess 添加(或叫註冊)到API網關的,這就至關於你能夠借 API 網關的「力」來使 ServerLess 實現對外發布的功能。
ServerLess 的開發模式業界已經不少公司採用,相比於還在使用傳統環境(OS、中間件、選擇應用語言、構建數據層、先後端)來講:
ServerLess 也存在一些問題,好比因爲 ServerLess 基本上是依託在雲廠商之上,對於有混合雲的場景,對於S2S 的連接質量要求更高,固然這些在 ServerLess 的不斷優化迭代狀況下會愈來愈順暢,因此,不管是 Dev 仍是 Ops,擁抱並享受 ServerLess 吧。
3 秒你能作什麼?喝一口水,看一封郵件,仍是 —— 部署一個完整的 Serverless 應用?
複製連接至 PC 瀏覽器訪問:https://serverless.cloud.tencent.com/deploy/express
3 秒極速部署,當即體驗史上最快的 Serverless HTTP 實戰開發!
傳送門:
- GitHub: github.com/serverless
- 官網:serverless.com
歡迎訪問:Serverless 中文網,您能夠在 最佳實踐 裏體驗更多關於 Serverless 應用的開發!