华为王泽锋:协作创新、开源的魅力所在

受访者:王泽锋(Kevin Wang),华为云云原生开源负责人,CNCF大使,CNCF技术监督委员会贡献者,Kubernetes资深维护者,KubeEdge、Volcano、Karmada等多个CNCF项目发起人,目前负责华为云在云原生开源社区的整体工作,对Kubernetes及云原生技术有深入的见解。

如果脱离了社区,只有一份公开的代码,这样的项目是没有生命力的。——王泽锋

开源究竟有着怎样的魅力?很多开源的从业者都会有自己的解读。当这个问题摆在王泽锋面前,他的回答令人深感信服。 

初见王泽锋,人们很难将他的形象与那一连串头衔联系在一起。作为华为云原生开源团队负责人、KubeEdge[1]、Volcano[2]和Karmada[3]等项目联合创始人、CNCF社区官方大使,王泽锋可谓开源技术领域的“大神”级人物。在深入交流后,他给人留下的印象却更多是一位喜欢音乐、爬山和养鱼,同时对开源文化与技术充满热情的邻家大哥;而谈起自己的成就却是云淡风轻。 

其实,王泽锋主导发起的KubeEdge项目应用在日常生活中可谓“随处可见”。 

2020年,当全国范围内的高速公路收费站准备开始全面推行ETC收费模式时,一个前所未有的IT技术难题摆在了中国高速路网系统面前。公路网络需要在各个省市自治区部署总计约10万台门架系统和相应的控制器与边缘终端,部署运行超过50万个应用,通过收费专网向各省和路网中心上传数据,这放眼全球都是前所未有的大规模边缘设备部署和管理需求。面对这一重大技术挑战,经过仔细的调研和评估,项目方最终选择了面向边缘计算场景,专为云边协同设计的KubeEdge开源项目。

KubeEdge在ETC系统中帮助管理总计约100,000个边缘节点和500,000个边缘应用程序,每天处理超过3亿条数据,将收费站的交通效率提高了10倍,人们的高速出行由此变得更为便捷。

▲KubeEdge边缘计算项目在高速ETC的应用

 除了高速公路ETC收费网络这一大规模实践应用外, 在智慧航天领域,2021年首颗搭载基于KubeEdge云原生边缘计算的“天算星座”计算平台[4]的试验卫星在轨稳定运行,KubeEdge帮助商业卫星上的边缘计算设备实现在轨图片分析,甚至进行本地化AI模型训练和算法改进,从而挑选出有价值的卫星图片向地面传输,节约宝贵的天地连接带宽;中海油使用KubeEdge为大型海上智能油田赋能,构建“海陆协同”新范式;上汽集团智能汽车成功搭载KubeEdge进入智能汽车领域,给人们带来了更多智能行车体验;顺丰科技结合KubeEdge构建物料和供应链领域泛生产要素物联网技术应用,让物流更为智能和便民…… 

▲北京邮电大学将KubeEdge集成至卫星计算平台,使得卫星在太空中首次可同时调用边缘和中心云的资源并具备AI能力和多任务处理能力

 时至今日,KubeEdge在交通、能源、通信、金融、工业制造、CDN、智慧园区等各行各业已经有了更加深广的应用和普惠价值。  

回顾KubeEdge的发展历程,王泽锋印象最深刻的,是自己亲手创建的开源项目成功解决了现实中业界重大课题后的喜悦心情。当项目的意义从初期的“与人分享代码”,逐渐走到“与他人共同推动世界向前进步”,每一位从业者都能发自心底感受到开源的巨大魅力。 

能收获这样的感受,王泽锋付出了很多。

开拓国内Kubernetes开源生态

2014的云原生技术圈,正处于容器编排技术蓬勃发展的关键期。彼时的Kubernetes刚刚开源不久,得益于Google Borg系统的优良基因,凭借灵活的架构、声明式API等先进的理念,受到了华为容器团队的青睐,并将其集成到PaaS平台中。 

在帮助客户进行平台迁移的过程中,王泽锋识别到许多Kubernetes的能力不足,包括复杂应用编排调度、故障迁移策略、网络多平面隔离、大规模下的service性能等。基于Upstream first的理念,王泽锋开始到Kubernetes上游社区贡献,也因此开始了他的开源旅程。 

2015年,王泽锋成为了国内最早的Kubernetes maintainer之一。2015-2018年期间,王泽锋主导了Kubernetes社区的多个关键特性和子项目的设计研发工作,包括: 

· nodeAffinity – 应用多区域高可用的节点亲和性

· podAffinity – Pod间亲和性调度特性

· taint-toleration – 应用故障迁移特性

· IPVS-proxy – 大规模场景下海量微服务支持特性· Kubernetes Federation – 集群联邦子项目(即后来的Kubefed)

· Poseidon – 调度子项目

· cluster-api-provider-openstack – 集群部署子项目 

这些改进不仅得到了社区的积极回应,并且在社区完成开发后被大量企业用户在生产环境中广泛使用,业务价值显著。 

在此过程中,华为公司在Kubernetes社区中的影响力与日俱增。随着Kubernetes成为云原生产业的事实标准之一,王泽锋与华为公司的成果让更多同行看到了深度参与开源事业的意义和价值。中国企业选择及早参与创新开源项目的行为,让中国开源贡献者在国际上的影响力大大增加。与“搭便车”的做法相比,坚持回馈上游社区无疑更有长远价值。 

而回到起点,提及为什么会选择探索和开拓这条充满挑战的路线,这要从早期国内外的开源环境说起。过去,国内软件行业对国际开源项目的态度更多是学习借鉴或者直接使用,与上游社区的互动和回馈较少,这种策略更适合于成熟的技术和项目,可以摘取现成的果实,这样的氛围似乎很适合早期的国内市场需求,因此很少有人反其道而行之;但对于处在早期或者快速发展中的项目并不能带来多少帮助,从长远看并不是可持续的健康生态。 

凭借敏锐的洞察力,王泽锋很早就意识到Kubernetes对云原生产业的重大意义。他知道,在开源社区的促进下,Kubernetes很快会成为云原生技术领域的关键底层支撑。但如果只是一味等待项目成熟坐享其成,是难以在Kubernetes未来的发展道路上取得话语权。为了长期共同发展,必须深入参与社区建设中。 

王泽锋开始参与Kubernetes开源社区的贡献工作后,对开源世界的生态环境有了愈加深刻的认识:参与开源贡献不仅是单纯的付出,而是一种互利共赢的良性生态行为。基于这种认识,王泽锋在华为内部组建了专门的开源工作团队,成为Kubernetes开源社区在国内的第一批企业化贡献力量之一。 

以开源成果创造社会价值

把项目代码放到公开仓库,就是开源了吗?王泽锋显然不这么认为。 

在Kubernetes社区中逐渐积累起影响力后,王泽锋将目标转向了更广泛行业场景应用实践。2018 年,在帮助客户于边缘构建商业应用的过程中,王泽锋与同事联合创立了KubeEdge开源项目,并捐赠到CNCF基金会遵循开放社区的治理模式。

KubeEdge也因此成为CNCF第一个将云原生技术应用到边缘计算的开源项目。KubeEdge的宗旨是结合云原生技术与边缘计算理念,帮助工业互联网、IoT、智慧交通、智慧能源等行业享受到云原生繁荣生态的种种好处,以及开源社区带来的各种便利。 

在KubeEdge项目外,王泽锋还发起了Volcano和Karmada两个云原生开源项目,分别用于AI、大数据、高性能计算的基础设施管理需求,以及大规模云原生集群的多云编排需求。如今,Volcano已经在很多互联网、金融、科研机构的数据分析场景中发光发热,Karmada也得到了越来越多海内外企业的关注和应用。 

与此同时,这些开源项目的社会成果也让项目本身得到了开源社区的更多关注。越来越多企业与技术人参与到了项目的后续发展中,生产实践与社区贡献共同为项目提供动力,形成了一种充满活力的良性循环。 

开源社区需要建立良性循环

问渠那得清如许,为有源头活水来。

如果把开源项目比作一个个池塘,来自社区的贡献就像源头的活水,而池塘中养育的水草游鱼则是从项目中受益的各利益方。一如池塘的生态环境一样,开源社区也需要建立同样的良性循环。 

王泽锋非常明白这个道理。在开源行业倾注热情的这些年,他一直在努力推动社区建立这样的氛围和生态体系。 

KubeEdge项目诞生之前,边缘计算产业的软件标准化程度还比较低下。很多终端用户受困于厂商和许可证绑定的问题,需要支付高额授权费用才能完成生产线智能化、创新应用开发等目标;如果技术更新换代,前期投入就会变成高昂的沉没成本。这一现状无疑是不利于大环境的创新步伐的。 

回顾当时的探索道路,王泽锋这样总结: 

我们希望能够复现云原生早期发展的状态,让所有用户都能享受到开源的便利性。我们希望大家可以无门槛获取最前沿技术,在自己的环境中尝试各种各样的业务创新。另一方面,我们也希望凝聚业界最强的力量,大家一起来推动整个行业的创新和迭代进步。在未来,等到市场空间足够大,足够标准化之后,我们相信所有的商业公司都可以有平等的商业变现机遇。 

正是在这样的理念推动下,华为云先后将KubeEdge、Volcano和Karmada三大项目开源,填补了云原生技术在相关领域的技术空白。而社区的开放性也大大提升了这几个项目本身的活跃度,很多企业开始将它们用于生产环境,反过来也不断向社区回馈贡献。随着越来越多的商用落地案例涌现出来,越来越多的企业通过这些项目取得了业务成功。例如,德国某地轨道交通系统的设施管理、某初创企业的云机器人平台、中海油的油田设施智能化等众多行业项目对KubeEdge的选用, Volcano在中科类脑OS[5]、锐天离线计算集群[6]、小红书大规模机器学习平台[7]等案例中的功能体现,Karmada在VIPKID容器体系设计[8]、艾莫尔人工智能研究院[9]等企业、项目中的落地。

 ▲中海油在智能油田建设项目中部署智能边缘计算平台 图/央视新闻客户端 

这些实践案例充分印证了开源的一大魅力,就是很多用户可以使用开源项目进行自助技术可行性验证。开源社区每天都在发生着各种令人意想不到的行业实验和落地创新过程,这是开源事业最激动人心的画面,也是让更多潜在用户相信社区的开放与包容,相信自身可以平等地参与制定社区的发展路线的力量所在。社区和用户的双向奔赴,才能真正激发社区生态的原生活力。  

最终,王泽锋为他的池塘找到了那一汪活水。

对开源事业充满热情

在早期参与Kubernetes社区建设的过程中,王泽锋有机会与当时谷歌公司一位首席架构师——Kubernetes社区最资深的技术领袖——Brian Grant坐下来一同探讨技术方案,交流各自的技术见解。 

令他印象深刻的是,Brian Grant作为功成名就的行业前辈,依旧对技术充满热情,对热心开源事业的后辈满怀耐心和期待。 

王泽锋相信,这样的热情才是开源事业得以持续前进,不断为社会创造价值的动力源泉。而他自己,也秉承这一理念,以饱满的精气神不断努力直到今天。如今,很多开源社区活动都能看到王泽锋的身影,在演讲布道之余他总是会热情解答与会者的问题,帮助开源新人了解社区的工作模式、项目的技术理念,并更快找到问题的解决方案。在王泽锋的引领下,20多位来自各个组织的开发者,在CNCF的众多项目中,成长为业务骨干、核心开发者,这是一种技术分享,更是一种开源精神传承,个人贡献不可估量[10]。 

而这些优质的项目领导者,如今也正在各个领域发挥领导作用。技术到生产,在业务的深入落实和企业服务层面,王泽锋参与发起的云原生交流平台“创原会” [11] 企业会员已经覆盖各行各业关键领域,通过探索前沿云原生技术,共享产业落地实践,共创云原生与业务融合的无限可能。 

开源是来自时代的声音, 在开源布道这条道路上,王泽锋也从未停歇。 

2018 年,王泽锋发起了“Cloud Native Days China”系列Meetup和“Cloud Native Lives”系列网络研讨会,为开发者们搭建更加多元的交流平台。值得一提的是,这类活动会特别注意覆盖到很多二三线城市,帮助那里的开发者了解学习前沿技术。 

2020 年疫情爆发后,中国KubeCon大会被迫取消,给整个云原生开源社区带来重大损失。为此,王泽锋牵头联系国内的开源爱好者与CNCF共同组织了Cloud Native + Open Source Virtual Summit 2020,以线上会议的形式吸引了大批技术人参会交流,有效弥补了KubeCon暂停的缺憾。 

2021年,王泽锋作为CNCF大使与社区的成员一起首次将Kubernetes Community Days(KCD)[12]引入国内,促进云原生技术在不同行业的最终用户进行更广泛的传播。

▲开源活动中的王泽锋。2018年起,持续开展系列线上/线下峰会、活动、课程,线下足迹遍及北京、上海、广州、深圳、厦门、成都、武汉、南京、重庆及其它城市 

 

与此同时,王泽锋还非常重视对开源新人的培养。过去,高校学生主要通过课堂学习来了解计算机技术、接触编程语言等等;而今天,随着开源社区的活跃壮大,高校学生拥有了更多机会去参与开源社区的各种活动,与社区一同成长,甚至直接参与前沿项目的开发,将这种活动作为课业学习的补充,在作出技术贡献的同时,参与者也能够快速熟悉社区协作机制、了解前沿技术理念,在短时间内提升自身的技术能力。 

系列活动的发起,正是王泽锋对开源布道的一份坚持。目前“Cloud Native Days China”系列meetup、“Cloud Native Lives”、KubeEdge Summit等业内活动,已经影响了超过一百万开发者关注、学习、运用云原生技术。他坚信,开源是实践出真知的世界,亲身参与体验的重要性远远大于枯燥的理论宣讲。 

越来越多的开源新人正在跟随王泽锋的脚步,怀揣着梦想投入开源事业。先行者的开拓让他们看到了技术与热情对社区的重要性,也让他们逐渐领略到了开源事业的价值。 

开源最令人激动的地方就在于可以汇聚全球最顶尖的开发者一起在开源社区去解决难题,围绕未知的领域探索、进步。 每一位技术人都有着通过技术改变世界的伟大理想,而开源社区充满热情的氛围让无数像王泽锋一样的技术人找到了实现理想的路径,让分散在全球各地的知己同行能够共同为社会创造前所未有的成果与创新。 

这,就是开源的魅力所在。