了解容器相對于虛擬機(jī)的關(guān)鍵優(yōu)勢,對于了解基于容器的應(yīng)用程序成功運行所需的存儲功能至關(guān)重要。
現(xiàn)代企業(yè)的成功取決于以數(shù)據(jù)為中心的規(guī)劃速度和效率。數(shù)據(jù)提供了一種戰(zhàn)略優(yōu)勢,為開發(fā)人員提供正確的工具和數(shù)據(jù)對于滿足業(yè)務(wù)需求至關(guān)重要。
因此,企業(yè)正在迅速認(rèn)識到容器相對于虛擬機(jī)的優(yōu)勢,以實現(xiàn)ITOps和DevOps實踐的現(xiàn)代化。在對IT存儲管理員最近的一項調(diào)查中,Enterprise Storage Group(ESG)公司發(fā)現(xiàn),41%的受訪者表示將容器用于生產(chǎn)應(yīng)用程序,另外33%的受訪者表示將容器用于測試/開發(fā)活動。
人們通常將容器與虛擬機(jī)進(jìn)行比較,盡管容器規(guī)模更小并且需要的開銷更少。這兩種應(yīng)用程序可以采用相同的基礎(chǔ)設(shè)施,這一點很誘人。實際上,容器與虛擬機(jī)有很大不同。如果目標(biāo)是使基于容器的應(yīng)用程序環(huán)境的價值最大化,那么了解這些差異如何影響IT基礎(chǔ)設(shè)施設(shè)計是至關(guān)重要的。
容器與虛擬機(jī)之間的主要區(qū)別
與虛擬機(jī)不同,容器持續(xù)的時間是短暫的,它們會自動啟動和關(guān)閉。但是像虛擬機(jī)一樣,容器需要訪問持久性存儲,以在生產(chǎn)環(huán)境中發(fā)揮其全部潛力。如果沒有持久性存儲,則在容器關(guān)閉時數(shù)據(jù)會“死亡”?;谌萜鞯膽?yīng)用程序的企業(yè)級存儲基礎(chǔ)設(shè)施必須提供功能強(qiáng)大的持久存儲。但這只是一個開始,為了更好地發(fā)展,容器環(huán)境需要支持容器具有輕量、移動和短暫特性的存儲生態(tài)系統(tǒng)。
容器相對于虛擬機(jī)的優(yōu)勢
企業(yè)在設(shè)計強(qiáng)調(diào)容器與虛擬機(jī)相比具有優(yōu)勢的存儲生態(tài)系統(tǒng)時,首先要確定與虛擬機(jī)不同的容器的關(guān)鍵方面:
•容器輕量化意味著更大的移動性。容器是為移動性而設(shè)計的,這與可以移動但主要是為固定狀態(tài)的虛擬機(jī)不同。因此,容器更有可能使用公共云服務(wù)進(jìn)行部署,并在混合云和多云環(huán)境之間移動。
在ESG公司對基于容器的應(yīng)用程序環(huán)境的研究中,70%的受訪者表示,他們更喜歡將公共云和私有數(shù)據(jù)中心結(jié)合用于基于容器的應(yīng)用程序。而在對支持容器環(huán)境的存儲管理員的另一項調(diào)查中,超過三分之一的受訪者表示,在混合云或多云環(huán)境中管理容器存儲是他們與存儲相關(guān)的最大挑戰(zhàn)之一。對于虛擬機(jī),有可能進(jìn)出云平臺。對于基于容器的環(huán)境具有這種移動性是人們所期望的。
•容器的短暫特性要求具有更高的性能。與虛擬機(jī)相比,容器的另一個優(yōu)點是它們的短暫特性。具有即時性的容器必須迅速運轉(zhuǎn)起來,而傳統(tǒng)的IT流程不能減慢短暫的、加速的應(yīng)用程序環(huán)境。
例如,沒有時間提交故障單讓存儲管理員人工配置卷。容器在大多數(shù)情況下必須自動配置大量資源:重構(gòu)當(dāng)今的許多應(yīng)用程序可能會導(dǎo)致數(shù)百個(甚至數(shù)千個)微服務(wù)同時運行。支持的存儲環(huán)境必須能夠快速一致地處理對新存儲資源的大量請求。
這一要求不僅提高了對使用容器的良好存儲性能的需求,而且還意味著存儲基礎(chǔ)設(shè)施必須更好地交付數(shù)據(jù)服務(wù),例如調(diào)配新的卷。在ESG公司進(jìn)行的一項研究中,超過三分之一的支持容器環(huán)境的存儲管理員認(rèn)為,存儲性能是他們與存儲相關(guān)的最大的持久性難挑戰(zhàn)之一,將近三分之一的存儲管理員將存儲資源調(diào)配的速度視為最大的挑戰(zhàn)。
專注于存儲靈活性、一致性和性能,以使基于容器的應(yīng)用程序獲得最佳結(jié)果。
企業(yè)需要的存儲功能
考慮到這些特性,重點關(guān)注幾個存儲基礎(chǔ)設(shè)施功能以最大限度地利用基于容器的應(yīng)用程序是很重要的。在設(shè)計企業(yè)存儲基礎(chǔ)設(shè)施以支持容器時,需要關(guān)注以下四個特征:
•提供一致、標(biāo)準(zhǔn)化和抽象的存儲環(huán)境的能力。盡管Kubernetes的大多數(shù)實現(xiàn)方式提供了一些共性,但其余的變化可能會增加復(fù)雜性。開發(fā)人員需要在Kubernetes的各種迭代(或其他容器編排框架)之間建立標(biāo)準(zhǔn)化的抽象層,以便這些迭代可以輕松且無縫地相互通信。實現(xiàn)這種必要的標(biāo)準(zhǔn)化的一種方法是容器存儲接口(CSI)開源項目,該項目提供了一種標(biāo)準(zhǔn)化的機(jī)制,用于跨Kubernetes、Mesos和Docker等不同容器編排系統(tǒng)進(jìn)行存儲。在考慮存儲選項時,需要尋找為容器環(huán)境提供容器存儲接口(CSI)驅(qū)動程序的存儲選項。
•在混合云環(huán)境中進(jìn)行一致的管理、監(jiān)視和控制。標(biāo)準(zhǔn)化可以減輕開發(fā)社區(qū)的負(fù)擔(dān),但是管理員需要在整個基于混合或基于多云容器的應(yīng)用程序環(huán)境中建立一致的存儲功能和管理。優(yōu)先考慮為單個存儲終結(jié)點提供一致的工具集和一致的用戶體驗的存儲技術(shù),以應(yīng)對內(nèi)部部署工作負(fù)載。
•下一代性能。任何支持基于容器的應(yīng)用程序的存儲環(huán)境都應(yīng)使用閃存設(shè)備?;贜VMe的存儲架構(gòu)以及旨在支持存儲級內(nèi)存的架構(gòu)也可以提高整體存儲性能。但是,性能要求超出了以低延遲滿足高水平的讀取和寫入請求的能力,企業(yè)必須準(zhǔn)備好存儲環(huán)境來處理成千上萬個微服務(wù)同時啟動的潛力。
在評估容器的存儲技術(shù)時,需要考慮存儲性能的所有方面:延遲、帶寬、提供和執(zhí)行數(shù)據(jù)服務(wù)的能力以及可擴(kuò)展性。存儲技術(shù)必須能夠快速傳輸數(shù)據(jù),而且還必須能夠快速地提供數(shù)據(jù)服務(wù)。IT部門必須能夠快速有效地將持久性存儲連接到那些微服務(wù),并且存儲設(shè)備必須能夠隨著需求的增長而擴(kuò)展其性能。
•規(guī)模和硬件靈活性。人工配置存儲環(huán)境所需的時間和精力對于容器而言并不現(xiàn)實。應(yīng)用程序開發(fā)團(tuán)隊需要一種可以快速擴(kuò)展的方法,尤其是在將新應(yīng)用程序或微服務(wù)移入生產(chǎn)環(huán)境時。該環(huán)境應(yīng)該能夠輕松擴(kuò)展存儲資源,而幾乎不需要管理員干預(yù)。目的是確保開發(fā)人員不必等待數(shù)小時、數(shù)天或數(shù)周的時間即可滿足請求,并加快開發(fā)速度。
容器的存儲環(huán)境應(yīng)該跨多種硬件類型和多代產(chǎn)品工作,集成新技術(shù)、擴(kuò)展性能或增加容量都不需要拆掉并更換硬件。這些環(huán)境必須能夠以盡可能大的靈活性進(jìn)行擴(kuò)展。
在考慮容器相對于虛擬機(jī)的優(yōu)勢時,具有創(chuàng)造力很重要。構(gòu)建存儲基礎(chǔ)設(shè)施環(huán)境以使應(yīng)用程序開發(fā)人員、IT組織和企業(yè)能夠最大程度地發(fā)揮基于容器的應(yīng)用程序的潛力,這將需要一種不同的方法。專注于存儲靈活性、一致性和性能可以實現(xiàn)最佳結(jié)果。