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