全部產品
Search
文件中心

Function Compute:什麼是Serverless Devs

更新時間:Jul 06, 2024

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命令

相關資訊