函數計算是一款事件驅動的全托管計算服務。本文列舉了函數計算常見應用場景以及對應的功能特性,您可以結合您的業務需求選擇合適的場景。
功能集 | 功能 | 功能描述 | 參考文檔 |
服務管理 | 管理服務 | 服務是函數計算資源管理的單位。創建函數前必須先創建服務,同一個服務下的所有函數共享一些相同的設置,例如服務授權和日志配置等。 | |
管理版本 | 您可以為自己的服務發布一個或多個版本。版本相當于服務的快照,包括服務的配置、服務內的函數代碼及函數配置,不包括觸發器。 | ||
管理別名 | 您可以為服務的版本創建別名。別名可以理解為指向特定版本的指針。您可以利用別名來輕松實現發布、回滾以及灰度發布等功能。別名無法脫離服務或版本單獨存在。使用別名訪問服務或函數時,函數計算會將別名解析為其指向的版本,調用方無需了解別名指向的具體版本。 | ||
灰度發布 | 通過線上新舊版本共存的灰度發布方式,小范圍驗證新版本的能力,逐步切換流量到新版本。同時,可以快速地切換主版本和灰度版本,只需變更別名指向的版本號,即可完成新舊版本的平滑切換。 | ||
配置網絡 | 您在函數計算中創建的函數,默認可以通過公網調用,無法通過VPC調用。如果您需要函數能夠訪問VPC內的資源,或允許指定的VPC來調用函數,那么您需要手動為服務配置網絡和權限。 | ||
配置日志 | 通過日志服務存儲函數日志,需要在函數對應的服務中配置日志項目和日志庫,并授予該服務訪問日志服務的權限。函數日志會打印到配置的日志庫中,同一地域的同一個服務下的所有函數日志都會打印到同一個日志庫中。 | ||
配置存儲 | 您可以為函數計算的服務配置NAS掛載或OSS掛載,配置成功后,該服務下的函數可以像使用本地文件系統一樣使用NAS或OSS存儲服務。 | ||
設置標簽 | 函數計算支持將相同作用的服務資源通過標簽Tag歸類,便于搜索和資源聚合。您還可以通過標簽功能將服務進行分組,可以實現不同角色對不同分組的服務擁有不同的操作權限。 | ||
函數管理 | 管理函數 | 函數計算的資源調度與運行以函數為單位。函數必須從屬于服務,同一個服務下可以創建多個函數,這些函數共享一些相同的設置,例如服務授權和日志配置等。但這些函數彼此相互獨立,互不影響。 | |
管理函數層 | 層可以為您提供公共依賴庫、運行時環境及函數擴展等發布與部署能力。您可以將函數依賴的公共庫提煉到層或者使用函數計算官方公共層,以減少部署或更新函數時的代碼包體積。 | ||
環境變量 | 您可以使用環境變量,在不修改代碼的前提下靈活調整函數的行為。 | ||
自定義DNS | 自定義DNS功能適用于加速站點訪問等場景。您可以使用指定的DNS服務器提供DNS解析服務。 | ||
函數實例管理 | 實例生命周期 | 函數計算基于傳統常駐應用所拓展的運行時擴展功能,能夠有效幫助您消除閑置成本。每一個擴展函數對應一個回調程序,包括initializer回調、PreFreeze回調和PreStop回調。 | |
單實例多并發 | 為了進一步減少實例資源使用量,優化資源成本,降低冷啟動,函數計算支持單實例多并發能力。默認情況下,函數的實例并發度為1,即一個實例同時只會處理一個請求。當您設置單實例并發度大于1后,函數計算在彈性伸縮時,充分利用完一個實例的并發度后才會創建新的實例。 | ||
健康檢查 | 函數計算支持為函數實例設置周期性健康檢查,避免請求消息被分配至異常實例而導致請求失敗。 | ||
實例命令行 | 實例命令行操作功能能夠支持在實例的真實運行環境中執行指定命令,例如登錄進入實例查看實例環境信息,或者使用Profiling或Coredump等工具收集上下文信息來優化性能等。 | ||
函數調用 | 同步調用 | 當您同步調用一個函數時,事件將直接觸發函數,函數計算會運行該函數并等待響應。當函數調用完成后,函數計算會將執行結果直接返回給您,例如返回結果、執行摘要和日志輸出。 | |
異步調用 | 函數計算系統接收異步調用請求后,將請求持久化后會立即返回響應,而不是等待請求執行完成后再返回。 | ||
異步任務 | 當您對函數發起異步調用時,相關請求會被持久化保存到函數計算內部隊列中,然后被可靠地處理。如果您想追蹤并保存異步調用各個階段的狀態,實現更豐富的任務控制和可觀測能力,可以選擇開啟任務模式處理異步請求。 | ||
按量實例伸縮 | 為了防止過度調用函數導致費用失控,函數計算對每個賬號在當前地域中按量實例數設置限制。另外,函數計算還為函數的調用提供了更細粒度的按量調用實例數限制。 | ||
觸發器管理 | 管理觸發器 | 函數計算提供一種事件驅動的計算模型。函數的執行是由事件驅動的。您可以在指定函數中創建觸發器,該觸發器描述了一組規則,當某個事件滿足這些規則,事件源就會觸發關聯的函數。 | |
自定義域名 | 管理自定義域名 | 您可以為應用綁定自定義域名,可以實現通過固定域名訪問應用。 | |
開啟Web應用防火墻 | 阿里云Web應用防火墻(簡稱WAF 3.0)支持對函數或者應用的業務流量進行惡意特征識別,對流量進行清洗和過濾后,將正常和安全的流量回源至后端函數,避免函數被惡意侵入。 | ||
多語言運行時 | 代碼開發 | 函數計算支持Java、Python、Node.js、PHP、Go及.NET Core語言,并且支持通過Custom Runtime的方式來構建其他語言的Runtime,例如Go Custom Runtime、Ruby Custom Runtime和PowerShell Custom Runtime等。為了豐富使用場景,還提供自定義鏡像作為運行環境的能力。 其中,Python、Node.js、PHP除了支持通過開發者工具部署和調用SDK部署,還支持在控制臺直接調試代碼。 | |
編程模式擴展 | 函數計算基于傳統常駐應用所拓展的運行時擴展功能,幫助您消除閑置成本。 | ||
應用中心 | 應用 | 阿里云Serverless應用中心提供了場景化應用創建能力以及應用導入能力。 在應用中心的創建應用頁面,可以看到多種場景以及場景化應用。您可以根據業務情況選擇合適的應用。 | |
環境 | 環境提供基礎設施的管理能力。您可以通過環境隔離服務,例如不同地域、不同VPC間服務隔離,實現生產服務的高可用或者低延遲。 | ||
流水線 | Serverless應用中心提供基本的流水線能力,提供可編輯的、高自由度的流程運行能力,幫助用戶將代碼發布至Serverless應用。 | ||
監控報警 | 監控指標 | 您可以在函數計算控制臺查詢函數計算資源概覽指標以及資源所在地域、服務和函數維度的監控指標詳情。 | |
實例級別指標 | 函數計算提供實例級別指標,通過實例級別指標您可以查看vCPU使用情況、內存使用情況、實例網絡情況和實例內請求數等核心指標信息。 | ||
鏈路追蹤 | 函數計算與鏈路追蹤集成,使您能夠跟蹤函數的執行,幫助您快速分析和診斷Serverless架構下的性能瓶頸,提高Serverless場景的開發診斷效率。 | ||
開發者工具 | Serverless Devs | 通過Serverless Devs,您不僅可以可插拔式地使用Serverless的服務和框架,也可以參與組件和插件的開發,提高運維效率。同時,您還可以更簡單、快速地開發、創建、測試和部署項目,實現項目全生命周期的管理。 | |
WebIDE | WebIDE是函數計算提供的在線開發IDE,提供接近原生VSCode的云端開發體驗。 | ||
賬號管理 | 配額限制 | 函數計算設置相關資源的使用限制,避免了誤配或者代碼有誤造成費用不可控的問題。 | |
權限管理 | 函數計算訪問阿里云其他云服務或者您需通過事件源觸發函數執行時,可以為函數計算或者該事件源授予相關權限。 | ||
RAM授權 | 借助訪問控制的RAM用戶,您可以實現阿里云賬號和RAM用戶的權限分割,避免因暴露阿里云賬號密鑰,造成安全風險。按需為RAM用戶賦予權限后,您可以限定擁有指定權限的RAM用戶在函數計算控制臺訪問或管理資源。 |