天天看點

劍指企業級雲原生,阿裡雲 CNFS 如何破局容器持久化存儲困境典型使用場景及最佳實踐

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

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

劍指企業級雲原生,阿裡雲 CNFS 如何破局容器持久化存儲困境典型使用場景及最佳實踐
雲原生時代,我們如何解決海量容器的編排和存儲?又該如何提升容器存儲的性能和穩定性?

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

随着基礎設施從實體機到虛拟機,到以 Kubernetes 為代表的容器環境,甚至到 Serverless 的逐漸演進,今天的計算和應用正在面臨巨大的變化,最明顯的就是從過去應用在虛拟機裡邊去獨占一個 CPU 記憶體分區,到今天在 Serverless 裡演變成在函數層面去為使用者提供服務。

劍指企業級雲原生,阿裡雲 CNFS 如何破局容器持久化存儲困境典型使用場景及最佳實踐

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

1.高密

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

2.彈性

當我們建立一個實體機或者虛拟機時,常會在一個比較穩定的周期之内通路和使用存儲媒體。但今天在容器環境裡,前端計算服務的彈性伸縮變化是非常快的,可能需要瞬間從數十台到幾百台,是以也需要非常高的彈性存儲能力。

3.資料隔離

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

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

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

劍指企業級雲原生,阿裡雲 CNFS 如何破局容器持久化存儲困境典型使用場景及最佳實踐

1. 應用相容

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

2. 極緻彈性

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

3. 共享

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

4. 安全可靠

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

5. 優化成本

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

阿裡雲容器網絡檔案系統 CNFS

針對容器中使用檔案存儲的優勢和挑戰,阿裡雲推出了容器網絡檔案系統 CNFS,内置在阿裡雲托管的 Kubernetes 服務 ACK 中。CNFS 通過将阿裡雲的檔案存儲抽象為一個 K8s 對象(CRD)進行獨立管理,包括建立、删除、描述、挂載,監控及擴容等運維操作,使使用者可以在享受容器使用檔案存儲帶來的便捷的同時,提高檔案存儲的性能和資料安全,并提供容器一緻的聲明式管理。

劍指企業級雲原生,阿裡雲 CNFS 如何破局容器持久化存儲困境典型使用場景及最佳實踐

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

1.在存儲類型方面,CNFS支援檔案存儲和對象存儲,目前支援阿裡雲的NAS、CPFS、OSS雲産品

2.支援 Kubernetes 相容的聲明式生命周期管理,可以一站式管理容器和存儲

3.支援 PV 的線上擴容、自動擴容,針對容器彈性伸縮特性優化

4.支援更好的和 Kubernetes 結合的資料保護,包括PV快照、資源回收筒、删除保護、資料加密、資料災備等

5.支援應用級别的應用一緻性快照,自動分析應用配置和存儲依賴,一鍵備份、一鍵還原

6.支援 PV 級别監控

7.支援更好的通路控制,提高共享檔案系統的權限安全,包括目錄級 Quota、ACL

8.提供性能優化,針對檔案存儲的小檔案讀寫,提供微秒級性能優化

9.成本優化,提供低頻媒體及轉換政策,降低存儲成本

典型使用場景及最佳實踐

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 倍資源。

劍指企業級雲原生,阿裡雲 CNFS 如何破局容器持久化存儲困境典型使用場景及最佳實踐

檔案存儲 NAS 按需彈性擴充,基于容器服務 ACK 自動化定時伸縮,短時間内啟動數千個容器,可以完美适配容器應用的彈性。采用檔案存儲 NAS,提供标準的通路接口相容主流轉碼軟體,輕松挂載編輯視訊工作站。百家雲的 K8s 叢集對性能要求極高,通過高性能 NAS 服務,能供提供最高 10GB 大吞吐,解決了 IO 瓶頸,完美應對百家雲大流量、高并發的場景,保障疫情期間直播錄制業務順利上線。

自動駕駛

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

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

劍指企業級雲原生,阿裡雲 CNFS 如何破局容器持久化存儲困境典型使用場景及最佳實踐

通過采用阿裡雲檔案存儲,完美支撐了該客戶的智能駕駛的高性能計算平台,最終随機通路小檔案訓練速度提高了 60%;檔案存儲在叢集中的多個資料節點,多個用戶端同時通路,支援并行擴充;并且阿裡雲檔案存儲支援多級存儲資料流動,大大簡化了自動駕駛資料采集、傳輸、存儲的流程。

基因計算

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

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

劍指企業級雲原生,阿裡雲 CNFS 如何破局容器持久化存儲困境典型使用場景及最佳實踐

檔案存儲 NAS 提供彈性擴充和高吞吐量的帶寬,根據每次業務規模不同,NAS 按需配置設定容量并且提供與之比對的帶寬,既滿足了業務彈性的需求,又節省 TCO;檔案存儲 NAS 通過統一的流程、統一的資源排程雲上和雲下的異構計算資源,低成本且高效地完成基因計算任務。

更多關于阿裡雲容器網絡檔案系統 CNFS 的技術能力、應用場景和使用方式,請點選(

https://yqh.aliyun.com/live/ack_cnfs_release

)了解。