谷歌推出Knative 1.0无服务器计算平台

谷歌推出了 Knative 1.0 平台的稳定版本,旨在创建部署在基于 Kubernetes 平台的容器隔离系统之上的无服务器计算基础设施。 除了Google之外,IBM、Red Hat、SAP和VMware等公司也参与了Knative的开发。 Knative 1.0 的发布标志着应用程序开发 API 的稳定,今后将保持不变并保持向后兼容。 该项目代码是用 Go 编写的,并在 Apache 2.0 许可证下分发。

Knative 提供的无服务器应用程序开发模型为云系统提供了额外的抽象级别,允许将功能作为服务执行(FaaS,功能即服务)。 无服务器模型的本质是开发人员在各个功能级别实现逻辑,而无需担心创建和管理运行应用程序的基础设施,也无需绑定到特定的服务器应用程序及其运行所需的云环境。

开发是在准备一组小型单独函数的级别上进行的,无需创建整体应用程序,每个函数都确保特定事件的处理,并且被设计为独立工作而无需参考环境(无状态,结果不依赖于文件系统的先前状态和内容)。 仅当需要时才启动功能,并且在处理事件后它们可以立即完成其工作,即与微服务不同,不需要消耗空闲资源的运行环境持续存在。

Knative 平台本身根据需要启动容器,将准备好的功能放入其中,组织管理并确保扩展执行这些功能所需的环境。 该平台可以独立部署,无需绑定外部云服务。 只需要 Kubernetes 即可运行。 提供了支持各种常见框架的工具,包括 Django、Ruby on Rails 和 Spring。 命令行界面可用于控制平台的操作。

该平台提供两个主要组件:

  • 用于在 Kubernetes 中运行无服务器容器,自动配置网络通信、路由、跟踪更改(创建托管代码和设置的快照)并维持所需的扩展级别(最多在没有活动的情况下将 Pod 数量减少到零) 。 开发人员只关注逻辑;所有与执行相关的事情都由平台处理。 为了组织网络交互和路由请求,可以使用网络子系统Ambassador、Contour、Kourier、Gloo 和 Istio。 支持 HTTP/2、gRPC 和 WebSockets。
  • 事件是一个用于订阅(附加处理程序)、交付和事件管理的通用系统。 允许您使用对象模型和事件处理机制将计算资源附加到数据流来创建异步运行的应用程序。

来源: opennet.ru

添加评论