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