她,从种蘑菇卖煤球,到开源 Zadig

原创
2021/06/29 11:55
阅读数 3.3K
AI总结

2021 年 5 月,我们开源了。Zadig 是国内不断涌现的新业务模式催生出的一款云原生软件交付产品。成立于 2019 年初,创始人没有显赫背景,研发由女性软件工程师主导,我们这个只有 10 来人的云原生创业团队,究竟凭的是什么,能在一分钱没融的情况下,让头条、腾讯、七牛云、华为等这些一线大厂真金白银购买产品和服务,进而吸引到来自经纬熊飞、盈动大象这样的资深投资人,在短短 1 个月内,连续融资两轮共数千万元人民币,人均估值上千万?

没融一分钱,用两年时间只做了一件事

几周前陶建辉老师的「人均估值 5000 万,53 岁程序员能做到的,你也能!」一文刷屏了,和人均 5000 万相比,我们还差的很远。KodeRover 创始团队没有显赫背景,创业初始,没钱没人。即便今天,我们也清楚地认识到,Zadig 是集体智慧的结晶,是字节、腾讯、七牛、非码等公司贡献的复杂业务场景,是 TGO 组织提供了技术人社交的平台,是和我们对接的工程师小伙伴们的孜孜不倦,造就了 Zadig MVP,扛住了大企业工程师用户的场景压力,赢得了大企业的信赖。

其实,我们用两年的时间只做了一件事:拿到云原生领域的入场券!

# 从种蘑菇卖煤球,到写代码做云原生

我的合伙人,KodeRover 创始人 CEO Landy 是个 90 后女孩,出生河南农村,从小经历“面朝黄土,背朝天”的农间劳作,让她 10 岁前就尝过人工种植培育采摘蘑菇,跟着父亲卖种子卖煤球,也造就了她正直、沉稳、实干的性格。靠着勤奋,Landy 20 岁大学毕业后,一头钻入软件开发,从初生牛犊辗转外企、放弃大厂机会寻求自己的兴趣,到加入别样红做国内第一代 SaaS,再到师从 Golang 大神许式伟入职七牛云,她这一干就是 10 年,积累的大量的一手工程经验,一路走来经历国内互联网的风起云涌,锻炼出她极强的专业能力。

另一位创始人就是我,Grant,是个 80 前,从小在部队大院长大,90 年代中去美国留学,认识 Landy 前已经在硅谷学习生活 20 多年,从 2000 年初校外实习期间,亲身经历过第一次互联网泡沫破灭,到 2001 年在当时的泡沫的幸存者,只有 200 人、一栋楼的 Google 工作,到后来经历过 Web 2.0、搜索引擎、运动电商、视频网站、MarTech SaaS 等五次创业的起起伏伏。2017 年底结识 Landy, 我立刻被她不寻常的经历打动,一起创业做点什么变成了我整天思考的问题。

从研发被业务吊打,到变成老板认同的价值金主

在硅谷,我有不少四十多岁的工程师朋友,至今仍在 Facebook、Google 承担一线研发主力开心的写代码。不奇怪硅谷软件工程师平均年龄都 40 了!而国内,工程师平均年龄远远低于 30 岁。刚回国时,我试着去理解国内已经焦虑的 30 岁的年轻人。如果大家都认同「软件吞噬一切」的未来(Marc Andreessen 早在 2011 年就提出),为什么软件工程师这个高智商群体,还要吭哧吭哧地向老板证明价值?回望 2018 年,当时 Landy 和我隔空讨论,硅谷和国内工程师的心态的巨大差异,工程师在企业内部的角色是我们经常讨论的话题。

硅谷:研发是爸爸,女程序员占 25%,程序员群体平均年龄近 40!

在硅谷,进入 21 世纪后,以开源 LAMP (Linux/Apache/Mysql/Php) 为代表的软件栈催生了博客 CMS、电子邮件、社交和成熟的支付软件的崛起,加速各行业的线上化,独立网站、电商、和各类的 SaaS 产品百家争鸣,随着 AWS 的普及,Docker 和 Kubernetes 的异军突起,微服务化开发的逐步采用,大家发现,软件开发从写代码,到代码上线被用户使用这个过程,变得越来越难。于是,除了大厂外,很多帮助提升软件交付效率和质量的独立厂商出现,后续发展成为 CI/CD,Infra as code, GitOps 玩家。从业务开发到基础软件,研发工程师成为所有数字化企业中的最高价值人群,毫无疑问的“爸爸”。

研发这个高智商人群,在国内很多企业绝对不是爸爸

相比硅谷,国内的互联网化更加迅猛,场景也更加复杂多样,一方面大体量业务场景更多更碎片化;然而,国内早期的软件领域起步晚,且长期基于闭源体系,缺乏开源开放文化,开发工具和方式都很老旧,效率低下,即便在一线大厂,常听工程师抱怨「写代码 5 分钟,发布 2 小时」。适合于硅谷相对单一场景的硅谷技术,并不能在国内企业简单地套用。几个因素叠加,导致国内企业开发迭代压力极大,老板和业务都在向研发要生产力;996、大小周盛行,大厂工程师晚上 11 点以后下班比比皆是。

我们创业,能为工程师做些什么?

成立 KodeRover 前,Landy 还在七牛负责 6 大云产品的稳定性和质量,微服务体量大、复杂性高,无论硅谷还是国内的工具,即便玩出花来,都搞不定开发测试所需的环境一致性问题。为了交付客户,工程师们加班调试,上门调试,甚是疲惫。彼时,Kubernetes 正迅速崛起,Landy 开始研究如何利用 Kubernetes 的能力提高微服务验证效率,实现代码的持续集成、持续交付。经过各种尝试,小试牛刀后效果非常好,工程师们逐渐从重复搭建验证代码所需的基建中解放出来。后来,当这些曾共事过的工程师们再见到 Landy 时还会调侃道:「没有倩姐的保护,我们研发,经常感觉在裸奔」。

 

白手起家,如何让头条、腾讯大厂买单?

To B 创业,没融一分钱,可能吗?

虽然这两年我们的最主要客户是头条、腾讯、七牛这样的头部大厂,但回想起来,我们并不是有意识地、一股脑地只想着和巨头谈合作,当时的想法更多的是先活下来:基本是哪家给钱,我们服务哪家。幸运的是,Landy 过去 10 年在国内云计算厂商、尤其是在七牛的耕耘为她在业界赢得了良好的口碑。用她的话说就是:「真枪实弹,先搞定内部」。只有真正做出点成绩获得内部认同之后,才有资本向外延展,到时候外部自然有人想和你交流,而机会就此而生。

我们的大多数早期客户,都是因为业务线的快速发展导致他们对外寻求帮助,找到在创业的我们,展开对话,挖掘合作方式。本文不讲案例细节,但是值得一提的是,虽然我们产品创业,但为了生存,一开始更多的是以咨询切入,帮助客户发现问题,这比一开始就硬上产品,企业更容易接受。比如,当时字节跳动的飞书产品即将问世,工程师团队迭代压力很大,当我们发现集成测试环境不稳定的痛点后,正好是 Zadig 擅长的痛点之一,立刻提出用 Zadig 进行 POC(Proof of Concept),几天时间 SRE 工程师将其关键服务成功部署并跑通到 Zadig 系统,在飞书研发人员几乎毫无感知的情况下,为其提供稳定的集成测试环境,提升迭代效率和质量,加速上线;在成为其正式供应商后,Zadig 团队积极响应飞书需求,3 个月内密集迭代近 70 个版本,在服务了飞书的同时,极大地提升了 Zadig 产品的性能。

# 研发如何成为企业长板?拥抱云原生

最近,CSDN 的蒋涛对话阿里云时,提到云原生的崛起:「CNCF 项目已经覆盖软件开发生命周期的方方面面,且每个领域都逐渐形成标准和规范,开发者基于开源可快速搭建一套新的技术体系,所以这是开发者最好的时代,开发者要全力拥抱云原生、开源、云计算,才能更大释放生产力」。

# 什么是云时代软件开发的关键点?

我虽然不是一路做一线研发走来的,但是经历过硅谷整个互联网领域 20 多年的变化,我是这么理解软件开发的变迁的:云的成熟和开源工具的普及,导致软件开发的方式在变,以前一个软件产品是由一堆功能代码组成的单体应用,高度依赖服务器资源(比如在本地机器、虚拟机);现在呢,业务的复杂性让这个软件产品变得越来越庞大,需要更多工程师协作开发,于是一个大模块被拆成多个,每人负责一小块;这种并行独立开发方式优势明显,但问题也不少:当一个人开发完毕,他需要和其他人写的模块合并后验证是否运行正确;这个合并起来的版本,包含一堆东西,诸如业务代码、配置、各种库、依赖关系等等:我们统称它为「环境」,每个人的目标是验证各自代码在「环境」中是否能运行正确。可想而知,当所有的模块都在更新验证过程中,要保持「环境」的一致就变得很必要,但它有点难。

事实上,根据我们团队这些年在一线的经验,拉起一致的测试环境的能力是让大多数企业头痛的难题;没有环境,大家只能各显神通,在旧的工具体系上造各种轮子;这种工作占掉研发的近一半时间,很多公司「写代码 5 分钟,发布 2 小时」,测试依赖手工,效率质量低下;因为问题多,造成运维复杂、发布效率也低。环境能力的缺失导致整个团队没有足够的时间去做真正的业务研发和技术创新,已经不适应云环境。

那云时代的软件开发,究竟如何去解决这些问题?

# Zadig 给云时代的软件开发带来新方式

老牌的工具像 Jenkins 和新兴的开源工具 Tekton/Argo 等在脚本维护,二次开发,测试管理上学习成本相对较高,没有一定经验的团队很难应对。Zadig 则简单很多。

基于云原生技术,无需研发人员理解 CI/CD 的概念或者进行任何二次开发,Zadig 可以轻松拉起一致性的测试环境和自动化的工作流程,环境的一致则可以轻松挂接各种测试,回归测试通过,直接就能把基于多模块微服务的软件产品交付出去。就算当下使用 Jenkins/单体应用,Zadig 同样兼容一键集成、一样不复杂。Zadig 可以让代码验证和交付更丝滑。

# Zadig 为什么开源

通过在包括头条、七牛云、腾讯、非码等企业的上千次迭代,今天的 Zadig 已经成为微服务 + Kubernetes 技术栈团队的最佳研发交付方案,帮助企业变云原生为生产力。

软件本身并不值钱,Zadig 是群体的智慧,开源是为了让更多人参与进来,加速产品迭代,让更多的工程师享受写代码的快乐,不再为上线所需的基建浪费时间一遍遍再造轮子。让研发成为企业数字化的核心引擎,让软件能力成为企业的长板。

开源进展

Zadig Github Star Trend

对于开源的节奏,我们还比较保守,在公众号发了一篇文章就悄悄宣布开源了,在此非常感谢使用者及朋友们的转发和关注,引来第一波用户反馈。从数据上看,开源三周来,GitHub Stars 240,Fork 64 ,这个数字在意料之中。不过开发者使用的兴趣度令人振奋,近 400 个有效安装,100 个进入系统尝试使用。同时也吸引了来自大厂以及各个行业的技术专家同学在 Slack、GitHub Issue、微信吐槽群中参与架构以及技术细节的讨论。

开源后已经收到了头条、七牛工程师提交贡献 PR,很多不开源我们内部完全无法知道的问题也被提出来讨论,更坚定了我们对开源的信心。目前我们团队只有 10 来人,当前 Zadig 开源版还属于公测版,我们计划在六月底实现 95% 开源,欢迎更多的小伙伴加入我们,投入开源的建设。

为了方便开发者使用,我们制定了接下来的优化方向:

  • 开源更多模块:支持 Helm 场景、云主机场景、集成测试验证
  • 提升安装成功率:提供更稳定的安装方式,不限于优化安装脚本、优化下载方式,提升安装成功率
  • 产品和文档易用性:围绕交付场景提供使用指南,方便快速接入使用
  • 本地 IDE 集成:支持 KodeSpace CLI 集成到 IDE,方便开发者联调、测试

最后特别感谢我们的第一批贡献者(排名不分先后):

感谢你们为 Zadig 开源做出的贡献,每一个开发者的一小步,造就 Zadig 开源成长的一大步。

如果你也对 Zadig 感兴趣,可以 GitHub 上关注 Zadig 或者关注 KodeRover 公众号获取更多关于 Zadig 开源的动态。

与此同时,我们也组织了微信用户群和 Slack Channel 方便开发者和用户快速的参与讨论。

 

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
2
分享
AI总结
返回顶部
顶部