Serverless Devs是一個開源開放的Serverless開發(fā)者平臺,您無需關(guān)心底層資源。通過Serverless Devs,您不僅可以可插拔式地使用Serverless的服務(wù)和框架,也可以參與組件和插件的開發(fā),提高運維效率。同時,您還可以更簡單、快速地開發(fā)、創(chuàng)建、測試和部署項目,實現(xiàn)項目全生命周期的管理。
關(guān)于如何將函數(shù)計算的相關(guān)資源從Funcraft遷移到Serverless Devs進行管理的詳細操作,請參見從Funcraft遷移到Serverless Devs。
由此帶來的不便,敬請諒解!
支持的函數(shù)運行環(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)勢
- 全生命周期管理
擁有創(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,阿里云函數(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組件(YAML模式)
- FC組件的優(yōu)勢:
- 簡潔:使用一鍵式的部署模式進行創(chuàng)建、更新服務(wù)等資源。同時,為了保證組件使用的流暢性,所有的功能均是按需加載。
- 高效性:具備開發(fā)和運維態(tài)能力,支持部署和移除功能,也支持在本地進行構(gòu)建、端云聯(lián)調(diào)、查詢信息、安裝依賴和調(diào)試等功能,提升開發(fā)和測試的效率。
- 多樣化部署:目前支持Pulumi和SDK部署模式。
關(guān)于FC組件的功能介紹和權(quán)限管理,請參見Serverless Devs操作命令。
FC-API組件
FC-API組件是一款基于Serverless Devs的阿里云函數(shù)計算API操作工具。該組件是fcli的進階版本,和fcli的行為描述類似,因此稱為FC-API組件,所以您可以直接通過交互式命令進行函數(shù)計算相關(guān)API的使用。
- 由于是關(guān)于函數(shù)計算API的相關(guān)操作,所以在使用的過程中更容易管理權(quán)限,甚至可以細化到單個接口的權(quán)限管理。
- 由于是純命令式的,不依賴s.yaml文件描述資源,所以在自動化流程中,例如CI/CD工具、場景下的使用中更便捷。
- 支持函數(shù)管理能力,例如查詢服務(wù)列表、函數(shù)列表或觸發(fā)器列表,也支持增刪改查相關(guān)資源。
- 自動化流程
由于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)限信息。