開源一周年
JuiceFS 開始于 2017 年,是一款云原生分布式檔案系統,旨在幫助企業解決多云、跨云、混合云環境下所面臨的諸多挑戰:資料安全和保護、大資料架構升級、海量小檔案訪問、Kubernetes 標準存盤等, JuiceFS 完全兼容 POSIX、HDFS、S3 訪問協議,并提供 Kubernetes CSI 驅動,在全球公有云上均有全托管服務,為了更好的打造讓開發者愛不釋手的軟體,我們于 2021 年 1 月 11 日在 GitHub 上開源了 JuiceFS,
今天, JuiceFS 已經開源一周年了!
一年前的今天,我們將 JuiceFS 在 GitHub 上開源,初心其實很簡單:希望通過開源讓 JuiceFS 被更多的開發者知道、了解、并使用,畢竟軟體最大的價值還是被使用,開源后的 JuiceFS 讓用戶不再擔心黑盒的云服務,用戶可以自行下載代碼,探索 JuiceFS 的無限可能;開發者可以查閱 JuiceFS 的代碼,從最底層了解、熟悉、信任他,甚至可以參與到 JuiceFS 的打造中,我們希望營造一個互相尊重的社區文化,身處其中不僅可以使用 JuiceFS,也可以在這交流新場景、新玩法,還可以討論 JuiceFS 的工程設計理念和參與未來方向的制定,
開發者們對 JuiceFS 開源的反饋也超出我們的預期,開源第一周就登上了 GitHub Trending、Hacker News、InfoQ 等以開發者為主要受眾的的媒體平臺,
經過一年的時間,JuiceFS 在社區和產品都取得了長足的進步,但行百里者半九十,我們深知堅持的難度,也將繼續懷著開放和連接的心態砥礪前行,
產品全面升級,更加開放
JuiceFS 剛開源時,元資料引擎的選擇只有 Redis,存盤介質為記憶體的 Redis 在資料可靠性和擴展性上存在諸多挑戰,我們將元資料引擎的相關代碼進行了可插拔改造,引入了對關系型資料庫和像 TiKV 這樣的事務型 KV 存盤的支持,解決了可靠性和可擴展性問題,給了用戶更多的選擇,
作為 JuiceFS 資料持久層的物件存盤,我們也支持了近 40 種,基本涵蓋了公有云、邊緣云、私有云等環境中部署使用的常見種類,當然,如果有遺漏歡迎 GitHub 上發起 issue,我們將盡快支持,拓寬 JuiceFS 的生態和提升 JuiceFS 開放性是我們矢志不渝的追求,
最開始的 JuiceFS 只支持應用最廣泛的 POSIX API,此后陸續支持了 HDFS、S3 API,和 Kubernetes CSI 和 Windows 作業系統,未來我們還將支持更多更靈活的訪問方式, 這些協議點綴成線,將散落在企業內部的資料孤島,編織成網,更好的幫助企業打通多型業務系統的資料,整合不同的技術體系,連接多云,幫助客戶搭建更加開放的資料存盤平臺,

JuiceFS 還提供了元資料的備份和匯入功能,讓用戶在「意外」面前更多一份保障和可靠, 這一功能給予了用戶按照 JSON 格式進行備份的能力,提高資料可讀性的同時,也保證了資料在不同元資料引擎間的可交換性,最后,可靠的 JuiceFS 還提供了「回收站」的功能,在這里可以找到那些被誤洗掉的資料,
除了在產品開放性上的持續投入,我們還將目光放到了檔案的開放性和易用性上,我們深刻理解,檔案是用戶與產品之間重要的紐帶!自 JuiceFS 開源以來,我們始終堅持高品質的技術與高品質的檔案并行輸出的原則,
2021 年,我們對檔案進行了三次完整迭代,實作了檔案從「專業性」到「普適性」,再到「體驗性」的持續蛻變,優化檔案的作業仍在繼續,努力確保 JuiceFS 的檔案能夠「讓新用戶馬上用」,「讓老用戶放心用」,除了檔案的作業以外,在快速的版本迭代中,JuiceFS 也一直保持資料格式、通信協議的兼容性,保證版本的向前兼容,讓用戶可以平滑升級,
JuiceFS 開源的一年里,產品也有了巨大的變化,也讓我們更加堅定走開源路線是無比正確的,因為只有開放的生態是最具生命力的,
豐富場景落地,生態共建
在短短的一年時間里,有超過 4400 多位的開發者給 JuiceFS 點了個贊,這些開發者不僅僅來自于中國,也有來自于歐洲、美洲大陸、非洲,甚至中東的地區的開發者,新冠疫情雖然隔斷了我們物理上的聯系,但開源社區讓我們齊聚一堂,一起在過去的 2021年,為 JuiceFS 的社區添磚加瓦,
過去的一年里有超過 40 位貢獻者完成了超過 800 次 Pull Requests,這是我們通過 GitHub 和開發者群體完成的 800 次連接,在這 800 次連接的加持下,JuiceFS 發布了 16 次新版本,這些背后默默關注 JuiceFS 的社區用戶,壓力倍增的同時也給我們滿滿的動力,

基于微信和 Slack 的社群,搭建了超過 1500 人的用戶交流群組,參與了 9 場活動,大家從使用出發,滿載而歸的是 33 篇關于 JuiceFS 的技術內容和場景實踐,在這里,我們連接了場景和用戶,
檔案系統是各種應用開發的基石,如何與其他應用結合,提供杰出的表現和良好的體驗,形成生態,是 JuiceFS 社區的重要作業,在過去的一年中,JuiceFS 已經在一些領域受到了大家的認可,取得了不錯的進展,

大資料生態
JuiceFS 可以完全兼容 HDFS,與 Hadoop 生態無縫集成,一些客戶已經替換了 HDFS實作存算分離的架構升級,
- Apache Kylin 4.0 發布了使用 JuiceFS 構建集群的解決方案,
- 利用 ClickHouse 和 Elasticsearch 的資料生命周期特性,JuiceFS 可以輕松實作資料分層存盤,為用戶增效降本,
AI 生態
JuiceFS 多訪問協議的支持可以大量省去業務流程中資料遷移調度作業,與主流機器學習、深度學習訓練框架全部兼容,
- 曠視技術團隊還貢獻了 JuiceFS Python SDK,方便在 Serverless 環境中訪問 JuiceFS 資料,
- JuiceFS 快取加速是 AI 訓練場景最受歡迎的特性,PaddlePaddle 已經將 JuiceFS 集成到 Paddle Operator 中為訓練加速,
- 云知聲團隊的伙伴為 Fluid 社區貢獻了 JuiceFSRuntime,
- 向量搜索引擎 Milvus 也發布了基于 JuiceFS 構建分布式集群的解決方案,
- Byzer 社區也將 JuiceFS 作為云原生檔案系統集成到自己的解決方案中,
Kubernetes 生態
JuiceFS 非常適合作為 PV(PersistentVolume)使用,是容器原生存盤(Container Native Storage),社區提供了 CSI 驅動和全面的檔案指南,而且已經入駐了 KubeSphere 應用商店,在 Rancher 和云托管的 Kubernetes 服務中使用也同樣簡單,
在使用 JuiceFS 的朋友,也希望把你的經驗和問題反饋到 JuiceFS 社區,不僅能得到支持和幫助,還能讓你的經驗幫到很多人,這正是開源社區的價值和魅力,
多行業生產環境驗證,JuiceFS 1.0 來了
對于存盤系統而言,可靠性永遠排在第一位,JuiceFS 創新性地將元資料和資料分別保存到成熟的資料庫和物件存盤中,一開始就有了可靠性保證,這也是眾多科技公司在能夠在 JuiceFS 發布半年內就投入生產環境并保證穩定運行的關鍵所在,依托于標準訪問協議,JuiceFS 采用了開源社區已有的測驗集來保證兼容性和可靠性,還有各種單元測驗、壓力測驗、混沌測驗和性能測驗保障,在產品快速迭代的同時保證每次版本發布的高品質,
JuiceFS 開源的一年里,已經有小米、Shopee、理想汽車、知乎、航天宏圖、堯信等多家廠商在生產環境中部署了 JuiceFS,穩定運行半年以上,
- 小米用 JuiceFS 做 AI 平臺的存盤底座,
- Shopee 將 JuiceFS 作為云平臺的檔案存盤服務提供給各業務線,支持了多樣的業務場景,
- 理想汽車用 JuiceFS 實作了數倉的存算分離,
- 知乎用 JuiceFS 把 Flink 流計算的啟動加載提速 4 倍,
- ....
JuiceFS 已經穩定持續的運行多家互聯網和 AI 企業的生產環境中,不僅僅為客戶降本,更為客戶提升資料使用的效率和縮短新業務上線的周期,當然內置的資料保護和加密也讓客戶大大寬心,在過去的一年里,每天在線的 JuiceFS 集群數量也穩步上升,從最初的幾個,到現在的超過 500,保持了較高的增長速率,值得一提的是,這僅僅是我們有記錄的資料,相信還有很多我們沒聯系到的用戶,

在國內外互聯網、自動駕駛、基因測序、金融科技、智能制造等多個行業,以及廣大社區開發者的支持、驗證和持續反饋之下,經過全面的評估和各類場景下的驗證,JuiceFS 社區將于本周發布 JuiceFS v1.0-beta,歡迎社區用戶測驗并給我們反饋,根據反饋改進后發布 v1.0-GA,
重新思考開源許可
回到 2021 年發布之初,JuiceFS 只支持在掛載后通過 POSIX 方式訪問資料,應用是通過內核來訪問資料,并不需要直接跟 JuiceFS 打交道,應用并不會被 GPL 系列的許可影響,所以當時采用了檔案存盤界使用最廣泛的 GPL 許可(AGPL v3),
隨著 JuiceFS 的不斷迭代,引入了更多的訪問協議和 SDK(S3 兼容的 HTTP 協議以及跟 HDFS 兼容的 Java SDK),影響用戶基于它們去開發商業產品,同時,也有一些開源社區和開發者希望將 JuiceFS 作為存盤底座,整合到自己的專案中,但 AGPL v3 與其他開源協議(比如 Apache 協議)的兼容性不太好,阻礙了更多人去享受 JuiceFS 提供的多協議互通和高效快取系統等諸多便利,
所以,為了我們的初心——打造開發者最喜歡的存盤產品,Juicedata 團隊決定自 JuiceFS v1.0 起將許可更改為 Apache 2.0,
重新定義檔案存盤,未來可期
JuiceFS v1.0 是一個重要的里程碑,代表它可以被放心的使用于各種場景的生產環境,開始接受更多更嚴苛的挑戰,之后社區仍將持續加大投入,持續為大家帶來更多有價值的特性,比如呼聲最高的配額管理,Snapshot,支持更多元資料引擎等,
隨著資料規模的快速增長,分布式檔案系統愈發重要,傳統分布式檔案系統都采用自底向上的一整套系統,復雜度非常高,難以掌握,JuiceFS 創新性地分離元資料和資料存盤,并盡量復用已有的成熟資料庫和物件存盤等基礎設施,訪問協議也是同時兼容所有主流的介面,將分布式檔案系統的系統復雜度和使用門檻大幅降低,重新定義了分布式檔案系統的構建方式,通過一套體系和不同組件的搭配,可以滿足不同規模和場景的非結構化存盤需求,同時,JuiceFS 是完全云原生的設計,可以跟云上的生態很好地銜接,符合云存盤發展的大趨勢,有非常廣泛的應用前景,
盡管 JuiceFS 已經做了非常多的減法,盡量避免重復造輪子,打造成熟可靠的存盤產品仍然需要巨大的工程投入,我們在過去一年里也進一步壯大了工程師團隊,很多都是從 JuiceFS 社區的參與到加入 Juicedata 團隊,也歡迎更多志同道合的同學們加入,一起開創分布式檔案存盤的新時代,
開源產品的研發,需要持續的資金投入,我們花了 4 年驗證過的商業化服務也在快速增長,為 JuiceFS 的發展提供持續可靠的資金保障,開源是我們的星辰大海,商業化為它保障護航,
道阻且長,但行則將至!
歡迎關注我們專案 Juicedata/JuiceFS 喲! (0?0?)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/412955.html
標籤:其他
