1. 程式人生 > >Everything is Serverless,從開源框架對比說起

Everything is Serverless,從開源框架對比說起

摘要:Everything is Serverless。

在眾多雲計算解決方案中,Serverless 逐漸嶄露頭角,受到了很多關注並且發展迅猛,今天就關於serverless 開源框架細說二三。

什麼是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為例

兩條支援異構硬體的路徑

  • 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應用由於監管約束和資料治理規則將長期存在,但是隨著時間的推移會逐漸減少

  • https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
  • https://winderresearch.com/a-comparison-of-serverless-frameworks-for-kubernetes-openfaas-openwhisk-fission-kubeless-and-more/
本文分享自華為雲社群《serverless 開源框架對比》,原文作者:Leo Xiao。

 

點選關注,第一時間瞭解華為雲新鮮技