采访整顿:SegmentFault 思否 | 编辑 朱玲
采访嘉宾:霍秉杰

霍秉杰,哈尔滨工业大学计算机科技与技术硕士,曾任职于金山软件从事大数据技术研发,2016年退出青云科技。现为 KubeSphere 云原生 FaaS 我的项目 OpenFunction Founder、 FluentBit Operator 发起人, Kube-Events、Notification Manager 等可观测性开源我的项目发起人,Prometheus Operator, Thanos, Loki, Falco 贡献者。

现在,云原生曾经在国内各行业被深刻利用,随着云原生技术在边缘计算中的重要作用逐步凸显,越来越多企业开始致力于云原生开源社区倒退,越来越多云原生畛域的优良开源我的项目也随之呈现。

近日,SegmentFault 思否专访了 KubeSphere 云原生 FaaS 我的项目 OpenFunction Founder、 FluentBit Operator 发起人霍秉杰,为咱们带来对于 OpenFunction 开源我的项目背地的故事。

以下内容整顿自访谈实录。

从 0 到 1 的冲破:开源须要“实干家精力”

2016 年,从事十多年软件研发工作的霍秉杰退出了QingCloud 青云科技,并于 2018 年开始作为初创团队的成员参加了 KubeSphere 的研发。自此,他便亲历了一场 KubeSphere “从 0 到 1 ”并逐步发展壮大的过程。

在陆续负责了 KubeSphere 可观测性、边缘计算、Serverless 等方向产品的设计与研发之后,KubeSphere 在可观测性畛域的相干性能有了进一步的丰盛和欠缺。此时的霍秉杰便又率领团队,陆续开源了日志管理工具 FluentBit Operator(现已募捐给 Fluent 社区,并更名为 Fluent Operator )、告诉治理 Notification Manager、事件治理 Kube-Events 等云原生畛域的开源我的项目。

目前,这些云原生开源我的项目均已集成到了 KubeSphere, 且都可利用到任何 K8s 环境中。

随着霍秉杰团队这些开源我的项目的一直发展壮大,一些国外的开发者和用户也受到吸引并积极参与了进来。如来自Digital Ocean 的开发人员参加研发的 Fluent Operator,目前也曾经利用到了生产环境、家乐福团体;而来自CaaS 团队的开发者则参加了Kube-Events 的开发,并将其利用到生产环境。

“现阶段可观测畛域的工作重点是多集群可观测方向”。

在边缘计算畛域,霍秉杰率领团队通过与 KubeEdge 社区的严密单干,在 KubeSphere v3.1 实现了 KubeSphere 与 KubeEdge 的集成,并向上游 KubeEdge 社区奉献了相干代码。

“团队有成员最近成为了 KubeEdge 社区的 Maintainer, 让咱们看到了开源社区单干的微小影响力并会将这种单干继续深刻的进行上来”。

2021 年,霍秉杰团队开始发力 Serverless 畛域,并正式开源了云原生函数计算我的项目 OpenFunction 。通过一年工夫的致力,目前曾经公布了较稳固的版本 v0.6.0。据霍秉杰走漏, v1.0.0 也将打算在往年晚些时候公布。

新一代云原生函数计算平台初诞生

SegmentFault作为 KubeSphere 社区在云原生 Serverless 畛域的开源我的项目 OpenFunction 的发起人,请您分享一下最后发动 OpenFunction 我的项目的契机或背景

作为当下最热门的技术大趋势,业界对于云原生开源我的项目的翻新异样沉闷,而一直迭代的用户需要也为技术创新带来了新灵感。

早在 2020 年,就有社区用户询问对于 Serverless 方向的产品以及集成 Knative 、OpenFaaS 的打算。在对 Serverless 进行相干畛域的调研之后,霍秉杰团队发现,开源的 Serverless 或者 FaaS 平台并不能满足本身要求。

在霍秉杰看来,目前市面上比拟优良的我的项目如 Knative 并不能称之为 FaaS 平台,而OpenFaaS 虽是 FaaS 平台,但技术栈较为老旧,用于云原生可观测畛域的技术用在函数主动伸缩上不适合。反观云原生 Serverless 畛域在近年来的停顿较大,由此决定发动 OpenFunction 我的项目,打造新一代的云原生函数计算平台。

3 大劣势让 OpenFunction 在行业放弃外围竞争力

SegmentFault目前不少大厂都在打造自家的开源 Serverless / FaaS 平台,所以相比业内同类云原生 Serverless 畛域里的 Serverless 或 FaaS 平台 OpenFunction 函数计算平台的特色及技术劣势有哪些?

现在,随着越来越多“大厂”入局开源 Serverless畛域,各类优良的开源我的项目也让用户应接不暇。对于新一代开源函数计算平台而言,独特的技术劣势才能够在火爆的行业里展示竞争力。

在霍秉杰看来,OpenFunction 的特色和劣势次要有三点。

一、技术栈较新,采纳新型云原生 Serverless 畛域技术——基于 KEDA 和 Dapr 打造的异步函数运行时。

“Knative 只管被用作了同步函数运行时,但通过 Dapr 的引入其同步函数能够触发异步函数的运行,给异步函数增加了一个 HTTP 的 Trigger”。

霍秉杰团队自研的事件框架 OpenFunction Events 因为引入了 Dapr,使得其极具特色劣势:不仅可对接多种事件源,其事件总线还是可插拔的,在易用性上也更好。

二、和 SkyWalking 的集成让函数有了更好的可观测性。得益于最新的云原生的 Serverless 技术,OpenFunction 不仅能够对接各种开源的后端服务如 Kafka, NATS Streaming 等,也能对接云厂商的 BaaS 服务如 GCP PubSub, Azure Event Hubs ,使得用户的函数能够跨云迁徙。

三、开源 —— 开源社区使得 OpenFunction 收到较高的关注,也吸引了一些优良的社区贡献者参加共建。

OpenFunction 的独特“处世之道”

SegmentFault在打造 OpenFunction 我的项目的过程中所面临的挑战;对云原生 Serverless 畛域接下来倒退的期待;目前 OpenFunction 函数计算平台有曾经利用/落地的案例能够分享吗?

在以后的行业大背景下,新平台的倒退必然存在着一些挑战。而对于OpenFunction 而言,“如何在泛滥开源和商业 Serverless 或 FaaS 平台中找到本人的特色和劣势”是要害。好在,通过一段时间的思考和积淀,OpenFunction 目前看来曾经有了本人的独特之处。

云原生使得云的用户有了对立的管制面,使得用户不被某一云厂商锁定成为可能,云原生 Serverless 畛域同样如此。霍秉杰示意,“心愿 OpenFunction 可能成为 cloud agnostic 的、能够在任何云和基础设施上运行的 Serverless 平台”。

目前,OpenFunction 曾经在多个畛域落地并获得不错成绩。

除青云科技的全象低代码平台全象采纳了 OpenFunction 撑持低代码平台的插件扩大机制外,主动驾驶公司驭势科技也采纳 OpenFunction 的异步函数做数据归档来解决车端产生的大量数据,与此同时OpenFunction 还吸引了国内某大通信运营商的青眼。

同时,由霍秉杰团队联结提交的对于主动驾驶畛域利用 OpenFunction 的议题还在2022 年的欧洲 KubeCon 上被选中;目前也有来自新加坡 SAP 的社区用户在调研和参加 OpenFunction并打算采纳。

共赢:技术创新与凋谢生态有机单干

SegmentFault目前云原生 Serverless 畛域的倒退现状,以及 OpenFunction 现阶段曾经获得的成绩。

谈到云原生 Serverless 畛域,就不能不提 Knative。作为 Google 开源的 Serverless 平台,Knative 现曾经退出 CNCF 孵化且已公布 v1.0.0 版.而 Knative Serving 也作为优良的 Serverless 运行时,已被业界宽泛采纳。

Serverless 的弹性伸缩技术,目前曾经有了微软的 KEDA 开源我的项目,KEDA 可使应用程序能够依据事件源特有的 Metrics 进行伸缩,并可在 0 和 1 个正本之间进行伸缩,很好的补救了 HPA 的有余。

FaaS 函数则与利用一样须要与 BaaS 中的各种后端服务打交道,并非运行在真空中。但因为 FaaS 通常会有多语言的反对,每种语言都去对接每种后端服务会减少用户函数或者 FaaS 平台的复杂性,而微软开源的分布式应用运行时 Dapr 的呈现,极大的简化了分布式应用开发者的累赘。

此外在 build 畛域也陆续涌现出了 Cloud Native Buildpacks, Tekton, Shipwright 等优良的工具。

而对于 OpenFunction 来说,过来一年里曾经公布了 6 个大版本(目前最新版 v0.6.0 已公布且打算于往年公布 v1.0.0 GA 版)。

据霍秉杰介绍,目前OpenFunction 反对 Knative 作为同步函数运行时,也反对在 Knative 同步函数中应用 Dapr 的能力及 KEDA + Dapr 作为异步函数运行时。

此外,OpenFunction还与 SkyWalking 社区严密单干,在 v0.6.0 版反对了应用 SkyWalking 对 OpenFunction 的同步和异步函数进行 Tracing,使得用户的函数有更好的可观测性。在函数构建方面,OpenFunction 还反对应用 Cloud Native Buildpacks 技术在 Shipwright 形象和 Tekton的管制下构建函数镜像。

SegmentFault咱们晓得 FaaS 是云原生 Serverless 的外围,可否分享一下作为一个云原生 FaaS 平台 ,OpenFunction 接下来的打算或路线图。

OpenFunction 接下来会反对除 Knative 之外的同步函数运行时,或会在下一个版本反对 KEDA-HTTP。

另外,除了 Go 之外,OpenFunction 还将会对 Nodejs, Python 和 Java 有更好的反对;除运行函数外,也会对分布式应用有更好的反对,或会通过一个名为 ElasticApp 的 runtime 来反对分布式应用;后续会思考通过相似 Pool 的技术优化冷启动的工夫以及反对在 Webassembly 环境中运行函数。

结束语

近年来,在产业数字化的大趋势下,国内开源产业生态也迎来了前所未有的凋敝。作为备受宽广开发者们关注的畛域,云原生技术也在一直被探讨向前拓展可能性。作为该畛域的卓越贡献者,霍秉杰所率领的团队在云原生背景下一直摸索、实际,OpenFunction 开源我的项目的发动、新一代函数计算平台的创立,都对整个行业向前倒退有着踊跃影响的深远。