Serverless Computing(無服務器計算)是目前最被看好的雲端計算執行模型。其最大的好處是提供分佈式彈性可伸縮的計算執行環境,僅爲實際使用資源付費,並且將應用維護者從常規的運維事務中解放出來,更利於專注到具體的業務上。
在主流的應用部署方式下,無論是使用雲主機還是Kubernetes作爲運行環境,都會有大量運維層面的事務需要考慮和處理,並且應用程序需要按照分佈式程序的設計準則來應對應用的水平伸縮。同時隨着雲計算服務的發展和完善,雲計算廠商提供了越來越多的基礎服務,例如API網關、對象存儲、消息隊列、日誌、監控等服務,函數計算可以完美的同其他雲服務集成,幫助用戶快速實現出生產級別的彈性可伸縮的應用。
那函數計算是什麼呢?讓我們一起來看看阿里雲對於函數計算的定義。
阿里雲函數計算是事件驅動的全託管計算服務。通過函數計算,您無需管理服務器等基礎設施,只需編寫代碼並上傳。函數計算會爲您準備好計算資源,以彈性、可靠的方式運行您的代碼,並提供日誌查詢、性能監控、報警等功能。藉助於函數計算,您可以快速構建任何類型的應用和服務,無需管理和運維。而且,您只需要爲代碼實際運行所消耗的資源付費,代碼未運行則不產生費用。
基於函數計算的特點,可以很好滿足以下需求,
- 業務流量不確定或有明細的週期性
- 構建分佈式系統經驗不足
- 無需運維
- 按需計算
- 計費靈活
由於函數計算的擴展能力,對運維的要求極少,按量計費等特性用於需要快速驗證的早期項目也是非常好的場景。
下面這個slide是近期針對阿里雲函數計算做的分享。
frameLabelStart--frameLabelEnd