全部產品
Search
文件中心

Function Compute:函數選型

更新時間:Dec 03, 2024

為滿足不同情境下的使用者需求,Function Compute提供事件函數、Web函數、任務函數和GPU函數四種函數類型。本文介紹Function Compute支援的函數類型的適用情境及差異,供您進行技術選型。

選型分析

函數類型選型

對比項

事件函數

Web函數

任務函數

GPU函數

適用情境

通過事件觸發(OSS觸發器Kafka觸發器SLS觸發器等)來調用關聯函數。

基於各個語言的流行Web應用程式框架(Java SpringBootNode.js ExpressPython FlaskGolang Gin等),快速構建Web應用,或者遷移已有的架構應用。

對函數發起非同步呼叫,且需要追蹤並儲存非同步呼叫各個階段的狀態,可以選擇建立任務函數。

使用流行AI專案(Stable Diffusion WebUI、ComfyUI、RAG、TensorRT等)的容器鏡像建立GPU執行個體,快速構建AI模型推理服務。

運行時環境

推薦使用內建運行時

推薦使用自訂運行時

推薦使用內建運行時

僅支援自訂容器運行環境

非同步任務

預設關閉

預設關閉

預設開啟

預設關閉

函數運行環境選型

對比項

內建運行時

自訂運行時

自訂容器運行環境

開發流程

按照Function Compute定義的介面編寫請求處理常式。

基於Web應用程式框架模板開發應用,通過公網訪問地址即時看到結果。

將自訂鏡像上傳至ACR然後使用鏡像,或者使用ACR中已有的鏡像。

支援的執行個體類型

CPU執行個體

CPU執行個體

CPU執行個體和GPU執行個體

單一實例多並發

不支援

支援

支援

冷啟動

最快。程式碼封裝中不包含運行時,所以冷啟動最快。

較快。程式碼封裝是一個HTTP Server程式,體積較大,但不需要拉取ACR容器鏡像,所以冷啟動會較快。

較慢。需要拉取鏡像,所以冷啟動較慢。

代碼交付物大小限制

程式碼封裝大小不超過100 MB或500 MB,具體請參見代碼部署套件大小限制說明

  • CPU執行個體鏡像大小不超過10 GB(未解壓)。

  • GPU執行個體鏡像大小不超過15 GB(未解壓)。

代碼交付物格式

ZIP、JAR(Java)、檔案夾

容器鏡像

支援的程式設計語言

Node.js、Python、PHP、Java、C#、Go

無限制

無限制

通過控制台建立函數

事件函數

如果您想通過事件觸發(OSS觸發器Kafka觸發器SLS觸發器等)來調用關聯函數,請參見建立事件函數。推薦您選擇內建運行時作為運行環境

image

Web函數

如果您想基於各個語言的流行架構(Java SpringBootNode.js ExpressPython FlaskGolang Gin等)編寫程式,請參見建立Web函數。推薦您選擇自訂運行時作為運行環境

image

任務函數

如果您想對函數發起非同步呼叫,且需要追蹤並儲存非同步呼叫各個階段的狀態,可以選擇建立任務函數。任務函數預設開啟任務模式,您可以使用任務模式提交、查看、停止和重試非同步任務。詳情參見建立任務函數。推薦您選擇內建運行時作為運行環境

image

GPU函數

如果您想使用流行AI專案(Stable Diffusion WebUI、ComfyUI、RAG、TensorRT等)的容器鏡像建立GPU執行個體,請使用GPU函數。具體操作,請參見建立GPU函數。GPU函數僅支援自訂容器運行環境。

image

相關文檔