來源 | 阿里巴巴雲原生公眾號
2021 年 4 月 27 日,雲原生計算基金會(CNCF)宣佈通過全球 TOC 投票接納 Fluid 成為 CNCF 官方沙箱項目。Fluid 是一個由南京大學、阿里雲以及 Alluxio 開源社區聯合發起並開源的雲原生數據編排和加速系統。
Fluid 項目地址:
https://github.com/fluid-cloudnative/fluid
項目介紹
雲原生環境下,計算存儲分離架構在提升系統彈性和靈活性的同時,給大數據 / AI 等數據密集型應用帶來了計算性能和管理效率方面的挑戰。現有云原生編排框架運行此類應用面臨數據訪問延時高、多數據源聯合分析難、應用使用數據過程複雜等痛點。Fluid 正是為解決這些問題而生的。
Fluid 系統架構圖
Fluid 運行在 Kubernetes 上,是一個可擴展的分佈式數據編排和加速系統,其目標為構建雲原生環境下數據密集型應用的高效支撐平臺。該項目開源於 2020 年 9 月,短短半年多時間內發展迅速,吸引了眾多領域專家和工程師的關注與貢獻,並在包括微博、中國電信等多家大型知名IT和互聯網企業中使用。
核心功能
Fluid 在雲原生應用與數據的協同編排、調度優化、數據緩存等幾方面提出一系列技術創新,其核心功能包括:
- 提供存儲無感知的數據對象-數據集(Dataset):通過自定義資源對象 (Custom Resource Definition)實現對不同存儲系統的統一抽象定義與管理,支持可觀測性和彈性伸縮。
- 利用分佈式緩存技術加速數據集讀寫:通過擴展 CacheRuntime 對象,自定義並管理分佈式數據緩存引擎。目前已原生支持緩存引擎 Alluxio 和 JindoFS。
- 基於容器調度的智能數據編排:基於 Kubernetes 容器調度和擴縮容能力,實現數據緩存的智能化編排。
- 數據集與應用協同調度:擴展 Kubernetes 調度器感知數據集緩存信息,就近調度應用,發揮本地讀寫緩存的性能優勢。
- 標準訪問接口:使用 Kubernetes 標準存儲接口 Persistent Volume Claim 訪問數據集,實現無縫兼容雲原生應用。
- 面向場景的性能調優:針對深度學習、批量數據處理等任務,提供數據集預熱、元數據管理優化、小文件 IO 優化、自動彈性伸縮等手段,普遍提升任務運行效率。
展望未來
Fluid 開源項目致力於通過結合學術界的原創研究和工業界的落地實踐能力,加速雲原生基礎設施擁抱數據密集型應用,與開源社區一同構建 Kubernetes 平臺應用使用和管理數據的統一界面。Fluid 開源社區目前有 5 位核心維護者 (Maintainer),分別來自南京大學,阿里巴巴和 Alluxio,並由來自南京大學 PASALab 的顧榮副研究員擔任開源社區主席。此外,來自中國電信、微博、Boss 直聘、第四範式、雲知聲等企業的工程師都貢獻了大量的開發工作。
作為對原生 Kubernetes 生態完全兼容的數據密集型應用運行支撐平臺,Fluid 將向更靈活、智能、可擴展的架構方向發展,不斷提升開發者和用戶使用體驗。未來,Fluid 將繼續與社區並肩、與生態同行,致力於推進雲原生技術在大數據 / AI 系統領域的生態建設與普及,與全球開發者一起拓展雲原生的邊界。
歡迎大家持續關注 Fluid 開源項目並積極參與該項目的共建,有問題可以釘釘掃碼進群交流!