她,从种蘑菇卖煤球,到写代码做云原生( 三 )


研发如何成为企业长板?拥抱云原生
最近,CSDN 的蒋涛对话阿里云时,提到云原生的崛起:“CNCF 项目已经覆盖软件开发生命周期的方方面面,且每个领域都逐渐形成标准和规范,开发者基于开源可快速搭建一套新的技术体系,所以这是开发者最好的时代,开发者要全力拥抱云原生、开源、云计算,才能更大释放生产力” 。
什么是云时代软件开发的关键点?
我虽然不是一路做一线研发走来的,但是经历过硅谷整个互联网领域 20 多年的变化,我是这么理解软件开发的变迁的:云的成熟和开源工具的普及,导致软件开发的方式在变,以前一个软件产品是由一堆功能代码组成的单体应用,高度依赖服务器资源(比如在本地机器、虚拟机);现在呢,业务的复杂性让这个软件产品变得越来越庞大,需要更多工程师协作开发,于是一个大模块被拆成多个,每人负责一小块;这种并行独立开发方式优势明显,但问题也不少:当一个人开发完毕,他需要和其他人写的模块合并后验证是否运行正确;这个合并起来的版本,包含一堆东西,诸如业务代码、配置、各种库、依赖关系等等:我们统称它为「环境」,每个人的目标是验证各自代码在「环境」中是否能运行正确 。可想而知,当所有的模块都在更新验证过程中,要保持「环境」的一致就变得很必要,但它有点难 。事实上,根据我们团队这些年在一线的经验,拉起一致的测试环境的能力是让大多数企业头痛的难题;没有环境,大家只能各显神通,在旧的工具体系上造各种轮子;这种工作占掉研发的近一半时间,很多公司「写代码 5 分钟,发布 2 小时」,测试依赖手工,效率质量低下;因为问题多,造成运维复杂、发布效率也低 。「环境」能力的缺失导致整个团队没有足够的时间去做真正的业务研发和技术创新,已经不适应云的时代 。
那云时代的软件开发,究竟如何去解决这些问题?
Zadig 给云时代的软件开发带来新方式
老牌的工具像和新兴的开源工具 /Argo 等在脚本维护,二次开发,测试管理上学习成本相对较高,没有一定经验的团队很难应对 。Zadig 则简单很多 。基于云原生技术,无需研发人员理解 CI/CD 的概念或者进行任何二次开发,Zadig 可以轻松拉起一致性的测试环境和自动化的工作流程,环境的一致则可以轻松挂接各种测试,回归测试通过,直接就能把基于多模块微服务的软件产品交付出去 。就算当下使用 /单体应用,Zadig 同样兼容一键集成、一样不复杂 。Zadig 可以让代码验证和交付更丝滑 。
Zadig 为什么开源
通过在包括头条、七牛云、腾讯、非码等企业的上千次迭代,今天的 Zadig 已经成为微服务 + K8s 技术栈团队的最佳研发交付方案,帮助企业变云原生为生产力 。
软件本身并不值钱,Zadig 是群体的智慧,开源是为了让更多人参与进来,加速产品迭代,让更多的工程师享受写代码的快乐,不再为上线所需的基建浪费时间一遍遍再造轮子;让研发成为企业数字化的核心引擎,让软件能力成为企业的长板 。
开源进展(到 2021 年 6 月 20)
对于开源的节奏,我们还比较保守,在公众号发了一篇文章就悄悄宣布开源了,在此非常感谢使用者及朋友们的转发和关注,引来第一波用户反馈 。从数据上看,开源三周来,Stars 211,Fork 51,这个数字不多,在意料之中 。不过开发者使用的兴趣度令人振奋,近 400 个有效安装,近 101 个进入系统尝试使用 。同时也吸引了来自大厂以及各个行业的技术专家同学在 Slack、 Issue、微信吐槽群中参与架构以及技术细节的讨论 。