老同事拉我创业,做一家开源存储公司

原创
04/06 10:47
阅读数 4.8W

 Created in the name of FOSS.

被访者:苏锐(Juicedata 合伙人)

编辑:lola

出品:OSCHINA 开源中国


从豆瓣出来后的一段时间,科班出生的苏锐做了一些不那么“技术”的事儿。

2014~2015 年,苏锐在 O2O 领域里打拼,瞄准的是上门汽车服务这一细分领域。“在 O2O 创业的这个过程里,我不再是公司里的一个岗位,而是站在了更高处,可以更全面地去看待市场是什么样的,用户是什么样的,公司又是什么样的。”苏锐表示。

在这样一个位置上,苏锐开始拥有更完整的公司运营视角。

另一头,苏锐在豆瓣工作时的 mentor 刘洪清(Davies),跑去美国成为了 Databricks 的早期员工,当他提议为 Databricks 自研一个新的存储方案时,却并没有得到公司的支持。后来,他利用业余时间单枪匹马地写了个原型出来。

2017 年, 刘洪清叫上了苏锐,说要创业。

终于,苏锐回到离技术更近的地方 —— 云原生文件存储俩人随即成立 Juicedata 公司,并将其产品命名为 JuiceFS

作为 1 号员工,苏锐不仅是 Juicedata 的合伙人,还充当了“技术与市场的桥梁”这样一个角色。“Juicedata 最初瞄准的就是全球开发者,Davies 抓住技术痛点以及可行路径,而我要把技术创造出来的产品,带到市场、用户那边去,建立两者之间的连接。”苏锐说。

 苏锐(右)与刘洪清(左)的合照

 

01 被 AWS S3 绊住后,Juicedata 诞生

“互联网技术一直在更迭。仅从我自己的角度来说,就已经经历了三个(技术)周期了。从中国接入宽带互联网,到移动互联,再到现在,其实 C 端网民都已经被普及得差不多了。这几年,To C 的领域里,大家都在讲用户红利消失。那么,还有什么红利是存在的呢?还有什么东西是不断增长的呢?
 
现在,整个世界都在数字化,数据领域变得越来越有挑战性。企业端正在快速普及云计算围绕数据的各种需求都催生新事物的出现。”

云原生文件存储技术,在苏锐的眼中是个不那么大众的细分技术领域。

简单来说,云原生文件存储就是运用在云原生环境的存储技术,一般具有高可用性、强大的可扩展性、可靠性、动态部署等特性;并且针对公有云、私有云和混合云等不同形态的平台,也有不同的解决方案。

在苏锐的描述中,存储技术演化到今天,是跟随技术变迁进程的。

在计算机发展之后,文件存储其实是一个很古老的传统领域。它的第一代产品诞生于 90 年代 —— 传统旧式的单体式存储,它与专有硬件和专有软件进行捆绑销售。

90 年代,上个网还需要拨号。当时的网络存储一般使用的是专有硬件设备方案(通常指 NAS,Network-Attached Storage,网络接入储存),通过特殊的高性能通讯硬件给其他应用提供访问接入。

1992 年 ,NetApp 诞生。它是这一代企业存储技术的代表,其产品形态就是软硬件一体发展至今 NetApp 成为这一行业的龙头。(PS. NetApp 是闭源的。)

“那个时候,每家公司想要买存储容量,就必须买一个硬件柜子,里面插满了硬盘。在门户网站的时代,网站只能发布信息,这样的存储技术是够用的。” 苏锐表示。

  

2003 年,Google 的 GFS 开创了先河,第一次用普通的 x86 机器和普通硬盘搭建了大规模存储,分布式存储出现了。2005 年,这一成果与 MapReduce、BigTable 一起成为谷歌引爆大数据时代的“三驾马车”。

同样在 2005 年左右,Web2.0 产品形态涌现,其最大的特点是 UGC(User Generated Content,用户生产内容)。其中,以 Facebook、Twitter、人人网等社交网络为代表。这意味着,每天每个网民都在创造大量数据,互联网数据比上一个时代有了数量级上的提升,继续用“买柜子”的方式,根本满足不了这么大的数据需求。

于是,企业存储的“二代目” —— SDS(Softwere Defined Storage,软件定义存储)出现了。不同于 NAS,SDS 一般都在行业标准 x86 系统上执行,消除了软件对于专有硬件的依赖性,大幅提高了灵活性。

在 2005~2009 年这段时间窗口,全球范围内诞生了很多的分布式文件系统的产品,比如 HDFS(Hadoop)、Ceph、GlusterFS 、MooseFS 等等,这些软件都得到了广泛应用。而且,值得注意的是,他们其中大多数都为开源软件。

 

SDS 是一个技术堆栈层,可以使用行业标准服务器提供服务

又一个十年后,移动互联网让互联网上的数据再次以数量级形态上升,让上一代的文件系统有点捉襟见肘了。

此前,亚马逊推出 AWS 公有云,云计算搅动一潭春水。AWS S3(Simple Storage Service)赶上了好时候,它有弹性、可伸缩、想存多少就存多少,其拓展能力和成本优势立马让它脱颖而出,整个互联网的数据都在往 S3 上搬。

但是,S3 在满足拓展能力的同时,相比之前的存储产品又舍弃了很多其他功能,比如丰富的访问接口、数据的强一致性保证、高性能的元数据访问、原生目录树结构、有原子性保证的 rename 等基础操作等。很多公司不得不做大量的工程改造才能把 S3 用起来,Juicedata 创始人刘洪清当时所在的 Databricks 就在其中。

2016 年,刘洪清给公司提案,要自研新的存储方案,以系统性地解决问题。当时的 Databricks 也还在创业初期,公司研发团队大多擅长分布式计算领域,认为还不适合投入分布式存储的研发。这个决定也促成了 JuiceFS 的诞生。换个角度说,S3 的短板促成了 JuiceFS 的诞生。

在设计中,JuiceFS 是一款面向云原生环境设计的高性能分布式文件系统,为云环境设计,提供完备的 POSIX、HDFS 和 S3 API 兼容性。使用 JuiceFS 存储数据,数据本身会被持久化在对象存储(例如,Amazon S3),相对应的元数据可以按需持久化在 Redis、MySQL、TiKV、SQLite 等多种数据库中。

如果说 2005 年左右的那次的技术更迭期,是面向机房的。那么,这次(2015~2016年)存储技术的创新冲动则是由云时代开启的。

“我们希望产品能在云上使用,但这些产品在架构上并不适合云,也发挥不出云的优势。而 S3 又存在功能上的不足,满足不了复杂的数据需求。如果能有一个全功能的文件存储,又同时能兼具 S3 的产品优势,就非常理想了。”苏锐表示。

2017 年 4 月,刘洪清和苏锐着手组建了 Juicedata。在他们的构想中,Juicedata 要解决过去文件系统在规模和能力上的一些限制,在云上提供一种新的体验,并且要继承以前几十年积累下来的文件系统上层构建的生态。

 

02 转向开源后,我们从 AGPLv3 换成了 Apache 2.0

2018 年,JuiceFS 很快推出了云服务版本,走上了商业化运营的正轨。

最初 Juicedata 只能请一些很早期的初创企业来尝试;到后来,有更成熟的B轮、C轮融资阶段的企业敢用了;又随着他们的背书,IPO 阶段的企业也加入了进来。这是一个不断摸索的过程:

“一开始,我们非常坚定地拥抱公有云,认为最好的用户体验就是公有云这样的全托管服务 —— 开发者不用再自己维护。毕竟,维护是有一定门槛的,分布式系统很复杂。
 
我们就那样推向市场了,但实际上,市场接受一家新的存储企业、建立信任是需要一个周期的。毕竟,在大家眼里我们就是一个新品牌,一个“黑盒”,要把数据存在里面,是要承担一定风险的。所以,我们需要一步步的市场策略去建立与客户的沟通和信任。”

那么,有没有机会加速这个过程呢?Juicedata 找到了开源这个办法。

首先,开源意味着代码向大家敞开,通过代码来建立信任,让第一批掌握代码的开发者先熟悉和理解起来;

其次,Juicedata 在公有云上也创造了新的架构设计,而对于众多开发者来说,他必须要有自己的公有云账号,才能感受到这个新的体验,那么开源版本则可以降低这一门槛;

最后,Juicedata 自身关注的业务场景和领域是有限的,文件系统却有非常多用户场景和应用行业,开放的方式能将这些可能性交给社区去创造,让社区用户大开脑洞。

2021 年 1 月 11 日,JuiceFS 开源了,推出的开源版是一个建立在 Redis 和 S3 等对象存储(比如 AWS S3、阿里云 OSS)之上的开源 POSIX 文件系统。它是为云原生环境设计,通过把元数据和数据分别持久化到 Redis 和对象存储中,它相当于一个无状态的中间件,帮助各种应用通过标准的文件系统接口来共享数据。

值得注意的是,Juicedata 将元数据引擎的相关代码进行了“可插拔”改造,引入了对关系型数据库和事务型 KV 存储的支持,解决了可靠性和可扩展性问题,用开放式的架构去支持社区里各种各样开源的存储引擎,让他们可以结合到 JuiceFS 上来用。

在 Juicedata 的设计中,Metadata Engine 和 Data Storage 里面很多组件可以相互替换

这样一来,社区版本的用户可以结合自己的场景去选择合适的引擎;同时,用户在其他存储引擎(比如 Redis、 MySQL 等)上积累的经验可以使他很快上手,大大降低了用户的使用门槛。

目前, JuiceFS 的闭源引擎更多主打海量文件规模以及极致性能这样的场景。这个场景不是所有企业都有需求,多数企业从社区版就能满足自己的大部分业务需求,而一些特定业务则是需要企业版本支持。

至此,JuiceFS 的社区版本和企业版本形成了一个较好的相互补充关系。

在开源的第一年里,JuiceFS 收获颇丰,有超过 40 位贡献者完成了超过 800 次 Pull Requests,有过 4400 多位来自全球的开发者给 JuiceFS 点了赞。这样的发展速度,是苏锐没有想到的。

“(JuiceFS )在开源方面的发展速度,超出了我们的预期。文件存储领域离应用层有一定距离,又没有数据库那么被大众开发者所熟知。因此,我们假设这么底层的项目,并不会得到大家的广泛关注。
 
另外,我们也评估了市场上其他的存储开源项目。比如零几年就已经开源的 GlusterFS 或者是 Ceph,他们已经做得很好了,却也没有像别的社区那样活跃。我想,JuiceFS 开源的超预期发展也印证了大家对云上文件系统是有强烈的需求在的,只是缺乏一个简单上手的产品而已。”

目前,JuiceFS 累计在 GitHub 上获得了 5K Star 和 441 Fork,并且拥有 53 个 contributors。据苏锐介绍,其中只有 20% 是 Juicedata 的全职员工,其余则均为社区贡献者。而 JuiceFS 所对标的 Ceph,在 GitHub 上的表现则为 10.3K Star、4.8K Fork 和 174 个contributors。

(以上数据截至 2022 年 3 月 24 日)

2022 年 1 ,Juicedata 团队决定自 JuiceFS v1.0 起将许可更改为 Apache 2.0。而此之前,他们一直采用 AGPLv3 许可证。

“刚开源的时候,我们认为需要选择一个能够保护我们的许可证。因为我们看到这几年,一些知名的开源项目和云厂之间有一些纠纷。如果我们选择 AGPLv3,那么厂商就不能拿你的项目去做托管服务。”苏锐表示。此外,文件存储界使用最广泛也是 AGPLv3。

但随着 JuiceFS 的不断迭代,有一些开源社区和开发者希望将 JuiceFS 作为存储底座,整合到自己的项目中,但 AGPLv3 与其他开源协议(比如 Apache 协议)的兼容性却不太好。为了建立更加丰富的生态,Juicedata 最终转向了 Apache 2.0 许可证。

“其实,这样我们就承担了更多商业上的风险,但我们也由此获得了更丰富的生态,这是一个取舍的过程。”当被问及如何看待云与开源之间的关系时,苏锐则表示: 

“从 2018 年开始,我们上线了全球所有的公有云,我们可以帮助云厂商去服务好他们的客户,去提供更好的体验。另外,我们也是公有云的客户,我们构建这些云服务也通过购买公有云的资源而构建的。
 
新事物产生过程中,调整和博弈是在所难免的。相比于整个公有云上的生意来说,两者之间的利益冲突其实是很小的。两者之间是个共荣共生的关系,互相合作能带来新的价值。
 
其实,云为开源产品提供了更好的商业化方式。”

 

03 开源创企绝不是夹缝求生

的确,就在这个云时代中,不断有开源企业创业成功、越做越大。国外的 Elastic、Confluent、MongoDB、HashiCorp,包括 Juicedata 创始人刘洪清的老东家 Databricks 都是活生生的例子。这些公司在十年前左右涌现出来,从开源到盈利,最后演变成为估值数十亿甚至数百亿美元的独角兽。

反观国内,这一进程可能要更加滞后一些。当国外开源企业走向 IPO 时,我国开源创企更多集中在 A、B 轮融资阶段。《2021 中国开源开发者报告》显示,2021 年,国内开源融投资金额创历史新高,达到了 52 亿元人民币。

尽管资本火热,但似乎有个更重要的问题摆在眼前:因为 SaaS 环境不成熟,且处于后发劣势等原因,国内开源创企要如何实现可持续性地商业化变现,并且让公司持续盈利呢?以开源+云的战略切入云存储赛道的 Juicedata 要怎么走呢?

在苏锐看来,Juicedata 一开始就是立足国际市场的,并且,国内 SaaS 市场其实也正在快速成长,与国际相比,差别并不大,只不过不是同步成熟而已。因此,国际上开源创企已经走通的路,国内创企完全可以借鉴。

而且,国内正处在全面数字化的阶段。公有云、私有云、混合云这些云服务的市场容量正在越扩越大,加上 SaaS 这种降本增效的服务形式,给了开源创企很大的生存空间。Juicedata 只需做出最好用的存储产品,为全球市场提供同一套标准的服务,绝不是夹缝求生。

此外,在技术赛道方面,尽管云存储领域是竞争对手林立,尤其是一些同时提供云服务的大厂。但 Juicedata 对此并不担忧:

首先,Juicedata 在最初场景和产品关键能力的选择上,就倾向于选择那些云厂商还没有覆盖的部分,避开那些大众常规的场景,打差异化。
 
而且,做产品最核心的是要贴近客户需求。开源创企在产品研发和资源投入上,比大厂要更聚焦。我们做这件事情,是用这个领域最资深的工程师、架构师,集合大家十几年的经验,用一种 All in 的创业心态来做这么一个产品。
 
而在大厂,某个产品未必是公司里最重要的品线,大家的投入心态是完全不一样的。开源创企反而更具优势。

Juice FS Gitee 地址:https://gitee.com/juicedata/JuiceFS

Juice FS GitHub 地址:https://github.com/juicedata/juicefs

Juicedata 官网地址:https://www.juicefs.com/


嘉宾简介:

苏锐,Juicedata 合伙人,毕业于西安电子科技大学。在北航攻读硕士期间,作为早期工程师加入傲游(Maxthon)浏览器。08 年作为创始员工加入一家非盈利机构“多背一公斤”,将自助旅行和乡村教育支持创造性的结合起来构建线上社区,荣获奥地利 Prix Arts 数字社区金奖,也是第一个获得该奖项的中国项目。2010 年加入豆瓣,任职 Tech Lead。2014 年创立上门汽车服务品牌功夫洗车,并任 CEO 带领团队完成两轮融资。2017 年作为 1 号成员参与创建 JuiceFS 加入 Juicedata 开始新一次创业。


【创造者说】

OSCHINA 推出全新开源创企访谈栏目【创造者说】。

开源社区需要创造者,他可以是个人,也可以是由个人组成的公司。开源软件发展 20 余年,来自公司的开源贡献者已经成为中坚力量,更是有一批公司围绕开源软件而创办。本栏目将聚焦开源创企和他们的创始人,探讨当下的开源现状,分享开源商业故事,为开源社区添砖加瓦。

创造者说】专栏面向所有开源创企,欢迎填写下方问卷,向我们推荐那些有创造力的公司:

https://www.wjx.cn/vj/P2FFev2.aspx

展开阅读全文
加载中

作者的其它热门文章

打赏
11
30 收藏
分享
打赏
22 评论
30 收藏
11
分享
返回顶部
顶部