本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
什麼是 AWS Lambda?
AWS Lambda 是一種無伺服器運算服務,可讓您執行程式碼,而無需佈建或管理伺服器。Lambda 會自動管理基礎基礎設施,包括伺服器維護、容量佈建、擴展和修補,讓您可以專注於應用程式邏輯。
Lambda 提供兩種運算基本概念,每個都針對不同的工作負載模式而設計:
-
Lambda 函數 – 執行程式碼以回應事件或 API 呼叫,而無需管理伺服器。您編寫處理常式函數,將其連接到觸發 (API Gateway、Amazon S3、Amazon SQS、EventBridge 和 200+ 其他服務 AWS ),Lambda 會執行該函數。每個調用都會獨立執行,沒有共用狀態,水平擴展以符合需求。Lambda 管理執行環境、擴展、路由和容錯能力。
-
Lambda MicroVMs – 隔離的運算環境,具有近乎即時的啟動和狀態保留長達 8 小時。專為需要每個個別使用者或任務專用運算環境的工作負載而設計。Lambda 管理隔離、容量和聯網。您的應用程式使用 Lambda MicroVMs APIs和 HTTPS 端點,將每個使用者/任務連接到其運算環境。
如需定價資訊,請參閱 AWS Lambda 定價
Lambda 函數和 Lambda MicroVMs比較方式
Lambda 函數和 Lambda MicroVMs共用共同的無伺服器基礎:
-
無伺服器管理 – AWS 管理基礎基礎設施、執行個體修補和容量。
-
Pay-per-use – 無預付承諾。您只需為所使用的資源付費。
-
受管聯網 – 兩者都提供服務受管的傳入和傳出網路存取。
-
Firecracker 虛擬化 – 工作負載之間的 VM 層級隔離。
當他們共用此基礎時,他們提供不同的使用案例:
| Lambda 函數 | Lambda MicroVMs | |
|---|---|---|
| 最適合 | 請求回應或事件驅動工作負載 (APIs、資料處理、自動化) | 持續執行使用者或 AI 產生的不受信任程式碼的環境 |
| 程式設計模型 | 在支援的執行時間叫用函數處理常式 | 任何應用程式 – 執行您自己的二進位檔、接聽連接埠、使用 Linux 作業系統功能 |
| Duration (持續時間) | 每次調用最多 15 分鐘;使用 Lambda 耐久函數的多步驟工作流程最長持續一年 | 每個工作階段最多 8 小時;跨工作階段暫停和繼續 |
| 執行期環境 | 服務提供的語言執行期;支援客戶提供的執行期 | 客戶提供的 MicroVM 映像 |
| 傳入聯網 | 直接叫用或事件來源與 AWS 服務整合;支援回應串流 | 使用 OSI Layer 7 通訊協定對任何連接埠的傳入存取 |
| 並行數量 | 每個執行環境一次一個請求 | 每個 MicroVM 有多個並行連線 |
| 環境狀態 | 執行環境可以重複使用 (暖機啟動),但狀態可能不會在調用期間持續存在 | 暫停時保留的記憶體和磁碟狀態;恢復時還原 |
| 擴展 | 自動 – Lambda 會建立和銷毀執行環境以回應流量 | 開發人員控制 – 您可以透過 API 建立、暫停、繼續和終止 MicroVMs |
| 生命週期 | 完全由 Lambda 管理 | 開發人員控制;自動暫停恢復的選用閒置政策 |
| 定價 | 每個請求 + GB 秒的執行時間 | 執行時每秒運算 + 暫停時快照儲存 |