劍指企業級雲原生,阿里雲 CNFS 如何破局容器持久化存儲困境


簡介: 雲原生趨勢下,應用容器化比例正在快速增長,Kubernetes 也已成為雲原生時代新的基礎設施。 據 Forrester 預測,到 2022 年, 全球企業及組織在生產環境運行容器化應用。觀察今天的容器和 Kubernetes 的應用現狀,我們可以看到兩個普遍的現象。首先,在雲上托管 Kubernetes 已經成為企業上雲及運行容器的優先選擇。另外,用戶使用容器的方式也在改變,從無狀態應用 到 核心企業應用 到 數據智能應用,越來越多的企業使用容器來部署生產級別、復雜度高和高性能計算的有狀態應用。比如 Web 服務、內容資料庫、數據庫,甚至 DevOps、AI/大數據應用等。

作者:CNFS

雲原生趨勢下,應用容器化比例正在快速增長,Kubernetes 也已成為雲原生時代新的基礎設施。

據 Forrester 預測,到 2022 年, 全球企業及組織在生產環境運行容器化應用。觀察今天的容器和 Kubernetes 的應用現狀,我們可以看到兩個普遍的現象。首先,在雲上托管 Kubernetes 已經成為企業上雲及運行容器的優先選擇。另外,用戶使用容器的方式也在改變,從無狀態應用 到 核心企業應用 到 數據智能應用,越來越多的企業使用容器來部署生產級別、復雜度高和高性能計算的有狀態應用。比如 Web 服務、內容資料庫、數據庫,甚至 DevOps、AI/大數據應用等。

1.png

雲原生時代,我們如何解決海量容器的編排和存儲?又該如何提升容器存儲的性能和穩定性?

容器應用趨勢下的存儲能力演變

隨着基礎設施從物理機到虛擬機,到以 Kubernetes 為代表的容器環境,甚至到 Serverless 的逐漸演進,今天的計算和應用正在面臨巨大的變化,最明顯的就是從過去應用在虛擬機里邊去獨占一個 CPU 內存分區,到今天在 Serverless 里演變成在函數層面去為用戶提供服務。

image.png

在這樣的技術體系下,存儲的能力同樣需要隨之改變,主要體現在以下幾個方面:

1.高密

虛擬機時代,一個虛擬機就對應一個完整的存儲空間,可以用其去存儲單個應用所需要的所有數據相關的訪問和存儲需求。但今天在 K8s 在 serverless 環境里的存儲是共享的,一個容器需要去訪問的是一個巨大的存儲資源池,帶來的代價就是存儲的密度是非常大的,同時訪問同一個存儲能力的要求也變得更高。

2.彈性

當我們創建一個物理機或者虛擬機時,常會在一個比較穩定的周期之內訪問和使用存儲介質。但今天在容器環境里,前端計算服務的彈性伸縮變化是非常快的,可能需要瞬間從數十台到幾百台,因此也需要非常高的彈性存儲能力。

3.數據隔離

在 K8s 和 Serverless 里,很難做到內存和存儲資源的獨占,因為容器環境下存儲資源、計算資源,甚至於操作系統以及一些依賴的基礎包都是共享的。那這個時候就需要在基礎架構層面實現一種安全的隔離,同樣在上層的應用層面,也需要通過完善的安全策略和手段去實現數據隔離,這同樣是非常大的變化和挑戰。

容器環境下,企業需要怎樣的存儲能力?

塊存儲、文件存儲、對象存儲是現在比較常見的容器存儲解決方案,那么在容器環境下,企業需要怎樣的文件存儲能力呢?

image.png

1. 應用兼容

我們很難快速讓企業整體的應用方式發生轉變。很多場景下,企業使用存儲的方式會是共享或者分布式存儲集群。這時,存儲對於應用的兼容能力就非常重要,能不能在容器環境和非容器環境下保持一致,讓應用的改造盡可能變得更少,甚至於不需要改造,這是一個迫切重要滿足的訴求。

2. 極致彈性

容器部署的一大特點需要隨着業務的峰值和波谷,滿足快速的彈性需求。而當上層的計算發生彈性之后,底下的存儲也需要有能力快速跟進,而不是用耗費大量時間去做底層數據的同步。

3. 共享
在大數據、高性能計算等場景下,應用的數據集是非常龐大的,量級動輒就是 TB、十幾個 TB 的級別,有些場景甚至可以達到上百 TB。這種規格的數據如果無法共享,而是需要去在彈性的容器環境下通過拷貝傳輸完同步,這對於成本的壓力、對於時效性的損失,都是很難保障的。

4. 安全可靠

不管底層的基礎架構如何改變,是物理機、虛擬機、K8s 的容器還是 Serverless,無論怎么去抽象,業務應用最根本的訴求一定是安全,應用間不能相互污染。因此存儲就必須在數據共享能力之上,為數據安全提供保障。

5. 優化成本

企業對於成本優化的追求,在所有的應用場景里幾乎都是孜孜不倦的。即使是在最核心的應用場景里,我們依然需要去控制成本。因為今天業務的增長和變化是非常迅速的,數據的增速也是飛快的。怎么在數據快速增長的同時里兼顧成本的優化,也是對存儲非常大的一個挑戰。

阿里雲容器網絡文件系統 CNFS

針對容器中使用文件存儲的優勢和挑戰,阿里雲推出了容器網絡文件系統 CNFS,內置在阿里雲托管的 Kubernetes 服務 ACK 中。CNFS 通過將阿里雲的文件存儲抽象為一個 K8s 對象(CRD)進行獨立管理,包括創建、刪除、描述、掛載,監控及擴容等運維操作,使用戶可以在享受容器使用文件存儲帶來的便捷的同時,提高文件存儲的性能和數據安全,並提供容器一致的聲明式管理。

image.png

CNFS 在彈性伸縮、性能優化、可訪問性、可觀測性、數據保護、聲明式等方面針對容器存儲進行了深度優化,使其與同類方案相比具有以下明顯優勢:

在存儲類型方面,CNFS支持文件存儲和對象存儲,目前支持阿里雲的NAS、CPFS、OSS雲產品
支持 Kubernetes 兼容的聲明式生命周期管理,可以一站式管理容器和存儲
支持 PV 的在線擴容、自動擴容,針對容器彈性伸縮特性優化
支持更好的和 Kubernetes 結合的數據保護,包括 PV 快照、回收站、刪除保護、數據加密、數據災備等
支持應用級別的應用一致性快照,自動分析應用配置和存儲依賴,一鍵備份、一鍵還原
支持 PV 級別監控
支持更好的訪問控制,提高共享文件系統的權限安全,包括目錄級 Quota、ACL
提供性能優化,針對文件存儲的小文件讀寫,提供微秒級性能優化
成本優化,提供低頻介質及轉換策略,降低存儲成本

典型使用場景及最佳實踐

1. 極致彈性的容器應用場景

以互聯網和大型金融服務類突發應用為例,這種場景下具有需要在短時間內彈性擴容大量的容器,對資源彈性伸縮有較高的能力要求的特點,因此容器存儲需具備通用的彈性和快速伸縮能力。這類場景典型的應用包括:媒體/娛樂/直播、Web 服務/內容管理、金融服務、游戲、持續集成、機器學習、高性能計算等。

在這個場景中,Pod 需要靈活的掛載和卸載存儲 PV,存儲的掛載需要匹配容器快速啟動,並且存在大量文件I/O;當海量的持久化數據快速增長,存儲成本壓力也會比較大。建議使用 ACK+CNFS+NAS 的組合,結合CNFS 可以做到以下優化:

內置文件存儲類,在短時間內可啟動數千個容器,並毫秒級掛載文件存儲 PV
內置文件系統 NAS,可以為海量容器提供共享讀寫能力,快速實現容器應用/數據高可用
針對低時延和小文件的優化,實現微秒級讀寫性能,解決容器高並發訪問對文件存儲性能的要求
提供文件存儲生命周期管理,自動冷熱分級,降低存儲成本

2. AI 容器應用場景

現在有越來越多的 AI 業務在容器中進行訓練和推理,雲上海量的基礎設施和 IDC 結合的方式也為 AI 提供了更靈活的算力調度。當 AI 業務在雲上進行訓練和推理時,應用的數據集是非常龐大的。比如在自動駕駛領域,數據集可以達到 10個 PB 甚至於超百 PB 的規模,在如龐大的數據量下做 AI 訓練,又需要保證訓練的時效性,使容器 AI 主要面臨以下挑戰:

AI 的數據流復雜,存在存儲系統的 IO 瓶頸;
AI 訓練、推理需要高性能的計算和存儲;
AI 算力協同,雲和 IDC 資源/應用 需要統一調度

針對這個場景,建議使用 ACK 納管集群+CNFS+文件存儲 NAS/CPFS 的組合,主要可以獲得以下優化:

優化的文件存儲 NAS 讀寫性能,提供高性能共享存儲,與 AI 場景完美匹配,支持海量小文件訪問,加速 AI 訓練、推理性能
適配了容器環境的 GPU 雲服務器、裸金屬服務器(神龍)等計算集群,提供超高吞吐和超高 IOPS 能力;CPFS 還可支持雲上/雲下混合部署
ACK 納管集群,支持 ACK 納管 IDC 自建的 Kubernetes 集群,雲上/雲下形成統一的資源池,異構資源/應用統一調度,最大化的利用雲上海量基礎設施的計算優勢

3. 基因計算應用場景

現在基因檢測技術已經逐漸走向成熟,並且在很多醫院里慢慢被引入,通過對患者基因的測量更加精准、快速地解決復雜病症。對於我們每一個,基因的采樣數據者是非常龐大的,動轍都是幾十個 GB。而在進行某類定向的基因分析時,只有個人的樣本是遠遠不夠的,可能需要采集十萬甚至百萬個樣本,這對容器存儲會帶來非常大的挑戰,包括:

大規模樣本的數據挖掘需要海量計算資源和存儲資源,數據增長快,存儲費用高,管理困難。
海量數據需要快速、安全的分發到國內多地,多數據中心需要共享訪問
批量樣本處理時間長,性能需求高,資源需求峰谷明顯,難以規划

針對基因計算的場景,建議使用 ACK+AGS+CNFS+文件存儲 NAS+OSS 的組合,來解決以下問題:

NFS 內置的文件存儲類,可以快速搭建極速、低成本、高精度的基因計算容器環境,滿足基因測序計算和數據共享需求
CNFS 支持對象存儲 OSS 類型的 PV,可以保存下機數據和組裝后數據以及分析結果數據,用於數據的分發、歸檔、交付,保證 海量用戶同時上傳、下載數據,提高數據交付效率。同時提供海量存儲空間,同時通過生命周期管理,將冷數據歸檔存儲,降低存儲成本
AGS 針對基因計算的熱點數據進行 GPU 加速計算,性能相比傳統模式提高 100 倍,快速降低基因測序的時間和成本

當然,除上以上三種典型代表,CNFS 在很多場景下都可以為業務提供容器和存儲結合使用的深度優化方案。歡迎大家通過文檔了解:https://help.aliyun.com/document_detail/264678.html

案例:使用 CNFS 和文件存儲構建現代化企業應用

通過與 CNFS的 深度集成,阿里雲文件存儲 NAS 已經成為容器存儲最理想的解決方案。下面通過幾個真實的客戶案例,幫助大家更直接地了解如何使用阿里雲容器服務 ACK 和文件存儲構建現代化企業應用。

視頻服務

百家雲是全國領先的一站式視頻服務提供商。疫情期間,百家雲流量暴漲,業務量短時間內增長了數十倍,如此迅速擴容需要在客戶無感知的情況下完成;另外,百家雲業務場景大量讀寫需求,同時計算集群水平擴容4個集群,在錄制轉碼的過程當中,原有存儲系統遇到 IO 瓶頸,對於百家雲大流量、高並發的處理能力是個嚴峻考驗。

這里對存儲提出的要求包括快速適配容器應用的彈性伸,以及縮之后需要快速的數據訪問。最終,通過阿里雲容器服務 ACK 和文件存儲 NAS 的結合,優化容器集群架構,實現了在 3 天內彈性擴容 10 倍資源。

image.png

文件存儲 NAS 按需彈性擴展,基於容器服務 ACK 自動化定時伸縮,短時間內啟動數千個容器,可以完美適配容器應用的彈性。采用文件存儲 NAS,提供標准的訪問接口兼容主流轉碼軟件,輕松掛載編輯視頻工作站。百家雲的 K8s 集群對性能要求極高,通過高性能 NAS 服務,能供提供最高 10GB 大吞吐,解決了 IO 瓶頸,完美應對百家雲大流量、高並發的場景,保障疫情期間直播錄制業務順利上線。

自動駕駛

第二個案例是汽車行業的典型客戶,該客戶是中國領先的智能汽車制造商,也是融合互聯網和人工智能前沿創新的科技公司,其產品搭載了多項人工智能技術的服務 ,如語音助手、自動駕駛等。

該企業面臨的問題是在自動駕駛場景下,訓練素材通常是上億的 100KB 的小圖片,總量高達上百 TB,訓練過程中,GPU 通常需要反復隨機訪問訓練集中的一部分圖片,需要文件系統提供高 IOPS 的文件訪問能力,從而加速訓練過程;大規模存儲系統穩定性以及性能無法隨規模進行線性擴展;並且隨着存儲資源急劇增長,也帶來了成本高、運維管理復雜等問題。

image.png

通過采用阿里雲文件存儲,完美支撐了該客戶的智能駕駛的高性能計算平台,最終隨機訪問小文件訓練速度提高了 60%;文件存儲在集群中的多個數據節點,多個客戶端同時訪問,支持並行擴展;並且阿里雲文件存儲支持多級存儲數據流動,大大簡化了自動駕駛數據采集、傳輸、存儲的流程。

基因計算

最后是來自基因計算場景的案例,該客戶是全球領先的生命科學前沿機構。客戶面臨的問題:數據增長快,當前存儲無法滿足容量和性能線性擴展需求,基因計算性能遇到 IO 瓶頸;大規模樣本數據存儲費用高,管理困難。

通過使用容器集群掛載文件存儲 NAS 高性能計算基因數據分析中的共享存儲,保存下機數據和組裝后的數據,以及過程中的中間數據,為該機構提供了低延時、高 IOPS 的容器存儲能力,存儲性能由 1GB/s 提升至 10GB/s,實現數據 12 小時端到端處理完成,包括數據上雲,結果下雲分發。

image.png

文件存儲 NAS 提供彈性擴展和高吞吐量的帶寬,根據每次業務規模不同,NAS 按需分配容量並且提供與之匹配的帶寬,既滿足了業務彈性的需求,又節省 TCO;文件存儲 NAS 通過統一的流程、統一的資源調度雲上和雲下的異構計算資源,低成本且高效地完成基因計算任務。

原文鏈接

本文為阿里雲原創內容,未經允許不得轉載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM