APISIX 专访:9个月成 ASF 顶级项目,开源能够带来付费用户

本文做者:o****0html

7月15日,ASF 正式宣布Apache APISIX 从孵化器毕业,并晋升顶级项目。git

若是你去看一看 APISIX 的发展轨迹,会发现它的成长速度很是快。开源不只让 APISIX 快速迭代,更成为它背后的初创公司向外沟通付费用户的一张名片。程序员

去年4月,项目发起人温铭和王院生开始着手写代码,同年6月宣布开源,7月 APISIX 被归入 CNCF 全景图,10月捐赠给 ASF,到今年6月经过投票,7月正式成为顶级项目,先后只用了一年3个月。es6

期间,还伴随着商用落地——开源两个月,就迎来首家付费央企用户。截至目前,APISIX 已超过千个节点在线上环境服务,其中不乏腾讯、网易、贝壳、优信二手车等大致量或是高流量用户。github

“APISIX 是目前速度最快的 API 网关”,王院生说,他们在最初选型上,会尽可能复用成熟组件,站在巨人肩膀上,避免本身造轮子,这样就能够把时间精力放到差别点上,如极致性能路由、热插件、高性能字段校验器、插件编排等 API 网关核心。apache

与大多数 API 网关不一样,APISIX 不只能够处理南北向流量,也能够处理东西向、微服务间的流量。下一季度,APISIX 计划落实 Service Mesh 领域相关功能。在两位发起人的规划里,APISIX 还要成为最受欢迎的开源 API 网关。api

2人2个月,作了个可兼管微服务间流量的 API 网关

许多开源项目诞生的初衷,都是开发者工做时发现须要某个服务,然而市场上却没有合适的项目能够支撑,因而便自行开发并开源,填补空白,APISIX 也不例外。安全

“咱们须要一款高性能、云原生的 API 网关”,王院生介绍,去年通讯院发布的一个调查报告显示,中国有60%的企业都在作微服务转型,而 API 网关在微服务体系中很是重要,扮演“指挥家”的角色;同时,微服务愈来愈流行,传统单体大应用的场景正在逐渐减小,而云原生又再次为微服务演进提供了一些标准化方案。在这种大背景下,他们决定发起 APISIX 项目。负载均衡

以后的竞品分析也让他们看到机会。2019年 Gartner 发布一篇《全生命周期 API 管理魔力象限》报告显示,在魔力象限中很多大厂商好比 Google 家的 Apigee,核心的 API 网关部分技术栈总体偏老;而在技术方案上有优点的公司,都是新公司,“这一度让咱们感受兴奋,有种机会就在眼前的感受”,王院生说。框架

为了作一个高性能 API 网关,APISIX 核心代码遵循了精简的原则,用王院生的话说就是,臃肿基本就和高性能无缘了。

2019年6月6日 APISIX 开源的时候,核心代码只有几千行。通过一年发展,插件代码量早已超过核心部分。维持精简能够极大下降后期维护成本,尤为是对于开源项目。

王院生介绍,核心精简,功能、创新是不能少的。例如 APISIX 内置的 var 读取加速,重复读取同一 Nginx 变量提高了百倍。借助 radixtree(基数树) 方式匹配路由,让 APISIX 成为目前路由匹配速度最快的 API 网关。

如今,APISIX 保持着一到两个月发布一个版本的更新频率。 

2019年 APISIX 捐献给 ASF 的同时,也完成了 APISIX 的主体框架,好比动态负载均衡、全平台支持、安全插件、SSL、gRPC、TCP/UDP 动态代理、单机模式等功能。

“这些功能实现都是按照生产标准编写,有完整测试用例覆盖,截至7月9号,依然有用户在生产环境运行的是去年11月份版本,稳定性很是好,性能也是同类产品的2-10倍”,王院生说。

 

今年,APISIX 还将继续丰富生态,除了循序渐进与社区一块儿丰富功能插件外,还增长了 Dashboard 和 k8s ingress controller 实现,帮助 k8s 用户更简单、高效的管理入口流量。并创新性的为 APISIX 增长插件编排机制,提升插件之间的联动能力,扩展用户场景。

25票赞同,从诞生到成为 ASF 顶级项目只用了一年

在 ASF 经历一次毕业投票,项目就接受了一次全盘检查。

APISIX 的毕业投票是 25 个+1(赞同)票经过的,包括 10 个 Binding(约束性投票),15个 Non-Binding(无约束性投票),没有 -1(否决) 票。

Apache 的投票过程可能看起来有点怪异。投票用-1和+1之间的数字表示,“-1”表示“否决”,“ + 1”表示“赞同”。
Binding Votes,约束性投票。一般,PMC 成员拥有正式的、有约束力的投票;针对从孵化器毕业项目的毕业投票,IPMC( Incubator PMC)拥有 Binding Votes。社区成员投票是 Non-Binding 无约束性投票,但一般鼓励社区成员投票,即便他们的投票只是建议性的。

在 ASF 中若是要毕业成为顶级项目,投票是最后一步确认环节,虽然这是毕业于否的决定票,除了须要拿到足够的 Binding +1票,也须要考察项目自身活跃度、是否独立发布过版本、贡献者数量、贡献者分布、License、品牌等是否均符合 Apache 要求。 

在 ASF 的孵化投票中,IPMC 的投票才会被记录参考,只有他们的投票是有效 Binding 的。因为邮件列表是公开的,对于非 PMC 也是能够投票,这些人的投票就是 Non-Binding 的。而对于 -1 票,表明有人不支持,这时投票人是必需要给出充分理由。APISIX 毕业,并无反对票。 

不只投票表决这一关过得顺利,从尝试捐赠开始,APISIX 就和 ASF 很是投缘。

2019年9月,王院生和温铭决定着手将项目捐赠给 ASF。当时他们阅读 Apache 官网内容,按照要求逐个梳理全部检查项,提早准备 APISIX 捐献资料。

“在华为开源能力中心技术专家姜宁的推荐下,咱们参与了一次小型 Apache 会议,并把咱们提早准备的资料给 Apache 主席 Craig Russell,肯定咱们是否符合要求,并告诉他们咱们目前还缺 mentor ,当时参会的 Justin Mclean 就说,‘我来当大家 mentor 吧’。这样咱们就找到了全部 champion 和 mentor ”,王院生回忆。

“多去参加 Apache 的线下交流会是个好主意”,王院生认为,进入 ASF 孵化,除了须要本身要先认同 Apache 文化,还要与“圈内好友”多些互动,增长面对面的沟通弥补线上获取信息不足,防止本身对 Apache 文化理解有误差。

除了线下方式,也能够经过更 Apache 的方式——主动在邮件列表为你的项目征求 mentor ,寻求孵化机会。

谈及 APISIX 的迅速孵化和发展,王院生透露,它的快速起步与以前一直作社区有关系,之前工做中积累的人气和经验直接推进 APISIX 成长,有些方法被证实很是高效:

  • 线上+线下:二者要相结合,相互弥补。
  • 寻找和本身比较 match 的社区,作适当宣传:这里不能太直,推荐知识分享的方式。
  • 有意识培养新人:新建一些比较简单的 issue ,专门给想贡献的同窗作开始。
  • 招募学习班:每次手把手培养新同窗,一对一的协助他们完成第一个 PR 提交,从而逐步开始能为项目作贡献。
  • 避免私聊:引导你们到邮件列表或者仓库 issue 交流,知识须要沉淀、广播,对于某些特别有意义的话题,更是如此。
  • 开源做品为了保持活跃度,须要有阶段性的产出,好比支持某重要功能、引入新概念等。要一直勾着开源用户的心,这些想法可能来自社区,也多是社区委员会的不按期聚会。
  • 此外一些个性有趣的用户使用过程、疑难杂症排除过程等,均可以记录下来给分享给社区。和你们一块儿学习一些问题排除方法,以及开源背后的故事。

用开源的方式让初创公司收获付费用户

APISIX 项目还有一个特色是,它是由初创公司的主要负责人开发并快速捐赠的。事实上,虽然开源做品不能为企业带来可预见的销售收入,可是可能将企业的技术服务能力转化成营收驱动力。

“对于咱们这种小型初创类型公司,有一个开源身份和业内极致的网关做品,相反是更容易让更多用户知道咱们,并导向成付费用户”,在关于商业化与开源的选择上,王院生认为,开源更注重长远效益。

目前基于 APISIX 的企业版开始对外试用,收费模式主要是根据 API 请求数量计费。王院生说,“因为 toB 的模式起步不会太快,短时间内更看重高业务价值的客户来打磨产品,并努力把 APISIX 培养成被普遍使用、流行且好用的开源 API 网关。” 

固然,APISIX 开源首先是做为开发者的我的的决定。王院生和温铭从2015年开始,就和开源文化、社区有了比较多的接触,也在社区交流中飞速成长。从新实现 APISIX ,并捐赠给 ASF,除了对已有网关的扩展性、性能等不满意外,也是但愿把多年积累沉淀出的产品共享。

去年7月,APISIX 被归入 CNCF 全景图,但 APISIX 并无顺势进入 CNCF 孵化,“ASF 更加田园、理想,对我的开发者友好,有明确的 committer、contributor、PMC 精英管理机制”,王院生解释,他们是有些理想主义的创业青年,想为这个社会、广大程序员作点有价值的东西,因此从一开始就肯定选择 ASF。

如今,APISIX 已经正式成为 ASF 顶级项目,能够预见,将会有更多开发者加入项目的维护,咱们也期待 APISIX 的开源生态更加完善。

嘉宾介绍

王院生,深圳支流科技联合创始人,开源布道者,比较忠爱对性能、流量要求比较高的流量管理类方向。

原文连接地址:https://developer.baidu.com/topic/show/291093

相关文章
相关标签/搜索