博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kubernetes上领先的开源Serverless解决方案有哪些
阅读量:6271 次
发布时间:2019-06-22

本文共 4992 字,大约阅读时间需要 16 分钟。

在去年年底的一次采访中,YC软件工程师,询问了亚马逊的首席技术官,关于和的问题。Werner在台上待了44多分钟,显得很困惑,他详述了AWS的, ,说道:“容器的一个问题是,它几乎让你又回到了云出现之前的那个时代。”他说,“虽然容器对开发人员来说是一个很好的抽象,但客户仍需要做很多工作。没有人关心在底层运行的容器,因为它似乎只是你需要额外支付的税款。“

\"\"

所有开源无服务器Kubernetes的路径均指向Knative

Werner这里是在。AWS已经半心半意地将Kubernetes作为其承诺的服务,这不仅因为Kubernetes是“,“而且因为AWS认为Kubernetes会分散人们对下一个更具影响力、更具粘性且更容易计费的阶段即“serverless”的注意力。”因此,当AWS继续在Lambda上沿用微软的战略——拥抱、扩展再消灭时,谷歌正在通过即将推出的“Knative”将其在Kubernetes上的筹码加倍。

\"\"

Kubernetes上的serverless化,从何开始

是谁最先开始了在Kubernetes上的serverless化?那些在他们自己的数据中心操作的人都曾遇到过的“云原生”图景。除了“”能指导对容器好奇的人,还有一个PDF (和相应的SPDY /笔记本电池基准测试工具),能够引导爱好者行走在的“云原生图景的推荐路径”之上。CNCF现在甚至展示“Serverless ”。如果你按下下拉式按钮并进入开源的”可安装“平台,你将会遇到一些“Kubernetes上的serverless化”的有力竞争者。

\"\"

让我们根据开始的时间排序,依次浏览每个开源serverless产品。

Apache OpenWhisk,一种多功能、具有行业优势的Serverless解决方案

图的第一个开源无服务器平台看起来很像一个正在孵化的ASF项目,例如。

参数 详情
开始时间 2016年2月(首次公开提交)
速度 2,300多个提交,240多个观察者,3,700多个星,700多个分叉,1,200个松散成员(kubernetes中只有160多个成员)
许可 Apache 许可证2.0
状态 生产使用良好(是IBM Cloud Functions的基础,与Adobe产品一同使用)
代码行(LOC)
主要作者 Rodric Rabbah,MarkusThömmes,James Dubee,Carlos Santana,Christian Bickel,Perry Cheng。Chetan Mehrotra,Tyson Norris,其中几位来自IBM和Adobe。(Perry和Rodric由此开创了)
安装过程 多个部署目标包括k8s
主要特点 “生产就绪”,工业设计
安全/多租户 严格,一直到容器(linux cgroup和命名空间)

OpenWhisk是第一个由大型供应商开源发布的合法Serverless/基于事件的架构。它来自纽约州约克镇的IBM研究团队,用Scala编写,它看起来非常非常严格。它甚至还有一个项目维基百科,托管在Confluence上。我很难准确地说出OpenWhisk在商业环境中的受欢迎程度,但似乎IBM很乐意向人们推销基于OpenWhisk的“云功能”。OpenWhisk甚至被捐赠给了Apache基金会。虽然它可以在Kubernetes上使用,但是某位原创作者称它是为“大规模部署扩展而不仅仅是检查”而创建的。这非常有趣,尤其如果你是一家Java公司,使用容器或kubernetes API(命名空间)作为多租户边界对于您的首席信息安全官来说是场噩梦。

Fission,第一个真正的Kubernetes Serverless 平台

接下来,开源Serverless竞赛的领跑者是一个完全基于Kubernetes的项目,这个项目来自Platform9,名为“Fission”。

参数 详情
开始时间 2016年8月
速度 3,900多个星,340多个分叉,140多个观察者,340多个分叉,800多个松散成员
许可 Apache 许可证2.0
状态 版本1.0
代码行(LOC)
主要作者 Soam Vasani(VMWare/Platform 9,SF),现在是Ta-Ching Chen(VMView,台湾)。还有Vishal Biyani(来自印度 Pune InfraCloud)
安装过程 基于helm的w/clean quickstart
主要特点 易用性,商业支持?
安全/多租户 命名空间级别的软多租户,比K8s本身稍微宽松一些?

似乎主要是由少数几位工程师创造的。这些人与Platform9的联合创始人一起,试图在VMWare上摒弃虚拟化技术。在这些选项中,借助一些强大的流行玩意儿,实现了一个非常轻松的quickstart安装过程。通过预热动态加载器、实时重新加载、记录/重放、金丝雀部署和prometheus指标集成,实现了低于100毫秒的“冷启动”。如果您欣赏前VMWare杰出员工运营一家OpenStack + K8s初创公司的行为,那么您可以使,这件好事不应该被错过。

Kubeless,在Serverless中使用Kubernetes API的早期先驱

在Fission之后很快出现了“Kubeless”,它在Kubernetes Custom Resource Definitions的路径上被看做是一个早期的幻想家。(什么是CRD或CRD +自定义控制器?我认为是K8s扩展机制,它利用基础Kubernetes集群结构实现更高级别的功能。或者是,除了Envoy之外,为Istio提供动力的东西。)

参数 详情
开始时间 2016年11月
速度 960多个提交,170多名观察者,4,000多个星,400多个分叉,350多个松散成员(#kubeless on K8s Slack)
许可 Apache 2.0
状态 运行时(runtime)是“稳定的”,但是…维护模式?有人会用这个吗?
代码行(LOC)
主要作者 Tuna Ng(已离职,现为TomoChain区块链首席工程师),Andres Martinez Gotor(Bitnami),Sebastien Goasguen(前Bitnami人,现就职于TriggerMesh)
安装过程 YAML和curls
主要特点 CLI兼容AWS Lambda CLI,基于核心K8s构造
安全/多租户 基于CRD,因此内部身份验证依赖于K8s API /命名空间/ RBAC。外部身份验证基于HTTP头。

Kubeless令人困惑的一点是,虽然它在被维护并且最终用户表示出了兴趣,其创作者无一例外都转战到了其他项目。原来的领导现在成了““,另一个已经成立了一家“serverless化”的新公司(它本身是中的serverless集成的众多驱动力之一)。所以,很难说Kubeless的发展方向是什么,但如果你正忙着编写自己的控制器并在CRD中徜徉,Kubeless可能是一个有用的东西。12000行的 golang“意味着K8s API的概念证明”,多好啊?

OpenFaaS,Kubernetes上的简单serverless

OpenFaaS非常吸引人。它是唯一拥有除Apache 2.0以外的许可证的竞争者,它尤其以社区为中心,在最初对标Docker Swarm之后,它于2017年中期添加了Kubernetes支持,并且非常精简。

参数 详情
开始时间 2016年12月
速度 3,850个提交,450 +观察者,15000 +个星,1600 +分叉,1,200 +松散成员
许可 MIT
状态 最终用户页面有很多标志,包括一些著名的大牌
代码行(LOC) ,还有更多的分散在其它库中
主要作者 Alex Ellis(在英国ADP工作了10年以上,现就职于VMWare),现在已经有180多个社区贡献者
安装过程 YAML+ helm模板
主要特点 简单! AWS-SNS触发系统,包含Istio集成,CRD支持,REST API,ARM支持(32位和64位),“功能+模板商店“ 和 “”
安全/多租户 所有容器都是非root用户,包括只读文件系统的选项。还有专用命名空间、可管理的K8s RBAC角色和“默认身份验证”(在OpenFaaS云上使用GitHub或GitLab+ OAuth 2.0 授权)

OpenFaaS是一个单身工程师的心血结晶,该工程师此前已牢固地打造了一个周边社区。OpenFaaS以其简单、紧密的代码库和完美的消息传递而著称,如“更简单的serverless功能”,“一键安装”,“随着需求的增加而自动扩展扩展到零”。很不错吧?它的维护者在2017年7月还添加了一个介绍到文档中,如果你还不是K8s企业,可能会给你留下一个很好的印象:“只有serverless的解决方案,才可以与Kubernetes和Docker Swarm原生集成”,“由价值驱动”,“以社区为中心”,“与40年前相比,现有160多名贡献者。”最近该项目的faas-netes 运算符甚至几乎完全由来自Weaveworks的Stefan Prodan重建,从而与Kubernetes实现更紧密的集成。

一个小小的问题是 - 不要因为OpenFaaS的“”血统,便错误地将它排除在外(就像你的作者做的那样!)。如果你在Google Docs调查中打勾,,他甚至会自动邀请您参加社区贡献者会议。这很吸引人。

Knative,又被戏称为:所有你的OSS serverless(和Ingress)均属于我们

最后是Knative。如果你按相反的时间顺序阅读本文,你会在这里停下来。Knative是lambda的有力竞争者。如果在此期间你没有密切关注2018年中期的会议,你很容易错过Knative。与时俱进吧!。

参数 详情
开始时间 2018年1月
速度 2400+提交,183 +观察者,2100 +星,490 +分叉,1,200+ 松散成员(特别地,并非#knative on K8s Slack – 它们是不同的生态系统)
许可 Apache 2.0
状态 v0.4.0 (阿尔法,贝塔?)
代码行(LOC)
主要作者 大量的Google员工,以及“来自~48家不同公司的约300名贡献者”。
安装过程 一套“酵母”式的Isitio CRD,然后便是干净的yamls
主要特点 Istio,终于有一个用例了!耶!自动伸缩,透明构建,用户空间遥测,修订,流量分割等。
安全/多租户 继承Istio?期望他们能做到这一点
需注意点 谷歌请求T-Mobile在Knative预发布(pre-launch)上构建商店定位器原型。参见:

坊间消息是,谷歌有超过90名工程师正着力构建Knative,Knative是GCP和GKE之间即将到来的深度“云功能”集成的基础。如果你很勇敢,你甚至可以要求参加beta测试计划,而这能让你获取knative就像点击Google Cloud控制台中的按钮一样简单。

下面是与项目密切接触的人的话。Oren Teich, “。还有一位Google老员工在中说道:“当然,这些都只是早期的,但考虑到我们的目标是将共性(我们所做的80%都大致相同)编写出来并且改善客户工作负载的可移植性,我希望看到使用构建的新产品,或者现有产品以为基础。“在同一个中,Pivotal的一位高级软件工程师指出,“我认为FaaS是一种具有一些额外功能的PaaS(扩展到零无疑是它最引人注目的功能)。”

其他开源serverless平台

仔细观察#serverless空间,你还会注意到还有很多其他产品,比如 -, Pivotal的Riff, Dispatch, , , (严肃地说,这也是serverless?),PipelineAI, ,可能还有更多。对不起,乍一眼看的话,它们中的大多数都很快就会不敌Knative。

托管的无服务器怎么样?, , , , 。当然,在创造真正的商业价值的同时,购买它们吧。但我还是回到我的YAML吧。

查看英文原文:

转载地址:http://erlpa.baihongyu.com/

你可能感兴趣的文章
Android——4.2 - 3G移植之路之 APN (五)
查看>>
Linux_DHCP服务搭建
查看>>
[SilverLight]DataGrid实现批量输入(like Excel)(补充)
查看>>
秋式广告杀手:广告拦截原理与杀手组织
查看>>
翻译 | 摆脱浏览器限制的JavaScript
查看>>
闲扯下午引爆乌云社区“盗窃”乌云币事件
查看>>
02@在类的头文件中尽量少引入其他头文件
查看>>
JAVA IO BIO NIO AIO
查看>>
input checkbox 复选框大小修改
查看>>
网吧维护工具
查看>>
BOOT.INI文件参数
查看>>
vmstat详解
查看>>
新年第一镖
查看>>
unbtu使用笔记
查看>>
OEA 中 WPF 树型表格虚拟化设计方案
查看>>
Android程序开发初级教程(一) 开始 Hello Android
查看>>
使用Gradle打RPM包
查看>>
“我意识到”的意义
查看>>
淘宝天猫上新辅助工具-新品填表
查看>>
再学 GDI+[43]: 文本输出 - 获取已安装的字体列表
查看>>