老同事拉我創業,做一家開源儲存公司
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 地址:http://gitee.com/juicedata/JuiceFS
Juice FS GitHub 地址:http://github.com/juicedata/juicefs
Juicedata 官網地址:http://www.juicefs.com/
嘉賓簡介:
蘇銳,Juicedata 合夥人,畢業於西安電子科技大學。在北航攻讀碩士期間,作為早期工程師加入傲遊(Maxthon)瀏覽器。08 年作為創始員工加入一家非盈利機構“多背一公斤”,將自助旅行和鄉村教育支援創造性的結合起來構建線上社群,榮獲奧地利 Prix Arts 數字社群金獎,也是第一個獲得該獎項的中國專案。2010 年加入豆瓣,任職 Tech Lead。2014 年創立上門汽車服務品牌功夫洗車,並任 CEO 帶領團隊完成兩輪融資。2017 年作為 1 號成員參與建立 JuiceFS 加入 Juicedata 開始新一次創業。
JuiceFS 社群故事徵集ing!
首屆 JuiceFS 社群徵文活動正在進行中 。希望通過本次活動彙集更多優質內容,幫助各位開發者、使用者更加便捷、高效地使用 JuiceFS,更好地融入開源社群, 點此快來投稿吧! FILCO 鍵盤、冰墩墩、社群周邊等你拿~
:point_down: 掃碼加群 :point_down:
:point_down: 關注「 Juicedata 」,獲取更多技術乾貨 :point_down:
- 30款提升組織效能 SaaS 工具,我們的寶藏工具箱大公開
- Grafana Prometheus 搭建 JuiceFS 視覺化監控系統
- 移動雲使用 JuiceFS 支援 Apache HBase 增效降本的探索
- Grafana Prometheus 搭建 JuiceFS 視覺化監控系統
- JuiceFS 在資料湖儲存架構上的探索
- JuiceFS 在資料湖儲存架構上的探索
- JuiceFS 快取預熱詳解
- JuiceFS 快取預熱詳解
- 巧用 JuiceFS Sync 命令跨雲遷移和同步資料
- 巧用 JuiceFS Sync 命令跨雲遷移和同步資料
- 老同事拉我創業,做一家開源儲存公司
- 小團隊如何妙用 JuiceFS
- 社群投稿|小團隊如何妙用 JuiceFS
- CSI 工作原理與JuiceFS CSI Driver 的架構設計詳解
- JuiceFS CSI Driver 架構設計詳解
- 怎麼做 HDFS 的原地平滑縮容?
- 來自開源社群的她力量
- 雲上共享檔案系統的相容性大比拼
- 用 JuiceFS 備份 Nginx 日誌可以這麼簡單
- 讓 JuiceFS 幫你做好「異地備份」