游戏改变者:Knative无服务器云组件

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修改过]