为什么 Tetrate 逐渐成为 Envoy Gateway 的主心骨?

Envoy Gateway 的发起 是 2022 年网络领域的一件大事。扛着 Envoy 这面大旗,Envoy Gateway 奉天子以令不臣,任何基于 Envoy 的网关都不得不回答一个问题:“你和 Envoy Gateway 是什么关系”。比如:

从 2022 年 4 月份 Envoy Gateway 提交第一个 commit,到现在的 2024 年 1 月份,Envoy Gateway 已经走过了 22 个月的开发历程, 计划在 2024 年 3 月前完成 GA 的发版。作为一个八卦之人,和关心 Envoy Gateway 背后的技术一样,我也在意 Envoy Gateway 背后的人事安排和权力分配。本文即是为此所作。

Envoy Gateway (以下简称 EG)是由 Tetrate、VMware、Ambassador Labs 这三家共同发起的。(在 EG 的成立公告中,Fidelity 也被列入 initial sponsors,但未查到提供了什么研发上的协助)

EG 的提交记录,在 GitHub 上可以查到。虽然许多组织宣称自己关心并参与了 EG 的发展,但是这里我采用了较为狭窄(也易于分析)的评价标准:只有提交了代码才算参与。提交 proposal 和参与讨论,尽管也算是一种参与,但是很难分清它是实质上的支持,还是过了一把甲方的瘾。另外有些人的贡献是“功夫在诗外”,比如成为 EG 的宣传大使,不过这方面的贡献因为难以衡量,所以在此我不得不舍弃对它的分析。

为了突出变化,我这里选择了一头一尾来观察主要贡献者来源的变化。
头的部分是 2022 年的前十贡献者分布:
https://github.com/envoyproxy/gateway/graphs/contributors?from=2022-04-10&to=2022-12-31&type=c

从上面链接可以看到,前十人中:

  • 来自 Tetrate 的:@danehans @arkodg
  • 来自 VMware 的:@skriss
  • 来自 Ambassador Labs 的:@AliceProxy @LukeShu
  • 个人贡献者:@Xunzhuo @zirain @chauhanshubham @zhaohuabing @daixiang0
    (个人贡献者里可能有受雇于前三个公司的,由于笔者掌握的信息有限被分到错误的类别)

可以看出,这段时间内,三家发起公司都出了真金白银来开发 EG,而且开发者的分布保持均衡。但如果稍微仔细看就会发现,实际的提交代码量里,来自 Tetrate 的是其他两个公司的两倍。可见即使人头数是一样的,Tetrate 的员工在 EG 上投入了更多的时间。@danehans 和 @arkodg 应该是全职做 EG,而另外三个人恐怕只是兼职搞搞。

尾的部分是最近半年内的前十贡献者分布:
https://github.com/envoyproxy/gateway/graphs/contributors?from=2023-07-31&to=2024-01-29&type=c

从上面链接可以看到,前十人中:

  • 来自 Tetrate 的:@arkodg @zirain @zhaohuabing
  • 个人贡献者:@Xunzhuo @shawnh2 @shahar-h @liorokman @tmsnan @cnvergence @ardikabs
    (个人贡献者里可能有受雇于发起公司的,由于笔者掌握的信息有限被分到错误的类别)

在第一年的前十人中,@danehans 跳槽去了 solo.io,@LukeShu 不再在 Ambassador Labs 上班,@zirain 和 @zhaohuabing 则加入了 Tetrate。总的来说,贡献者变化呈两个趋势:

  1. 个人贡献者队伍壮大。在早期阶段,项目连个脚手架都没有。虽然有 Envoy 这个金字招牌,并非人人都看好该项目的长期愿景。如今该项目已经逐渐完善,自然能吸引到更多人自发参与到共建中。
  2. 项目的含 T 量上升。@zirain 和 @zhaohuabing 的加入,不仅接替了 @danehans 的班,还增大了 Tetrate 在前十贡献者的比例。外加上 VMware 和 Ambassador Labs 的人从该项目中撤出,如今 EG 的开发者可以分成两类:加入 Tetrate 的和未加入 Tetrate 的。事实上,从一开始 Tetrate 就对这个项目很积极,投入也比其他两家多了一倍。事实上含 T 量的上升,更主要是因为其他两家的逐渐淡出。

为什么会出现这种变化呢?

我并不是 EG 圈内人士,所以以下只是我的猜测:

在发起 EG 之前,Tetrate 没有自己的南北网关,所以它可以心无旁骛地大举投入该项目。而 VMware 已经有了 Contour,Ambassador Labs 有了 Emissary,他们都有“左右互搏”的顾虑。后两家公司自然是有亲 EG 派的,不然不可能坐下来和 Tetrate 一起发起该项目。像有 Gloo 的 solo.io 就没有一起玩。

亲 EG 派给公司里其他人画的饼是,未来 EG 会很成功,然后现有的用户可以通过:

either via translation and replacement, or via those projects becoming wrappers around the Envoy Gateway core

https://blog.envoyproxy.io/introducing-envoy-gateway-ad385cc5...

切换到 EG 上。

好,这个饼其实是经不起推敲的。

现有用户迁移到 EG,对 Contour 和 Emissary 有什么好处?亲 EG 派总不能对着自己的 Contour 和 Emissary 同僚说,“你们下岗,我们上岗”吧。如果投入资源可以让 EG 发展得更好,吸引更多用户使用 EG,进而获取商业上或影响力上的收益 —— 那同样的资源,为什么不投入亲儿子 Contour 和 Emissary 呢?毕竟 EG 是和别人合办的。

那么走第二条路,保持 Contour 和 Emissary 的品牌,核心换成 Envoy Gateway 可行吗?但凡做过几个新老项目交替的程序员都知道,新旧项目是极难保持配置和行为一致的。这意味着,如果核心切换到了 EG,那么原来 Contour 和 Emissary 积累的生态要想迁过来,肯定会掉一层皮。这会是个洗牌的过程,而且不利于 Contour 和 Emissary。另外,无论是 EG 的开发者,还是 Tetrate,都不会接受只是做一个 core。为了自己的收益,EG 肯定会越做越厚,而不会因为某个有用的功能不在 Gateway API 或者 Contour 已经做了,就克制住不做。那么即使 Contour 和 Emissary 掉了一层皮把自己迁移到 EG 上,终究要面对和 EG core 竞争的场面。

等到国际友谊的激情散去,EG 里来自 VMware 和 Ambassador Labs 的开发者,自然会感受到继续合作带来的收益有限。汉室虽然有号召力,力出一孔的愿景虽然有诱惑,但现实就是现实。举个现实的例子,Tetrate 出了款产品叫 “Tetrate Enterprise Envoy Gateway”,Ambassador Labs 如果出了个产品 “Ambassador Labs Enterprise Envoy Gateway”,怎么做差异化?考虑到 Tetrate 对 EG 的投入远远多于 Ambassador Labs,Ambassador Labs 的销售应该如何拓客呢,难不成打价格战打到地板去?

Ambassador Labs 和 VMware 从 EG 的开发中淡出,并不代表基于 Envoy 网关路线遭到了失败。诚如 Envoy 创始人 Matt Klein 所言,Envoy 之所以有今天的成功,有一个原因是他没有成立 Envoy 背后的商业公司。Envoy 社区是有利益各异的组织和个人组成的。正是由于没有一个组织声称自己是代表整个 Envoy 社区的正统,才成就了今天 Envoy 百花齐放的繁荣生态。用户有更多的选择,开发者有更多的竞争,未尝不是件好事。

你可能感兴趣的:(envoygateway)