
今天,由雲原生計算基金會(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社群,打造并制定鏡像/檔案在雲原生領域的分發标準,開放“資料分發接口”提供“被內建”能力。
附:
CNCF Blog雲原生網絡研讨會邀您參加
點選立即預約直播“ 阿裡巴巴雲原生 關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公衆号。”