2022年2月23日,CSDN《新程序员》特别策划的新栏目——“新程序员和TA的朋友们”系列直播对话第四期邀请到了《新程序员》003期《API-现代软件基石与数字世界的连接者》的作者温铭,和大家聊一聊开发范式大转移。作为开发者如何把握技术脉络?温铭老师从API和容器技术、云原生、开源三方面提出了自己的见解并针对初级开发者给出了自己的成长建议。
温铭,API7.ai 联合创始人兼CEO,Apache APISIX PMC主席,Apache 软件基金会成员
云原生带来开发范式变化
新程序员:云原生技术的快速发展已经逐渐将整个开发过程、开发流程带入云端,未来,开发者的代码调用等服务都将被“云化”,开发者身在其中,将迎来怎样的机会?需要在哪些方面学习提升自己,才能抓住难得的发展机遇?
温铭:对于开发者和创业公司都是一个非常好的机会。因为不用再去关心基础设施的运维和它的一些高可用,只需要像搭积木一样把这些基础设施拼装起来,然后把重心用到打磨产品上。这能让你的产品快速达成一个可用状态,对于很多的创业公司和开发者来说是非常好的。不用花很长的时间,就可以做一个产品的MVP版本出来,然后让用户去反馈、迭代。
新程序员:那是不是也就会意味着开发者在这里面的重要性会弱化?
温铭:对于一些初级的开发者或者没有积累太多经验的开发者来说,这种云上的东西会逐渐的把他们给替代掉。但是有经验的开发者,还是每一个公司都希望招聘的人才。云只是帮你去提升了开发效率,但是你这个产品究竟能不能去满足用户的需求,你的代码、写的应用是不是真的能够解决用户的痛点,云上的基础设施其实是很难帮你做到。
新程序员:作为开发者需要在哪些方面进行提升?
温铭:第一个方面就是技术的深度和广度。例如作为DBA,以前可能更关注系统的高可用、数据库备份之类的东西,但是放到云上之后,这些东西通过云上的一些配置就可以自动完成了。那么DBA可能就应该更关注性能的调优、数据库的安全等方面。对于普通的开发者来说,你就要花更多的时间去研究怎么设计缓存、怎么设计算法,让代码运行得更快。所以需要开发者把代码本身钻得更深一些。
云原生,路在何方
新程序员:在您看来,云原生技术未来的发展方向是什么?
温铭:我觉得云原生其实是刚刚开始,虽然现在大家都在聊云原生,但是从原生概念诞生到落地,也就是最近几年的时间。就算现在大家都喊着要上云,其实真正上了云的公司的比例也是比较低的;而且就算上了云,很多中国的公司其实还是一个混合云的架构,也就是说,一部分的业务先上云,其他很多的业务还是在自己的私有云,甚至完全的把公有云搬到自己的私有机房这种形式的上云,这并不是真正意义上的公有云。
对于云原生来说,很长一段时间内还要在多云混合云的情况下,考虑如何保证业务的连续性和自身安全,以及后续如何把很核心的业务和数据搬到云上面去。我觉得还有非常多技术上和非技术上的挑战,甚至是法律层面都需要我们去考虑。
所以我认为云原生不是一阵风一样的技术,过两年就没有了,云原生会影响未来至少10年的技术走向。基于发展方向,我觉得大家可以更多的关注云原生上一些比较流行的开源项目,虽然公有云本身是不开源的,但是整个CNCF里一些基石类的项目全都是开源项目,这和以前我们用 Windows或者是Oracle的时代是完全不一样的。可以认为在云原生的整个时代里面,开源项目是基石。所以我认为对于开发者来说,我们应该更关注现在有没有一些好玩的项目,这些项目能不能帮助我们更好地完成我们的业务。
新程序员:您觉得未来很多公司都会上云,那上云能解决他们什么样的业务问题?
温铭:我觉得第一个就是成本的问题。以前大家不愿意上云,是因为自己有研发,可以去搭一套自己的架构。但是现在中国工程师越来越贵,人力成本在逐渐上升,这个时候不如去上云,云上的基础设施也能给我们提供这种服务。
第二个是业务快速发展的问题。比如说有一个上线的线上服务,有时候它的流量很大,我需要去弹性扩容缩容,如果没有上云,其实是很难弹性扩缩容去满足你业务本身需求的。
第三个我认为可能会有安全方面的考虑。虽然中国的公司觉得在私有云里面更安全,但是大量事实证明很多的泄露都是从内部开始的,所以公有云的安全级别其实会比自己搭建私有云更高,而且随着中国的各种隐私数据保护法在2021年开始落地,很多的公司也会出于安全考虑,把自己的数据放到一个更合规、更安全、有专业安全团队的云厂商去服务。
开源与商业化的平衡
新程序员:从APISIX到现在API7,这个过程阶段中有一些什么样的变化?
温铭:APISIX是Apache软件基金会的顶级项目,和有些项目不同的是,APISIX是我们公司捐献给Apache软件基金会的,所以我们最终还是为了实现商业公司的利益,会作为APISIX的原厂去提供一些支持商业化的产品。
这种形式在中国会越来越多,因为工程师其实不仅可以通过自己的代码去找一份工作,也是有机会去写一些世界级的开源项目,或者开一家全球化的公司去实现一个更大的梦想。这个其实是我们去捐赠APISIX和创办商业公司的一个原因。
新程序员:那您认为开源和商业化之间的关系是怎样的?
温铭:我觉得开源和商业化其实并没有一个很直接的关系,并不是不开源就很难商业化或者开源项目就一定能做好商业化,其实是并没有必然联系的。有一些开源项目的商业公司其实也没有做成功,比如说像Docker。所以我们需要更理性的去看开源,开源其实是能够帮助一个项目更快地去触达通过商业公司触达不到的用户,能够让你的项目更快地向前迭代。
关于商业化,其实我们从来不会羞于谈商业化,因为作为一家商业公司来说,赚钱就是利益的驱动点。很多的开源商业化的公司,开源的项目推出,最终的目的就是希望能够从开源的企业里面去做一些付费转换的。付费转换就算是1%或者2%,只要开源用户基数足够大也会有非常多的用户转成付费用户,那么我们也能够从中通过开源用户对开源社区的贡献,最终达到商业公司去赚钱,然后把这些利益又分给开源的贡献者,我觉得这其实是很良性的循环。
我们需要找到怎么从开源变成一个商业付费的点,而且要平衡好,才有可能把一个开源商业化公司做起来。这个挑战很大,因为大部分开源项目的作者都是工程师,工程师做商业化,其实并不会那么容易。很多开源项目需要商业化的时候,其实是在外面找了一个有商业敏感度的人来当CEO,或者是找这样一些合作伙伴来。要把工程师的思维转变成商业思维,其实对于很多的工程师来说挑战还是蛮大的,因此我们需要更多的是在于思考问题的角度,怎么把个人的成就感,从代码转移到创业。
新程序员:国内开源存在的普遍问题是什么?
温铭:我觉得对于开源商业化公司来说,中国其实是一个很好的成长的土壤,但并不是一个很好的商业化的土壤。我觉得这会是中国开源商业化公司面临的一个问题,我能在中国收获非常多开源的用户,但是并不能收获太多付费用户。这其实是有多个原因的,第一个原因是中国并没有很强的为服务或者是一个看不见的基础软件付费的意愿。
中国的很多企业更愿意为一台硬件设备来付费,或者更愿意为一个能够坐在我公司里面给我写代码的外包人员来付费,但是他不愿意为一个看不到的虚拟的基础软件来付费,我觉得这是一个观念上的问题。我觉得这应该是中国所有的开源商业化公司面临的同样问题,而且这个问题是靠自己的努力很难去解决的。这可能需要很多人很长时间的努力才行,就像现在大家逐渐习惯去电影院看电影一样,它需要一个时间和观念的转换。
新程序员:国内开源发展的问题对云原生技术发展将产生了哪些影响?
温铭:我们经常会问到一个问题,为什么一些关键的、基础的技术往往掌握在外国的工程公司手里?其实面临这类问题的不只是基础软件的问题。我觉得一个好的解决方案就是,中国需要有更多全球化视野的创业者,我们应该在第一天就把自己定位成一个全球化公司。这也需要有更多这样的工程师、投资人或者媒体,能够更多的去关注中国正在做一些非常好的基础软件硬件的创业公司,然后一起去打造这样一个更好的环境。
API7:未来展望
新程序员:API7在之后会有一些什么样的计划可以跟大家分享?
温铭:其实对我们最大的一个计划就是全球化。因为我们在中国已经有非常多非常好的标杆用户。对于infrastructure这种基础软件来说,它是没有语言、没有文化、没有国别差异的,能够满足中国企业用户的需求,也可以满足海外用户的需求。所以全球化会是我们未来几年最重要的一个事情,我们会把APISIX让更多海外的工程师和公司知道、使用。同时我们也在做我们的云产品,然后在海外我们也会有更多的付费用户,最终它就能够形成一个良性的循环。
《新程序员001-004》全面上市,对话世界级大师,报道中国IT行业创新创造
《新程序员003》聚焦“云原生时代的开发者”与“全面数字化转型”两大主题,点击订阅《新程序员003》纸质书+电子书