遊戲改變者:Knative無伺服器雲元件

banq發表於2018-07-30
Knative有可能重新定義如何使用無伺服器構建雲架構,並將無伺服器的使用擴充套件到單純的函式之外,成為遊戲的改變者。

Knative將成為無伺服器計算與雲端計算系統中Google Kubernetes容器整合的橋樑。能成為無伺服器架構的基礎元件,可以利用所有型別的雲原生工具。

無伺服器概念倡導函式即服務,函式已經成為一種新的抽象,允許開發人員輕鬆執行和部署一段程式碼,這些程式碼片段可以立即按比例向上和向下擴充套件以響應事件。

這對開發人員來說是非常有吸引力的, 為什麼?抽象出所有基礎設施和事件處理(直到他們觸發函式為止)意味著開發人員可以完全專注於他們的函式程式碼來處理事件。

當然,沒有免費午餐,所以這增加了複雜度。

市場上有許多函式即服務開源產品,對於如何觸發函式、可以處理的事件格式、如何擴充套件函式,每個產品都有其獨特做派。

OpenFaaS、Fission、Kubeless和Project riff等所有這些專案都是函式即服務的開源專案,都是建立在Kubernetes之上。每個專案在下面三個領域都存在稍微區別:
1.每個專案都有自己的構建服務,或者使用函式程式碼構建和部署容器的方法。
2.每個都有自己的伸縮的實現,以響應函式呼叫的需求。
3.每個都提供了一種基於事件呼叫函式的方法,例如帶有事件代理的http或pub / sub。

這些微妙的差異實際上是大面積推廣的巨大障礙,企業開發人員已經看到了這種碎片化,他們在坐等事實上的標準出現。

Knative是由IBM和Google共同發起的專案,該專案使用Kubernetes作為容器編排層,使用Istio作為群集內的網路路由以及群集的入口API閘道器,除此以外,Knative還增加了三個鬆散耦合元件以提供完整的無伺服器平臺:

1. Build提供了一個可插入的模型,用於從原始碼構建容器。
2. Eventing允許應用/函式釋出和訂閱事件流,例如Google Cloud Pub / Sub和Apache Kafka。
3. Serving元件提供了能輕鬆執行應用程式/函式,並具有將其擴充套件或縮小到零的能力。

這樣能形成部署和執行無伺服器函式的簡單方法,包括以下模式:

1. 從原始碼構建應用程式/功能
2. 啟用多種構建方法(Cloud Foundry Buildpacks,Bazel,Kaniko,Dockerfiles和其他可擴充套件性
3.允許開發人員輕鬆部署新的(可路由的)應用程式/函式
4. 允許零停機升級到​​應用程式
5. 自動擴充套件應用程式例項。
6. 將事件繫結到函式,應用程式或容器。
7. 透過HTTP請求呼叫時觸發器功能。

IBM,Google誕生了Knative Serverless Cloud Project

Knative Enables Portable Serverless Platforms on Kubernetes, for Any Cloud

Knative github專案

[該貼被admin於2018-07-31 19:10修改過]

相關文章