今天,由雲原生計算基金會(CNCF)技術監督委員會投票,Dragonfly 正式晉升為 CNCF 孵化級別的託管項目。
Dragonfly 是一個由阿里巴巴開源的雲原生鏡像/文件分發系統,主要解決雲原生領域以 Kubernetes 為核心的應用鏡像分發問題。2018 年 10月 正式進入 CNCF,成為 CNCF 沙箱級別項目(Sandbox Level Project),開始雲原生探索之旅,幫助用戶改善 Kubernetes 中鏡像/文件分發的體驗,從而讓企業工程師可以專注於應用程序本身而非基礎架構管理。
前往 GitHub 瞭解 Dragonfly 項目詳情:https://github.com/alibaba/Dragonfly。
阿里巴巴資深技術專家易立認為“作為阿里巴巴生態系統中容器平臺的骨幹技術之一,Dragonfly 每年支撐了數十億次應用服務的部署交付,並被全球許多企業客戶使用。阿里巴巴期待不斷改進 Dragonfly,使其更加高效和易於使用。”
Dragonfly 的目標是解決雲原生場景中的分發問題。該項目由三個主要部分組成:SuperNode 扮演中央調度器角色,控制 peer 之間的所有分發過程; dfget 是 P2P 客戶端,主要負責 peer 之間分塊的互傳;dfdaemon 則扮演代理角色,攔截容器引擎的鏡像下載請求並重定向到 dfget 中。
“Dragonfly 通過利用 P2P 技術提升鏡像和文件分發的效率,同時減輕鏡像倉庫的網絡負載來改善用戶體驗,” TOC 成員和項目 Sponsor 樑勝博士說。“隨著世界各地的組織將工作負載遷移到容器堆棧上,我們預計 Dragonfly 的採用將繼續顯著增加。”
目前,Dragonfly 與其他 CNCF 項目進行了集成,包括 Prometheus,containerd,Harbor,Kubernetes 和 Helm。項目 Maintainer 來自阿里巴巴,ByteDance,eBay 和美圖,項目 Contributor 來自包括網易、京東、沃爾瑪、VMware、Shopee、中國移動、Qunar、中興、七牛、NVidia 等在內的 20 多家公司。
Dragonfly 主要特性
- 基於 P2P 的文件分發:使用 P2P 技術進行文件傳輸,Dragonfly 可以充分利用每個 peer 的帶寬資源來提高下載效率,節省了大量的 IDC 帶寬,尤其是昂貴的跨地區、跨國際帶寬;
- 對各種容器技術的無侵入支持:Dragonfly 可以無縫地支持各種容器來分發鏡像,如Docker、containerd 等;
- 主機級別速度限制:很多下載工具(wget / curl)僅具有當前下載任務的速率限制,但是 Dragonfly 提供整個主機的速率限制;
- Passive CDN:被動式 CDN 機制可以避免重複的遠程下載。
重要里程碑
- Maintainer 來自 4 個組織的 7 個項目
- 67 位貢獻者
- 21 個貢獻組織
- 4.6k + GitHub Stars
- 10萬+ Docker Hub 下載量
- 去年 commit 數量增加 120%
自加入 CNCF Sandbox 以來,Dragonfly 經歷了重要的旅程,變得更“雲原生”。
- 為使開發人員更友好並更易於集成到 CNCF 中,Dragonfly 通過 Golang 進行了重構;
- Dragonfly 積極地與 Kubernetes,Harbor,containerd,Prometheus,Helm 等集成;
- 在 CNCF 的幫助下,Dragonfly 努力幫助整個行業採用雲原生分發。
CNCF CTO / COO Chris Aniszczyk 表示 “隨著雲原生應用的持續增長,在大規模生產環境中分發容器鏡像已成為要解決的重要挑戰,我們很高興 Dragonfly 分享了在阿里巴巴的實踐經驗,Dragonfly 項目最近在 Golang 中進行了完全改寫,取得了長足的進步,我們期待培養更多這樣項目和讓項目更具多樣性”。
最新版本 Dragonfly 1.0.0 已全部用 Golang 重寫,以提高與其他雲原生技術的易用性。現在,Dragonfly 帶來了更加靈活和可擴展的體系結構,更多的雲方案以及與 OCI(開放容器計劃)的潛在集成,以使鏡像分發更加高效。
阿里巴巴高級技術專家、 Dragonfly 項目 Maintainer 孫宏亮表示:“我們很高興 Dragonfly 成為孵化項目,Maintainer 一直在努力推進項目各個方面的改善,我們期待看到 Dragonfly 的更多可能性。”
Dragonfly 的落地實踐
自加入 CNCF 沙箱以來,Dragonfly 在包括電子商務,電信,金融,互聯網等在內的各個行業中迅速發展。 用戶包括阿里巴巴,中國移動,Shopee,Bilibili,螞蟻金服,虎牙,滴滴,iFLYTEK 等組織。
中國移動浙江分公司在生產環境中採用 Dragonfly 已有 3 年以上的歷史,涉及超過 1000 臺物理計算機。目前在 Dragonfly 上運行 200 多個業務系統和 1,700 多個應用程序模塊。
Shopee 是總部位於 Sea Group 下的新加坡電子商務平臺。由於將業務範圍擴展到馬來西亞,泰國,臺灣,印度尼西亞,越南和菲律賓,它為客戶提供了一種簡單,安全和快速的在線購物方式。 Shopee 在生產環境中採用Dragonfly 已有 1 年以上的歷史,涉及 10K+ 臺物理機器。
國內視頻彈幕網站 Bilibili 已在超過 3900 臺機器的測試和生產環境中採用了 Dragonfly。來自 Bilibili 的工程師在註冊表驗證,穩定性等方面與 Dragonfly 社區合作並做出了積極貢獻。
阿里雲容器鏡像服務企業版( ACR EE)是國內領先的雲原生應用資產管理平臺,支持 Docker/OCI 鏡像, Helm Chart 等製品的安全管理及高效分發,被眾多行業 Top 企業大規模使用。ACR EE 結合 Dragonfly 的大規模鏡像分發能力,保障客戶容器業務的快速擴展和極速部署。ACR 團隊也結合企業雲原生場景和雲端環境,和社區共同推動和促進 Dragonfly 持續優化。
未來可期
未來,Dragonfly 將鞏固文件/鏡像分發,朝著更靈活和可擴展的體系結構方向發展;此外,Dragonfly 社區將深度與 Linux Foundation OCI(開放容器標準)展開合作,建設更高效的鏡像分發能力:
- 基於行業場景,積極探索技術創新:1. 基於機器學習算法,支持更智能 P2P 調度能力,進一步分發效率;2. 加強數據傳輸過程中的安全性、完整性以及傳輸效率;3. 基於雲原生基礎設施,插件化與場景化,靈活適應裸金屬、雲服務器、IoT等多領域;
- 協同OCI社區,打造並制定鏡像/文件在雲原生領域的分發標準,開放“數據分發接口”提供“被集成”能力。
雲原生網絡研討會邀您參加
“阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公眾號。”