摘要:Everything is Serverless。
在衆多雲計算解決方案中,Serverless 逐漸嶄露頭角,受到了不少關注而且發展迅猛,今天就關於serverless 開源框架細說二三。python
什麼是serverless computing
- serverless computing = FaaS (Function as a Service) + BaaS (Backedn as a Service)
- serverless是雲原生應用的業務需求,是雲計算形態的進一步發展,是雲計算的下一代計算範式,Everything is Serverless
無服務器和傳統雲計算之間的三個基本區別是:
- 解耦計算和存儲;它們分別縮放並獨立訂價, 一般存儲由獨立服務提供,計算是無狀態的
- 執行一段代碼而不是分配執行代碼的資源的抽象。用戶提供一段代碼,雲端自動配置資源來執行代碼(NoOPS,傳統雲計算是devops)
- 支付代碼執行費用(Pay as you Run, 傳統雲計算是Pay as You Use),而不是支付爲執行代碼分配的資源。好比按執行時間計費,而不是按分配的虛機大小數量計費
Serverless 典型產品
函數服務主要開源項目
開源項目對比
ServerLess 框架比較
使用場景
架構
以AWS爲例segmentfault
兩條支持異構硬件的路徑
- Serverless 包含多種實例類型,不一樣的硬件使用不一樣的價格
- 提供商自動選擇基於語言的加速器和DSA(Domain Specific Architecture),好比GPU硬件用於CUDA代碼,TPU硬件用於TensorFlow代碼(對於python或者js等高級語言,軟硬件co-design提供language specific 處理器; 對於編譯型語言,編譯器應該建議使用何種硬件架構)
當前技術侷限
挑戰
- 計算抽象(屏蔽計算資源,解決數據依賴)
- 系統使能(函數狀態的高速存儲,函數間高速信令,函數極速啓動)
- 安全性 (應用級隔離,分佈式安全)
- 適應性 (異構硬件使能,微服務演進)
- 成本不能夠預測: 須要提供成本預測能力
- 容易產生Vendor lock-in: 須要提供API標準規範,相似POSIX爲操做系統作的事情,Google的Knative project在向這個方向努力
預測
Serverless將成爲雲時代默認的計算範式,基於Serverless的應用將激增, on-promises應用因爲監管約束和數據治理規則將長期存在,可是隨着時間的推移會逐漸減小promise
本文分享自華爲雲社區《serverless 開源框架對比》,原文做者:Leo Xiao。
點擊關注,第一時間瞭解華爲雲新鮮技術~安全