Serverless Devs是一個開源開放的Serverless開發(fā)者平臺,您無需關(guān)心底層資源。通過Serverless Devs,您不僅可以可插拔式地使用Serverless的服務(wù)和框架,也可以參與組件和插件的開發(fā),提高運維效率。同時,您還可以更簡單、快速地開發(fā)、創(chuàng)建、測試和部署項目,實現(xiàn)項目全生命周期的管理。

說明 函數(shù)計算后續(xù)不再維護Funcraft,如果您正在使用Funcraft管理資源,建議您將資源遷移至Serverless Devs進行管理,以獲得更好的用戶體驗。

關(guān)于如何將函數(shù)計算的相關(guān)資源從Funcraft遷移到Serverless Devs進行管理的詳細操作,請參見從Funcraft遷移到Serverless Devs

由此帶來的不便,敬請諒解!

支持的函數(shù)運行環(huán)境列表

Serverless Devs支持的Runtime運行環(huán)境:
  • Node.js 8、Node.js 10、Node.js 12、Node.js 14
  • Python 2.7、Python 3、Python 3.9
  • Java 8、Java 11
  • PHP 7.2
  • .NET Core 2.1
  • Custom Runtime
  • Custom Container

優(yōu)勢

Serverless Devs與其他開發(fā)者工具不同,可以更靈活開放的使用,具有如下優(yōu)勢:
  • 全生命周期管理

    擁有創(chuàng)建、開發(fā)、調(diào)試、部署和運維項目的全生命周期管理能力。

  • 安全發(fā)布

    通過控制臺或調(diào)用SDK對函數(shù)進行變更,Serverless Devs可以感知到并安全更新。

  • 快速集成

    借助于Serverless Devs的集成性和被集成性,可以與常見的CI/CD平臺或工具等集成。

  • 可觀測性

    擁有完善的可觀測性。您可以在客戶端通過指標(biāo)查詢和日志查詢等命令,從業(yè)務(wù)的數(shù)據(jù)指標(biāo)、執(zhí)行日志等多重維度實現(xiàn)觀測。

  • 多模調(diào)試

    擁有多模調(diào)試方案,可以同時滿足開發(fā)態(tài)、運維態(tài)等不同調(diào)試需求,例如本地運行、在線運行和端云聯(lián)調(diào)等。

Serverless Devs靈活與開放的使用方法,可以在自動化部署、運維等領(lǐng)域發(fā)揮較大的作用。將Serverless Devs與項目全生命周期進行有機融合,可使Serverless項目開發(fā)運維效能提升90%。更多信息,請參見Serverless Devs

組件

基于Serverless Devs,阿里云函數(shù)計算團隊為您提供了多種組件,其中,與函數(shù)計算相關(guān)的組件主要有FC組件和FC-API組件等,說明如下。

FC組件

FC組件是一個用于支持阿里云Serverless應(yīng)用全生命周期的工具。該組件是Funcraft的進階版本,和Funcraft的行為描述類似。通過資源配置文件,即s.yaml,F(xiàn)C組件支持快速開發(fā)、構(gòu)建、測試以及將應(yīng)用部署到函數(shù)計算

  • FC組件的使用模式:
    • FC組件(YAML模式)

      使用阿里云函數(shù)計算組件的YAML規(guī)范,即s.yaml文件定義Serverless資源。其包含函數(shù)計算服務(wù)、函數(shù)、觸發(fā)器以及自定義域名等資源。阿里云函數(shù)計算組件的YAML規(guī)范的詳細信息,請參見規(guī)范和權(quán)限管理

    • FC組件(非YAML模式)

      FC組件(非YAML模式)即FC組件CLI模式。該模式下您無需在本地創(chuàng)建s.yaml文件以及配置信息,即可實現(xiàn)資源管理。以同步管理資源為例,如資源已經(jīng)成功部署到線上,想要免去手寫配置信息等,您只需執(zhí)行s cli fc sync相關(guān)命令,即可將云上資源,如函數(shù)配置或代碼同步至本地。

  • FC組件的優(yōu)勢:
    • 簡潔:使用一鍵式的部署模式進行創(chuàng)建、更新服務(wù)等資源。同時,為了保證組件使用的流暢性,所有的功能均是按需加載。
    • 高效性:具備開發(fā)和運維態(tài)能力,支持部署和移除功能,也支持在本地進行構(gòu)建、端云聯(lián)調(diào)、查詢信息、安裝依賴和調(diào)試等功能,提升開發(fā)和測試的效率。
    • 多樣化部署:目前支持Pulumi和SDK部署模式。
說明 FC組件適用于所有部署函數(shù)計算應(yīng)用的場景,例如遷移傳統(tǒng)框架到函數(shù)計算、管理函數(shù)等。

關(guān)于FC組件的功能介紹和權(quán)限管理,請參見Serverless Devs操作命令

FC-API組件

FC-API組件是一款基于Serverless Devs的阿里云函數(shù)計算API操作工具。該組件是fcli的進階版本,和fcli的行為描述類似,因此稱為FC-API組件,所以您可以直接通過交互式命令進行函數(shù)計算相關(guān)API的使用。

FC-API組件的優(yōu)勢:
  • 由于是關(guān)于函數(shù)計算API的相關(guān)操作,所以在使用的過程中更容易管理權(quán)限,甚至可以細化到單個接口的權(quán)限管理。
  • 由于是純命令式的,不依賴s.yaml文件描述資源,所以在自動化流程中,例如CI/CD工具、場景下的使用中更便捷。
  • 支持函數(shù)管理能力,例如查詢服務(wù)列表、函數(shù)列表或觸發(fā)器列表,也支持增刪改查相關(guān)資源。
FC-API組件的適用場景
  • 自動化流程

    由于FC-API組件是純粹通過命令行進行開發(fā)的,無需依賴s.yaml文件,所以在使用的過程中,可以通過參數(shù)的傳遞實現(xiàn)某些功能,而且這些功能相對來說都是原子性的,更容易做權(quán)限管理和自動化流程。您可以直接通過單個命令實現(xiàn)某些操作,例如更新函數(shù)代碼、更新函數(shù)配置、更新服務(wù)、創(chuàng)建觸發(fā)器和更新別名等。

  • 管理函數(shù)

    FC-API組件是基于阿里云函數(shù)計算API的命令行工具,具備已有的資源管理能力。例如可以更新服務(wù)、刪除服務(wù)、查看服務(wù)列表、函數(shù)列表或觸發(fā)器列表等。

關(guān)于FC-API組件的權(quán)限管理,請參見FC-API組件權(quán)限信息

相關(guān)信息