什麼是雲原生?
“雲原生”是一個被人們經常使用但不是定義很清楚的一個術語。我們認為“雲原生應用”應有以下特點:
- 他們不是單獨的,它們是離散的、在邏輯上可分離的幾個部分,每個單獨打包和部署。通常這些都是以容器為單元完成,在某些情況下就像普通的Linux軟體包一樣。
- 在同一台計算機上不應強制運作其全部軟體堆棧。它們可以在任何地方、任何伺服器或任何區域内計劃運作。它們還應該能夠在分布式部署系統中互相感覺。
- 通過增加特定計算邏輯的并行執行個體,應用程式應能夠根據需求快速擴充。
- 應用程式所依賴的、用于協調通信或狀态儲存的服務應該能夠根據需要以程式設計和動态的方式進行探知和修改,且與其實體基礎設施無關。
通過明确定義雲原生的含義,我們可以更好地定義各種雲原生技術元件的職責劃分。這些雲原生應用元件的執行個體包括排程軟體、網絡軟體以及存儲軟體。
如何解決容器原生存儲問題?
Portworx開發了一種新的存儲體系結構—容器定義型存儲。它基于高度分布式環境開始建構。排程軟體将其作為容器進行部署和管理,并将存儲作為本地卷插件擴充到Docker容器中。
Portworx提供了一種現代化的DevOps應用部署方式。我們可以讓排程工具将存儲基礎設施部署為容器。是以,大規模部署存儲将變得十分簡單,不需要複雜的手動操作。
Portworx側重于高負荷負載,及其在普通伺服器上的容器粒度操作。Portworx的核心專為現代伺服器建構,并利用了NVMe、SSD和更快速網絡技術的最新進展。
Portworx體系結構使使用者能夠在混合雲環境中擴充其服務,而不需要在資料路徑中使用中央中繼資料伺服器。這對于采用容器定義的工作流來說是至關重要的。為了友善與排程軟體,如Kubernetes、Mesos、Swarm等進行本地內建,我們在設計Portworx部署時考慮了以容器為中心的DevOps工作流。Portworx架構還支援以DevOps為中心的内路存儲服務,以及容器化的應用。
除了容器的本地存儲,Portworx容器定義的存儲的主要優勢包括:
容器細粒度卷管理:類似資料庫這樣的有狀态型容器化應用,需要在分布式節點上的永久資料。Portworx使用有狀态的Stateful Fabric來管理資料卷,即container-SLA-aware,來做到這一點。複制卷資料確定其狀态,同時滿足容器化應用的性能和可用性。更重要的是,Portworx可在每個容器級别中管理其快照、克隆副本和複制操作,使DevOps能夠單獨管理微服務,而不是像LUNs那用做傳統存儲系統的綁定組。使用Portworx管理有态容器Stateful Containers很友善,每個容器級别的資料的可用性和管理也很簡單,且高度自動化。
1.主機位址通路型存儲: 主機位址通路型存儲是在沒有任何中央中繼資料伺服器的情況下實作擴充存儲。每個卷直接映射到宿主上(即不需要轉譯)。與目前的存儲解決方案相比,Portworx的方法有三個優點:
• 消除了管理和維護中央資料庫的需求,簡化了存儲管理和配置。
• 增加新的節點,使彈性擴充變得更便捷。
• 支援适用于跨資料中心跨雲的存儲叢集雲原生架構(私有或公有雲)。
- 自動調整: Portworx根據每個伺服器的配置參數自動調優最佳資料放置和分層算法。進而免除了手動幹預、調優或配置RAID參數或驅動器組的工作。所有的驅動器都将作為一個大的全局池供Portworx使用,而Portworx軟體将決定存儲的最優配置。
- Lighthouse雲監控管理: 您的資料可以儲存在您的雲中,也可以存儲在本地環境,都可以通過Portworx的Lighthouse雲監控服務和直覺的使用者界面來管理。
- 快速同步: 快速同步功能為在多節點環境中的應用性能加速提供同步支撐環境。它允許資料庫以更高的IOPS速率運作,并通過減少本地驅動器上的争用來支援更大密度的部署。
- 全局命名空間: 卷可以在運作在不同伺服器上的多個應用程式之間共享。
- 雲原生擴充,包括:
•自動快照和備份到S3
•資料回報,雲中的虛拟卷可以通路來自不同雲或資料中心的資料
•CoS與不同EBS卷類型配對
•Restful APIs可用于查詢命名空間的修改情況——避免了在中繼資料管理中進行昂貴的命名空間操作,如is、find等
随着容器在企業中的部署越來越多,大多數存儲供應商感到必須為容器提供支撐,比如Docker的卷插件。但是,連接配接到Docker的Array忽略了容器的分布式特性,以及需要将容器、排程器和存儲作為一個無縫整體的精密架構和易用性。
一些新的用于容器的分布式軟體項目可能會避免使用傳統存儲供應商的方法,但是我們發現分布式軟體的嘗試在存儲資料路徑實作方面存在缺陷,這可能會導緻嚴重的性能問題和規模限制。
Portworx為企業客戶提供了第一個真正的容器專用型基礎設施。是以,它是部署具有嚴格的、可擴充的、自動化的、分布式存儲層的有态容器應用的必要的部分,有助于完善容器的生态系統。