一套平台覆盖全部主流云无服务器:Knative介绍

Knative是一套集成了构建、事件处理和服务部署的无服务器框架,支持主流云平台。它提供了构建服务以源代码构建容器,通过可插入模型支持多种构建方法,如Buildpacks、Bazel等。Eventing组件允许事件驱动的函数调用,而Serving组件则实现了自动扩展和零停机升级。Knative还支持HTTP触发的函数调用,以及灵活的服务账户和卷管理。通过定义服务和修订版本,Knative方便了应用程序的生命周期管理。频道和总线机制处理事件,确保消息传递。Knative旨在简化云原生应用的开发和部署流程。
摘要由CSDN通过智能技术生成

640

Kubernetes近来受到高度关注,且已经成为容器领域的主要抽象方案。考虑到Kubernetes强大的容器调度能力,及其为基础设施自动化带来的坚实基础,这一切自然是在情理之中。
不过我们注意到,开发团队在使用普通Kubernetes进行应用程序部署时,往往会遇到困难。推送容器本身虽然无甚挑战,但如果大家希望利用其推送应用程序代码——或者函数,那么单凭Kubernetes自身就不太够用了。
正因为如此,才会有大量供应商围绕Kubernetes推出层级更高的抽象技术,Knative[1]应运而生。
函数,您需要关注的下一个抽象概念

640


大家可能已经注意到,在最近的分布式系统世界当中,函数即服务(‘函数’或者‘无服务器’)已经成为一种新的抽象趋势。其允许开发人员更轻松地运行并部署代码片段,且这些代码片段将能够快速实现规模伸缩以响应事件需求。
这对开发人员而言,无疑是个极具吸引力的主张。为什么?因为将一切基础设施与事件处理流程抽象出来(直到其触发函数为止)意味着开发人员能够完全专注于自己的功能性代码——是的,再没有任何其它事务会分散他们的精力。
640
当然,世界上没有免费的午餐。那么,函数的复杂性又体现在哪里?
目前市面上存在着大量函数即服务选项。而对每款产品而言,其在触发函数的具体方法、可以处理的事件格式、扩展能力以及帮助开发人员抽象出的实际复杂度数量方面皆有所区别。
对于具备实用性的抽象,公有云供应商往往会将其打包为一项服务。其中包括Azure Functions(微软)、Lambda(AWS)以及Google Cloud Functions等等。每种服务都运行函数代码以唾液事件,并根据当前需求进行扩展。此类产品采用务实的计费方式——用户需要按照函数的具体调用次数付费。
开源开发人员也投身于无服务器阵营,并开发出OpenFaaS、Fission、Kubeless以及Project riff等项目。这一切都是函数即服务的典型例子,且建立在Kubernetes基础之上。但各项目之间的共通之处也就仅此而已。
各个项目在以下三大核心领域都有着略有区别的实现方式:
  • 各项目都拥有一种构建服务,或者利用函数代码构建并部署容器的方法。

  • 各项目都拥有一种实现扩展伸缩以响应对函数调用需求的方法。

  • 各项目都提供一种基

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值