函數計算是事件驅動的全托管計算服務。使用函數計算,您無需采購與管理服務器等基礎設施,只需編寫并上傳代碼或鏡像。函數計算為您準備好計算資源,彈性地、可靠地運行任務,并提供日志查詢、性能監控和報警等功能。
視頻介紹
什么是函數計算
函數計算是Serverless架構的一種形態,面向函數編程,基于事件驅動提供阿里云云服務之間端到端的解決方案。借助函數計算,您可以快速構建任何類型的應用和服務,并且只需為任務實際消耗的資源付費。
什么是Serverless
相對于Serverful,Serverless可以讓業務人員無需關注服務器,僅聚焦于業務邏輯代碼,并支持按實際使用付費。
產品架構
函數計算主要包含服務、函數、實例、運行環境、觸發器、層、應用中心等功能組件,具體產品組件架構圖如下圖所示。
下圖中涉及的功能組件的基本概念,請參見基本概念。
如何使用
使用準備
為了能夠流暢地使用函數計算完成您的應用部署和調試,您需要儲備以下編碼經驗和專業知識。
了解Serverless架構的基本概念以及Serverless的FaaS、PaaS和BaaS三種形態。
了解一種高級編程語言,例如Python、Node.js、Java、Go、.NET Core等,并掌握其運行環境和依賴管理等概念。
了解云概念、公有網絡、私有網絡等網絡概念。
如果您是第一次使用函數計算,建議您觀看視頻專區,了解Serverless和函數計算的基礎信息。視頻專區,請參見視頻專區。
工作流程
函數計算工作流程如下圖所示。
流程說明如下。
開通服務。注冊賬號并開通函數計算服務。具體操作,請參見步驟一:開通函數計算服務。
開發者使用編程語言編寫應用和服務。函數計算支持的開發語言,請參見代碼開發概述。
開發者上傳應用到函數計算。
上傳途徑包括以下三種方式。
(推薦)通過函數計算控制臺上傳。
(推薦)通過Serverless Devs工具上傳。
更多信息,請參見Serverless Devs。
通過API或SDK上傳。
更多信息,請參見SDK參考(2021-04-16推薦)。
觸發函數執行。觸發方式包括事件觸發和調用API觸發。函數計算支持根據用戶請求量自動擴縮容,該過程對您和您的用戶均透明無感知。
根據函數的實際執行時長結算費用。函數執行結束后,可以通過賬單來查看函數執行產生的費用,收費粒度精確到1毫秒。更多信息,請參見計費概述。
使用方式
您可以使用以下方式創建和管理您的應用函數。
通過函數計算控制臺。控制臺為您提供訪問功能的Web界面。更多信息,請參見快速創建函數。
通過Serverless Devs工具。下載對應的函數計算應用模板,然后快速開發部署函數應用。更多信息,請參見通過Serverless Devs工具管理函數資源。
調用函數計算SDK。SDK提供特定語言的API并管理許多連接細節,例如簽名計算、請求重試處理和錯誤處理等。更多信息,請參見使用SDK執行HTTP函數。
多語言支持
下表列出了用于編寫函數計算函數代碼的語言,以及該語言支持的部署方式。
編程語言 | 支持的部署方式 |
控制臺、Serverless Devs、SDK | |
控制臺、Serverless Devs、SDK | |
控制臺、Serverless Devs、SDK | |
Serverless Devs、SDK | |
Serverless Devs、SDK | |
Serverless Devs、SDK | |
Serverless Devs、SDK | |
Serverless Devs、SDK |
產品計費
關于函數計算的計費詳情,請參見計費概述。
相關鏈接
鏈接 | 說明 |
介紹函數計算的主要使用場景,包括Web應用、數據ETL處理、AI推理、視頻轉碼等。 | |
介紹函數計算支持的函數類型(事件函數和HTTP函數)、函數運行時(內置運行時、自定義運行時、自定義容器運行時)和函數存儲(文件存儲NAS、對象存儲OSS、臨時存儲和層),供您進行技術選型參考。 | |
介紹函數計算的專有名詞的定義,方便您更好地理解相關概念并使用函數計算。 | |
匯總使用函數計算服務時的常見問題和對應解決方法。 | |
如果您有任何反饋或疑問,歡迎加入函數計算釘釘用戶群。 |