每個CIO需要了解的有關無伺服器的內容:FaaS與Serverless的區別和Knative定位 - triggermesh

banq發表於2020-04-19

無伺服器通常與函式即服務(FaaS)產品等同,例如AWS Lambda。但是,無伺服器不僅僅是FaaS,FaaS平臺允許使用者編寫在事件發生時執行的小段程式碼,該平臺透明地負責配置執行時,自動擴充套件和安全性。
FaaS可以看作是將雲服務連線在一起並在某些事件發生時執行的粘合劑。Serverless使開發人員可以專注於由事件驅動函式組成的應用程式,這些功能函式可以響應各種觸發器。FaaS則平臺負責其餘工作,例如觸發函式的邏輯,從一個函式傳遞到另一函式的資訊,容器的自動配置和執行時(何時,何地和什麼),自動縮放,身份管理等。

Knative
Knative是一個開放原始碼的無伺服器平臺,它提供了一組中介軟體元件,以構建可在任何位置執行的現代,以源為中心和基於容器的應用程式:本地,雲中或在第三方資料中心。藉助Knative,您可以同時獲得–零接觸配置的容器靈活性和無伺服器的快速迭代。
Knative做兩件事:服務和事件。

  • 服務基於Kubernetes構建,以支援無伺服器應用程式和功能的部署和服務。服務提供了FaaS的自動縮放(包括縮放到零)函式以及使用現代網路閘道器進行的細粒度流量控制。
  • 事件提供了使用和生成符合CloudEvents規範(CNCF工作組開發的規範)的事件的構建塊。它包括來自事件源的抽象,以及透過可插入釋出/訂閱代理服務支援的訊息傳遞通道進行的分離傳遞。

服務:Knative Serving將一組物件定義為Kubernetes自定義資源定義(CRD)。這些物件用於定義和控制無伺服器工作負載在叢集上的行為。
事件:生產者建立事件之前,任何事件消費者都可以對事件或事件類別表達興趣。從v0.5開始,Knative Eventing定義了Broker和Trigger物件,使過濾事件變得更加容易。
  1. 經紀人提供事件的桶,可以透過屬性選擇事件。它接收事件並將其轉發給由一個或多個匹配觸發器定義的訂戶。
  2. 觸發器描述了事件屬性的過濾器,該事件應傳遞給可定址物件。您可以根據需要建立任意數量的觸發器。

Tekton
Tekton是Kubernetes原生的開源框架,用於建立持續整合和交付(CI / CD)系統。透過抽象出基礎實施細節,它使您可以跨多個雲提供商或本地系統構建,測試和部署。
作為Kubernetes原生框架,Tekton使跨多個雲提供商或混合環境的部署變得更加容易。透過利用Kubernetes中的自定義資源定義(CRD),Tekton使用Kubernetes控制平面來執行管道任務。透過使用標準的行業規範,Tekton將與現有的CI / CD工具(如Jenkins,Jenkins X,Skaffold和Knative)良好地配合使用。
Tekton是持續交付基金會(CDF)的最初專案之一,成員超過25個,是快速發展的CI / CD專案的理事機構,以鼓勵和維持與供應商無關的協作和參與。

 

相關文章