雲計算

雲原生時代,誰是容器的最終歸宿?

作者 | 孟威
來源 | 凌雲時刻(微信號:linuxpk)

前言

“雲原生技術有利於各組織在公有云、私有云和混合雲等新型動態環境中,構建和運行可彈性擴展的應用。雲原生的代表技術包括容器、服務網格、微服務、不可變基礎設施和聲明式 API。這些技術能夠構建容錯性好、易於管理和便於觀察的鬆耦合系統。結合可靠的自動化手段,雲原生技術使工程師能夠輕鬆地對系統作出頻繁和可預測的重大變更。”來自CNCF。

K8S對網絡,存儲,計算進行了編排,已經成為了雲原生的操作系統,給用戶展現了一個新的界面,極大的簡化了用戶的運維,提升了資源的彈性,真正的做到了按需使用,降低了用戶的成本。雲原生快速被企業和開發者接受。Forrester 預測到2022年, 全球組織/公司在生成環境運行容器化應用,從今天不足30%的比例將大幅度提升到超過75%,企業應用容器化的趨勢勢不可擋。

image.png

image.png

容器在生產環境的應用的比例快速上漲,從2016年首次調查的23%,到2018年上漲到73%,實際到2020年已經上漲到84%。
image.png

雲原生應用正在引領各個應用領域實現雲原生化,同時也在深刻改變著應用服務的方方面面。存儲作為應用運行的基石,也在服務雲原生化過程中提出了更多的需求。雲原生存儲為了滿足雲原生特性的要求,可用性、穩定性、擴展性、性能等核心能力都有大幅的優化。

作為國內最大的雲產商,阿里雲提供了豐富的雲原生服務。和網絡,計算的編排不同的是,存儲需要考慮如何無縫的接入到K8S中進行編排和調度。K8S推出了CSI,通過統一的標準將存儲和K8S進行了無縫的對接。本文討論雲原生容器對存儲的挑戰,面向雲原生和容器等領域的發展,阿里雲文件存儲不斷進行雲原生適配和演進,完美應對雲原生存儲挑戰,阿里雲NAS是容器存儲的自然選擇。

雲原生帶來的存儲挑戰

新的企業負載/智能工作負載容器化、遷雲、存儲方面遇到的性能、彈性、高可用、安全及生命週期等方面的問題,不但需要存儲產品層次的改進,還需要在雲原生的控制/數據平面的改進,推進雲原生存儲和雲存儲的演進。

1.存儲性能挑戰:雲原生應用在大數據分析、AI 等場景得到廣泛應用,這些場景對存儲吞吐和IOPS的需求也非常高。通過容器集群,集中處理海量數據,同時啟動數千Pod,彈出海量Pod對共享文件系統進行讀寫。重負載下導致時延增加,高延遲毛刺增多,讀寫穩定性不足,同時雲原生應用的快速擴容、極致伸縮等特性也會考驗存儲服務在短時間內迎接峰值流量的能力。

  • 集中式高吞吐對共享存儲池衝擊:高性能計算場景中,集中處理批量數據,同一個存儲集群中帶寬擠佔,造成訪問質量下降。
  • 峰值吞吐不足:大規模數據處理,文件數目少,峰值吞吐高,請求密集,接近獨佔集群的極限帶寬。
  • 時延增加導致 GPU 等待:多機多卡 GPU 訓練,讀密集型。時延增加導致 IOwait 和 GPU 等待。

2.存儲彈性挑戰:雲原生的極致彈性,給存儲在彈性方面帶來了新的挑戰。隨著雲原生多元業務發展,數據庫如MySQL等擴容,元數據管理應用如Zookeeper等在線擴容,本地盤存儲容量無法彈性擴容。

3.存儲高可用挑戰:應用運維、系統運維時,存儲隨容器遷移的穩定性和可發現性挑戰。

4.存儲的安全挑戰:面向的隔離性要求場景主要是多應用共享,文件系統多租戶環境的容量配合,集群級文件系統共享訪問的權限控制。用戶應用的全鏈路數據加密要求。

5.存儲的生命週期管理挑戰:共享文件系統、緩存系統的聲明方式創建和刪除。

阿里雲文件存儲如何來應對這些挑戰

針對以上在新的計算模式下,存儲方面遇到的性能,彈性,高可用,安全,生命週期等方面的問題,不但是需要存儲產品層次的改進,更需要在雲原生的控制/數據平面的改進,在不久的將來實現穩定,安全,和效率並舉的雲原生存儲。需要在雲原生應用層、存儲雲產品層、底層存儲適配和存儲核心層都需要做相應的改進和提升才有可能提供更加穩定,安全和高效的面向應用的雲原生存儲。

隨著雲原生技術的發展,各個公有云廠商都開始對其雲服務進行雲原生化改造或適配,提供更加敏捷、高效的服務來適應雲原生應用的需求。阿里雲存儲服務也在雲原生應用適配做了很多優化,阿里雲文件存儲支持 CSI 、Flexvolume存儲驅動無縫的銜接了雲原生應用和存儲服務之間的數據接口。實現了用戶使用存儲資源時對底層存儲無感知,而專注於自己的業務開發。

文件存儲NAS為雲原生提供了一個完全彈性和共享的文件系統,按需使用,滿足雲原生極致的彈性。文件存儲從性能,彈性,安全,生命週期管理等方面對雲原生存儲進行了打造和演進。

  1. 在AI,大數據分析,高性能計算領域,阿里雲文件系統分散工作負載多文件系統和多個存儲集群、多個可用區通過容器編排分散IO到多文件系統。支持客戶端本地只讀緩存技術、分佈式存儲,降低網絡延遲和IO、GPU等待時間。可以支持剛性交付數十GB吞吐的能力,提升算力。
  2. 彈性方面,NAS支持自由擴縮容,按量付費,是完全託管的文件系統。極速型NAS提供了百us的延時,在金融,互聯網等典型的突發彈性場景中,能夠在幾分鐘內啟動數千個容器,並完成數據的極速加載、卸載。
  3. 高可用方面,NAS支持容器快速Failover,同時支持存儲快照、備份等企業級特性。
  4. 在安全方面,支持全面的AD/ACL權限管理,支持配額,打造了統一命名空間,支持對海量pod間的IO進行隔離和統一管理;文件存儲產品支持傳輸加密、落盤加密等功能。
  5. 面對海量數據,提供了數據生命週期管理,自動歸檔冷數據,可以降低90%的用戶成本。

為什麼選擇阿里雲文件存儲作為容器存儲?

阿里雲文件存儲NAS為非結構化數據提供存儲服務。隨著雲原生的快速發展,許多公司的容器化應用程序使用NAS存儲數據,有些甚至存儲PB級數據。阿里雲在雲原生布局上提供容器K8s服務(ACK)和彈性容器實例(ECI),容器實例使用NAS文件系統作為持久化存儲。容器存儲離不開共享文件存儲。

阿里雲文件存儲是雲原生、高可用、成本優化的完全託管的文件系統。阿里雲文件存儲有三款產品,通用型NAS,極速型NAS和並行文件系統CPFS。

image.png

阿里雲NAS是容器存儲的自然選擇,因為它是一種完全託管的服務,配置簡單,添加或刪除數據時自動擴展,和容器基礎架構一樣靈活便捷。

image.png

通常,彼此共享數據的容器自然需要共享文件存儲,長期運行的容器也可使用共享文件存儲應對故障。阿里雲文件存儲同時滿足容器應用場景對持久化存儲彈性伸縮、靈活掛載、高性能的需求。此外,容器鏡像的配置文件或初始加載數據存儲可以在 NAS 文件存儲上實現共享,在容器批量加載時實時讀取,多 POD 間通過 NAS 共享持久化數據,在 POD 故障時可以進行故障切換。

image.png

隨著新技術的發展,機器學習AI和基因處理等大量使用共享文件存儲。我們通常看到如下一些示例:

  • Web服務:WordPress之類的內容管理應用程序受益於擴展到多個實例以實現性能和冗餘,並且需要在多個實例之間共享上載、插件和模板。
  • 軟件開發工具:JIRA和Git之類的開發人員工具需要在實例之間共享數據以實現高可用性,而代碼則保留在多個阿里雲可用區中以實現持久性。
  • 大數據分析和處理:諸如基因數據處理、Tensorflow機器學習框架需要通過文件系統接口訪問數據,並且具有持久的共享存儲,可以使多個用戶和作業在同一組數據上並行運行。
  • 企業應用程序:共享Notebook(如Jupyter Jupyterhub)需要為notebook和user workplace提供持久存儲,擁有共享存儲可以使數據科學家輕鬆協作。

總結

以容器和雲原生計算被企業快速接納,Kubernetes 逐漸成為雲原生時代的基礎設施,容器服務成為雲原生時代基礎設施。新的工作負載推進雲原生存儲和雲存儲的演進,雲原生控制平面實現效率等方面的能力,從數據面提升存儲穩定和減小安全隱患,雲存儲繼續夯實性能,容量,彈性,密度等基礎能力,共建雲原生環境下的存儲生態。

阿里雲文件存儲是容器存儲的自然選擇,完美應對雲原生存儲在性能,彈性,高可用,安全,生命週期等方面的數據挑戰。阿里雲基於雲原生文件存儲技術的快速演進將不斷賦能雲原生和容器領域的快速發展。

點擊此處,瞭解更多阿里雲文件存儲。

Leave a Reply

Your email address will not be published. Required fields are marked *