Serverless Devs是一個開源開放的Serverless開發人員平台,您無需關心底層資源。通過Serverless Devs,您不僅可以可插拔式地使用Serverless的服務和架構,也可以參與組件和外掛程式的開發,提高營運效率。同時,您還可以更簡單、快速地開發、建立、測試和部署專案,實現專案全生命週期的管理。
Function Compute後續不再維護Funcraft,如果您正在使用Funcraft管理資源,建議您將資源遷移至Serverless Devs進行管理,以獲得更好的使用者體驗。
關於如何將Function Compute的相關資源從Funcraft遷移到Serverless Devs進行管理的詳細操作,請參見從Funcraft遷移到Serverless Devs。
由此帶來的不便,敬請諒解!
支援的函數運行環境列表
Serverless Devs支援的Runtime運行環境:
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
優勢
Serverless Devs與其他開發人員工具不同,可以更靈活開放的使用,具有如下優勢:
全生命週期管理
擁有建立、開發、調試、部署和營運專案的全生命週期管理能力。
安全發布
通過控制台或調用SDK對函數進行變更,Serverless Devs可以感知到並安全更新。
快速整合
藉助於Serverless Devs的整合性和被整合性,可以與常見的CI/CD平台或工具等整合。
可觀測性
擁有完善的可觀測性。您可以在用戶端通過指標查詢和日誌查詢等命令,從業務的資料指標、執行日誌等多重維度實現觀測。
多模調試
擁有多模調試方案,可以同時滿足開發態、營運態等不同調試需求,例如本地運行和線上運行等。
Serverless Devs靈活與開放的使用方法,可以在自動化部署、營運等領域發揮較大的作用。將Serverless Devs與專案全生命週期進行有機融合,可使Serverless專案開發營運效能提升90%。更多資訊,請參見Serverless Devs。
組件
基於Serverless Devs,阿里雲Function Compute團隊為您提供了多種組件,其中,與Function Compute相關的組件主要有FC組件和FC-API組件等,說明如下。
FC組件
FC組件是一個用於支援阿里雲Serverless應用全生命週期的工具。該組件是Funcraft的進階版本,和Funcraft的行為描述類似。通過資源設定檔,即s.yaml,FC組件支援快速開發、構建、測試以及將應用部署到Function Compute。
FC組件的使用模式:
FC組件(YAML模式)
使用阿里雲Function Compute組件的YAML規範,即s.yaml檔案定義Serverless資源。其包含Function Compute服務、函數、觸發器以及自訂網域名等資源。阿里雲Function Compute組件的YAML規範的詳細資料,請參見YAML規範和許可權管理。
FC組件(非YAML模式)
FC組件(非YAML模式)即FC組件CLI模式。該模式下您無需在本地建立s.yaml檔案以及配置資訊,即可實現資源管理。以同步管理資源為例,如資源已經成功部署到線上,想要免去手寫配置資訊等,您只需執行
s cli fc sync
相關命令,即可將雲上資源,如函數配置或代碼同步至本地。
FC組件的優勢:
簡潔:使用一鍵式的部署模式進行建立、更新服務等資源。同時,為了保證組件使用的流暢性,所有的功能均是按需載入。
高效性:具備開發和營運態能力,支援部署和移除功能,也支援在本地進行構建、查詢資訊、安裝依賴和調試等功能,提升開發與測試的效率。
多樣化部署:目前支援Pulumi和SDK部署模式。
FC組件適用於所有部署Function Compute應用的情境,例如遷移傳統架構到Function Compute、管理函數等。
關於FC組件的功能介紹和許可權管理,請參見Serverless Devs常用命令。
FC-API組件
FC-API組件是一款基於Serverless Devs的阿里雲Function ComputeAPI操作工具。該組件是fcli的進階版本,和fcli的行為描述類似,因此稱為FC-API組件,所以您可以直接通過互動式命令進行Function Compute相關API的使用。
FC-API組件的優勢:
由於是關於Function ComputeAPI的相關操作,所以在使用的過程中更容易系統管理權限,甚至可以細化到單個介面的許可權管理。
由於是純命令式的,不依賴s.yaml檔案描述資源,所以在自動化流程中,例如CI/CD工具、情境下的使用中更便捷。
支援函數管理能力,例如查詢服務列表、函數列表或觸發器列表,也支援增刪改查相關資源。
FC-API組件的適用情境
自動化流程
由於FC-API組件是純粹通過命令列進行開發的,無需依賴s.yaml檔案,所以在使用的過程中,可以通過參數的傳遞實現某些功能,而且這些功能相對來說都是原子性的,更容易做許可權管理和自動化流程。您可以直接通過單個命令實現某些操作,例如更新函數代碼、更新函數配置、更新服務、建立觸發器和更新別名等。
管理函數
FC-API組件是基於阿里雲Function ComputeAPI的命令列工具,具備已有的資源管理能力。例如可以更新服務、刪除服務、查看服務列表、函數列表或觸發器列表等。
關於FC-API組件的許可權管理,請參見FC組件的API命令。