什麼是無服務器計算?
無服務器計算讓你無需配置或管理服務器即可運行代碼。當請求到達時,雲提供商啓動容器、執行函數,空閒時銷燬容器。冷啓動發生在需要從頭初始化新容器時(較慢);熱啓動重用現有容器(即時)。你只需為實際執行時間付費。
為什麼重要?無服務器架構為從API到數據管道的現代應用提供支持。僅AWS Lambda每月就處理數萬億次調用。理解冷啓動、併發限制和成本優化對於構建高效的雲原生系統至關重要。
📖 深入了解
類比 1
將傳統伺服器想像成擁有一輛汽車——無論您是否開車,您都需要支付保險、汽油和維護費用。無伺服器就像叫計程車:您只需支付乘車費。冷啟動正在等待計程車的到來;當一個人已經停在你的門外時,就是一個溫暖的開始。
類比 2
想像一下,餐廳的廚房會在訂單到達時神奇地召喚廚師,並在高峰結束時將他們送回家。冷啟動是穿圍裙、洗手的時間;熱啟動意味著廚師已經在爐子旁。預先配置並發就像讓骨幹人員在晚餐高峰時待命。
🎯 模擬器提示
初學者
發送請求並觀察容器旋轉(冷啟動),然後重複使用(熱啟動)。
中級
比較 Java 和 Go 運行時,看看冷啟動的顯著差異。
專家
設定預置並發和 VPC 懲罰以優化延遲成本權衡。
📚 術語表
🏆 關鍵人物
Tim Wagner (2014)
作為總經理領導了 AWS Lambda 的發布,創建了第一個定義 FaaS 範式的主要商業無伺服器運算平台
Werner Vogels (2014)
Amazon 首席技術官,倡導事件驅動和無伺服器架構,推廣「沒有伺服器比沒有伺服器更容易管理」的概念
Kenton Varda (2017)
使用 V8 隔離而不是容器建立 Cloudflare Workers,實現亞毫秒冷啟動並重新定義邊緣無伺服器運算
Eric Jonas (2019)
加州大學柏克萊分校研究員,共同撰寫了頗具影響力的「雲端程式簡化:柏克萊對無伺服器運算的看法」論文,定義了無伺服器研究議程
Guillermo Rauch (2015)
創建Vercel和Next.js,普及前端框架無伺服器部署,讓前端開發者可以使用無伺服器功能
Joe Emison (2016)
早期無伺服器佈道者和首席技術官,展示了企業級無伺服器架構,證明了 FaaS 超越簡單用例的可行性
Ajay Nair (2019)
AWS Lambda 產品負責人,推動了預先配置並發、Lambda 擴充功能和容器映像支援等關鍵功能
🎓 學習資源
- Cloud Programming Simplified: A Berkeley View on Serverless Computing [paper]
無伺服器運算的定義性學術調查,分析其潛力和局限性,來自加州大學柏克萊分校 (2019)。確定關鍵挑戰:有限的生命週期、I/O 瓶頸、無入站連接和硬體異構性。 - Serverless Computing: One Step Forward, Two Steps Back [paper]
加州大學柏克萊分校的批判性分析認為,無伺服器的限制(無狀態、持續時間短、無直接尋址)使其不適合許多以資料為中心的工作負載(CIDR 2019)。 - Pocket: Elastic Ephemeral Storage for Serverless Analytics [paper]
史丹佛大學的研究透過針對短期分析作業進行最佳化的自動擴展分散式資料儲存來解決無伺服器儲存差距(OSDI 2018)。 - AWS Lambda Documentation [article]
最廣泛使用的無伺服器平台的綜合文檔,包括執行模型、並發性和定價詳細信息 - Serverless Framework [article]
開源工具包,用於透過統一配置跨 AWS、Azure 和 GCP 建置和部署無伺服器應用程式 - Datadog State of Serverless [article]
基於數百萬個 Lambda 函數的無伺服器採用趨勢、冷啟動基準和運行時流行度的年度產業報告