入門 Serverless :Serverless Framework 開發者工具

Serverless 架構是雲發展的產物,是一種去服務器化更加明顯的架構。然而,細心的朋友可能會發現,有一個開發者工具也叫 Serverless,那麼 Serverless 到底是一個架構,還是一個開發者工具呢?這個開發者工具和 Serverless 架構又有什麼關係呢?

初探 Serverless 開發者工具

Serverless 架構開始發展沒多久,就有一群人註冊了 serverless.com 的域名,成立了一家叫 Serverless 的公司,同時還開發了一款同名工具。

Serverless 架構和 Serverless 開發者工具是兩個不同的東西,如果類比一下的話,就相當於中國電信,一方面指的是中國電信行業,另一方面也指的是中國電信運營商。

入門 Serverless :Serverless Framework 開發者工具

從 Serverless 的公司名稱,我們也可以推斷出其推出的產品與 Serverless 架構緊密相關。在各個雲廠商都有自己函數計算業務的時候,Serverless 團隊做了一個類似多雲管理平臺的工具,可以認為是多 Serverless 管理的工具。利用這個工具,可以快速直接使用 AWS 的 Lambda、Azure 的 Funtions 以及騰訊雲 SCF 等眾多雲廠商的函數計算相關服務,大體支持的功能如下:

入門 Serverless :Serverless Framework 開發者工具

通過這個上表,大家也可以感覺到這其實是個開發者工具,幫助用戶快速使用多個雲廠商的函數服務,打包、部署、回滾…當然,各個廠商也都推出類似的工具,例如 AWS 的 SAM、騰訊雲的 SCFCLI 等。

除了一個以函數計算為核心的多雲開發者工具之外,Serverless 公司還推出了組件化工具:Components。換句話說,Serverless 開發者工具不僅僅關注 Serverless 中的 FaaS,也要關注 BaaS,將 API 網關、對象存儲、CDN、數據庫等眾多的後端服務和函數計算有機集合,讓用戶可以一站式開發,一站式部署,一站式更新,一站式維。

Serverless Framework 開發者工具可以被一分為二:Plugin 和 Components。

入門 Serverless :Serverless Framework 開發者工具

如果說最初的 Serverless Cli 更多是一種以插件(Plugin)形式提供各個雲廠商的函數計算功能,那麼這個叫 Components 的功能更多就是以各個雲廠商整體服務為基礎,來幫助用戶快速將項目部署到 Serverless 架構上。

所謂的 Components 可以認為是很多 Component 的組合,例如如果部署一個網站,可能會需要有以下部分:靜態資源部分、函數計算部分、API 網關部分、CDN 部分、域名解析部分等,而 Components 就可以幫我們一站式部署這些資源,將靜態資源部署到對象存儲中,將函數計算部分部署到函數中,將 API 網關、CDN 等業務部署到對應的產品或者服務中,如果有域名解析需求,會自動解析域名,同時將整個項目的所有資源進行關聯。

除了一鍵部署、自動關聯之外,Components 還提供了若干的傳統 Web 框架部署到 Serverless 架構的解決方案,用戶可將自己已有的或者使用這些框架新開發的項目,直接一鍵部署到雲端,對開發者來說這是一個巨大的便利。

用戶如何使用 Plugin 和 Components 呢?其實這兩個功能都是 Serverless Cli 作為承載,也就是說,只要我們安裝了 Serverless Framework 這個開發者工具,就可以同時使用這兩個功能。

安裝 Serverless Framework 開發者工具的過程也很簡單:

  • 安裝 Nodejs,官方說的 nodejs 只需要 6 以上就好,但是在實際使用過程中,發現 6 不行,至少 8 以上才可以。
  • 安裝 Serverless 開發者工具:npm install -g serverless,安裝完成之後可以通過serverless -v查看版本號,來確定是否成功的安裝該工具。

至於如何使用 Serverless Framework 開發者工具,可以參考接下來的 Plugin 和 Components 部分。

什麼是 Serverless Plugin


分享到:


相關文章: