开猿面对面:对话道客开源负责人PacoXu,Kubernetes全球指导委员会的唯一中国人(一)

43 阅读14分钟

「开猿」诞生于上海开源信息技术协会,是一个专注开源与新兴行业的媒体。我们始终在做一件事:为技术背后的思想与价值提供一块高质量的回音壁。

我们的核心板块《开猿面对面》系列访谈,会邀请开源领域最杰出的嘉宾,来与我们共同碰撞创新思想,解读技术价值。

图片

各位观众好,我是「开猿」的 郝宇 《开猿面对面》的第一期访谈,我们非常有幸采访到中国开源技术圈的一位风云人物——Paco徐俊杰老师。Paco老师是道客公司的开源负责人,同时也是亚洲首位连任Kubernetes(K8s)全球指导委员会的中国人。可以说,他和道客公司,在云原生领域乃至整个开源国际舞台上,为我们国家闯出了一条路。

Paco老师在技术圈内是大家非常熟悉和尊敬的一位专家。他不仅深耕技术,还积极投入开源社区的建设与开源技术的教育科普工作,引导了许多开发者和学生走上了开源的道路。

首先,想请Paco老师为我们介绍一下,什么是云原生?对于不太熟悉技术的大众来说,云原生可能有些距离,能否请您用最通俗的语言解释一下,它和我们传统理解的编程、写代码有什么区别?

Paco 徐俊杰:

云原生这个概念其实已经提出很多年了,在世界范围内有专门的云原生计算基金会(CNCF)来推动。它最初的出现,主要是为了应对公有云、私有云等各种云计算场景的需求。简单来说,你可以把它理解为一种能让应用在云上灵活伸缩的能力。

举个最常见的例子,比如电商平台。在双十一这类购物节时,流量会瞬间暴增。云原生提供的价值就在于,它能让你根据需求快速扩展资源。如果你只用自己本地的服务器,资源是有限的,架构也可能不够灵活,就很难应对这种突发流量。而我们公司主要专注于容器化、云原生和微服务这些方向。把这些技术结合起来,就能让电商这类应用在流量高峰时,快速扩容,平稳应对。

开猿:

也就是说,它本质上是在不改变硬件基础性能的条件下,把传统技术或平台的效率和性能大大提升了,对吗?

Paco 徐俊杰:

更准确地说,它扩展了硬件的可能性。你本地的硬件资源总是有限的,而云更像一个共享的资源池。不同业务的流量高峰时间可能不同,云平台的能力就在于,它既能让你在需要时灵活扩展,又因为资源可以共享给其他应用,从而把整体设备的利用率提得很高。云服务商甚至可以做在线和离线业务的混合部署,这样所有硬件的使用效率都上来了。成本摊薄之后,对于使用云服务的应用方来说,他们的成本也能降下来。

开猿:

道客作为行业里的大平台,肯定服务过很多客户。您能否举一个具体的例子,说明客户在使用云原生方案前后,效率发生了怎样数量级的变化?这样会更直观。

Paco 徐俊杰:

我们服务的客户类型很多,比如银行业的浦发银行,汽车行业的上汽、东风,还有一些证券金融公司。其中,银行比较典型:电商最终一定要走到支付环节,支付请求的吞吐量提升,需要底层架构支持弹性扩展。这就需要银行在本地搭建私有云,并把所有应用进行“云原生化”改造。改造之后,系统就具备了动态伸缩的能力,从而在类似双十一这样的关键支付时刻,能够顶住流量洪峰,保障业务稳定。

开猿

据说浦发银行在装载了您这边的系统之后,效率提升了90%,真的有这么夸张吗?

Paco 徐俊杰:

有的。特别是在双十一刚开始火起来的那几年,国内支付链路的交易量增长非常迅猛。 在我们这套系统上线后,其弹性扩展能力对支付环节的帮助确实非常大。

开猿

也就是说,是不是可以理解为,企业的业务体量越大,使用这套系统能带来的提升就越显著?

Paco 徐俊杰:

可以这么说。但这其中涉及到一个典型场景:如果你是一个初创企业,初期可能没什么流量,那自然没必要购置大量服务器。可你又无法预知流量何时会爆发,总不能等问题出现了再去解决。所以,一个可行的方案就是提前借助公有云或其他 云服务 ,将系统的可扩展能力搭建好。这样当流量真正来临的时候,你就能从容应对,做到未雨绸缪。

开猿

让我们把话题从云原生稍微扩展到开源领域。传统上,对开源的一个狭义理解可能就是“公开 源代码 ”。那么,在刚才我们讨论的这些背景下,传统的商业公司往往通过闭源来保证自己的技术壁垒,而开源会不会相当于把自己的技术壁垒开放出去,从而削弱了自身的竞争力?开源与商业之间,是否存在根本的矛盾?

或者说,开源与我们现在存在的互联网商业逻辑,是否根本上就是相悖的。一家互联网公司——比如滴滴,投入了大量成本打败竟对,抢占市场,其目的自然是希望最终形成垄断。而现在选择开源,会不会与垄断这个目标相冲突了?

Paco 徐俊杰:

不尽然,核心在于有些东西适合开源,有些则不适合。那些直接构成业务核心的部分就不适合开源;但反过来看,像滴滴打车业务里的地图服务,它更像一种基础设施。如果每家都去重复建设,意义不大,因为用户体验的差异,最终并不取决于地图本身,而在于打车服务的质量。

所以,像滴滴和其他几家公司,他们所拥有的地图数据资源、预测模型或是核心算法,这些部分其实更适合以专利或开源的形式共享。这样一来,大家都能受益,因为整体成本被降低了。

开猿:

但这会降低滴滴自己的收益吗?

Paco 徐俊杰:

关键点在于,滴滴的核心竞争力并不在这里。这些基础设施是大家必须用到的,但并非其利润的直接来源。这类公共性质的部分就适合开源。反过来说,如果一个东西本身就是要用来赚钱的,你自己打破了自己的技术壁垒,自然就赚不到钱了。

不过,像我们做的 K8s,它属于最底层的 Infra(基础设施),这就好比是公路:如果一家公司修了条路,却不让别人用,只作为内部封闭道路,那它的价值就很有限。当道路相互联通、开放使用后,整个社会的运行效率才会真正提高。

进一步说,这里其实包含了好几个问题。  首先, “开源”和“ 开放源代码 ”并不能完全划等号。一个开源项目,特别是成熟的开源项目,它包含的不仅是代码公开,更重要的是项目决策的公开透明和社区的自治理念。如果仅仅是代码开源,那它只能算是一个“Open Source”的项目,但未必是一个真正的“开放社区”,这其中有很大的区别。

其次,开放的决策过程至关重要。 这意味着外部参与者能够了解这个项目为何选择某个技术方案,以及它是如何演进的。只有理解了整个过程,你才能判断这个项目是否适合自己的场景。否则,你的使用场景可能根本没有被项目考虑过。相应地,你也可以在社区里反馈你的具体用例,这样社区也可能根据实际情况进行适配。如果很多用户都提出了类似的场景,社区就会发现这是一个普遍需求,从而可能将其纳入未来的开发规划。

第三点,关于闭源和开源的差异。 闭源项目通常是由一家公司来满足你的特定需求;而开源社区则更多地服务于通用需求。因此,在商业公司或高度定制化的业务中,将其核心项目完全开源可能并不合适。但事实上,即便是商业公司,其产品或服务内部,很可能已经有70%-80%用到了各种开源组件、框架或基础设施。

目前有一些统计数据会显示商业软件中的开源采用率,不同领域的比例差异很大。在一些特定方向上,开源尤其适合,比如高级编程语言、核心基础设施组件。大家会共用这些基础部分以降低成本。像Linux操作系统及其生态,就有非常多的开源项目,同时在这个基础上,也诞生了许多提供商业服务或闭源产品的厂商。他们可能提供开源版本,也可能围绕开源项目提供付费服务。

所以,商业模式可以基于开源项目构建,同时也可以包含自己独有的闭源部分。以Kubernetes为例,它的扩展性非常强,你可以在其之上构建属于自己的商业功能,或者将Kubernetes本身的运维管理、专家服务作为商业卖点。 它们的目标不同,在架构、需求和适用场景上都有各自的侧重。因此,闭源与开源的关系比较复杂,我这里只是举了几个例子来说明。

再举一个大家日常接触最多的的例子,可能是安卓(Android)系统。 安卓底层其实就包含了许多开源组件。同样,上面运行的各种APP,它们使用的开发框架、前端语言等,很多也都是开源的。

开猿

这个例子可能大家理解起来更直观,毕竟每天都在用手机。 这里我有一个问题:您提到开源,听起来它似乎比传统的闭源 商业模式 多了一个很新的组织形态,就是“社区”。是这样吗?

Paco 徐俊杰:

对的。开源的发展历史其实非常长,像 Linux 和 Git 这些项目都已经有三十多年了。但如今,开源的重要性日益凸显,一方面体现在各种AI模型上,另一方面就体现在社区的建设上。现在国内外都有很多开源社区,目前最大的基金会是 Linux 基金会,其贡献者规模大约有三十万人。Kubernetes(K8s)社区的累计参与者,也达到了九万人左右的规模。

开猿

那么关于这些社区,我想问一个具体问题。很多人,比如我们生活中的上班族,可能不太理解“社区”这种——我不知是否该称之为“生产关系”——的事物。似乎在社区工作,我们理解是不是就是一个微信群或者讨论群,一群程序员在里面交流?这和我们正常想象中,有工位、需要每天上班的工作方式,似乎差了十万八千里。他们也能盈利吗?他们靠什么生活? 我想观众们特别想了解这些具体的运作机制。

Paco 徐俊杰:

实际情况是这样的。开源项目的开发本身,确实如你所说,通常是远程、异步的,大家通过公开会议等方式协作。但参与这些会议的人,大部分并非没有 全职 工作,相反,他们往往有全职工作并得到了所在公司的支持。

举个例子,Kubernetes项目最早是由谷歌和 红帽 等公司发起的,其内核源于谷歌内部的Borg系统。谷歌将其开源后,不断在社区推广,并引入外部贡献者。所以,在今天K8s社区里,很多人背后是有公司支持的。

比如我们道客,因为我们的产品基于Kubernetes,所以我们在K8s(Kubernetes的简称)开源社区投入了大量资源。这样做一方面能让我们更深入地理解项目,另一方面也让我们能了解社区的发展方向。这样,我们在产品开发和架构设计上就更有前瞻性和发言权。像现在最热门的AI工作负载在K8s上运行,遇到的一些通用性问题,就非常适合在K8s社区层面去解决。我们参与其中,既能推动技术进步,又能对我们的产品产生正向影响。

当然,也存在另一种情况:有些项目相对成熟或稳定后,其维护者可能不再获得公司支持。确实有一些广泛使用但缺乏维护的“脆弱”开源项目。 为此,一些基金会,比如最近比较有名的德国的一个基金会,会专门为这类“关键但脆弱”的广泛应用项目的维护者提供资金支持,甚至提供一份专职工作来维护它们。 他们已经支持了上百个项目。

当然,也存在完全利用业余时间、无公司支持的个人贡献者。但在我们公司,很多研发人员参与社区,是因为我们产品依赖这些开源项目。我们认为,参与社区能让你对项目理解更深,在产品演进时更有前瞻性和发言权,能更深入地把握社区发展趋势。 这本身就是一种重要的竞争力。

开猿

谈到这个问题,我们想具体了解一下道客这家公司。因为您身在社区,那么道客主要的业务是什么?它在行业内的定位是怎样的?我们想更深入地认识道客。

Paco 徐俊杰:

道客在创建之初,就与容器化技术有着深厚的渊源。容器化技术本身带来了云原生行业的标准化,而 Kubernetes(K8s)则是容器编排领域的事实标准,这正是我们的技术基石。在此基础之上,我们为企业提供容器化的企业级平台。

除此之外,我们现在也在大力发展和部署支持 AI 模型推理与训练的基础设施平台。我们的目标是面向各类大、中、小型企业,提供涵盖公有云、私有云和混合云的解决方案,为他们的各类应用运行提供坚实可靠的基础设施保障。

开猿

听起来是一个非常底层和基础的业务。

Paco 徐俊杰:

是的。从社区参与的角度来说,对于我们采纳和使用的核心开源项目,我们会积极参与贡献。项目越核心,我们投入的意愿就越强。在容器领域,我们深度参与 Kubernetes 社区;而在AI推理等领域,我们也在积极参与像 vLLM 等相关社区。

开猿

您作为首位也是目前唯一一位连任 Kubernetes 全球指导委员会的中国人,我记得在您首次当选时,就是第一位进入该委员会的中国人,对吧?

(未完待续)