云存儲架構(gòu)能解決 DevOps 的什么問題?
一、云存儲架構(gòu)介紹
云存儲,也稱為數(shù)據(jù)存儲即服務(wù),是對接口后的存儲的抽象,可在該接口內(nèi)按需管理存儲。此外,接口抽象化存儲的位置,這樣一來,不管存儲是在本地還是遠程(或混合)都無關(guān)緊要。云存儲基礎(chǔ)架構(gòu)引入新的架構(gòu),能夠支持為大量潛在用戶提供不同水平的服務(wù),以及地理上分散的存儲容量。了解云存儲架構(gòu)的關(guān)鍵架構(gòu)屬性,從數(shù)據(jù)保護和完整性到存儲優(yōu)化。
以目前數(shù)據(jù)增長的速度來看,云存儲越來越流行不足為奇。增長速度最快的數(shù)據(jù)是歸檔數(shù)據(jù),鑒于很多因素它是云存儲的理想之選,這些因素包括成本、訪問頻率、保護和可用性。但是并非所有云存儲都是相同的。云存儲的提供商可能主要關(guān)注于成本,而其它的云存儲提供商可能關(guān)注于可用性或性能。因此沒有一個架構(gòu)具有單一側(cè)重點,但是一個架構(gòu)實現(xiàn)給定特征的程度定義了其市場和適當?shù)氖褂媚P汀?/p>
不從效用角度談?wù)摷軜?gòu)是很難的。筆者想表達的意思是,通過各種特征度量一個架構(gòu),包括成本、性能、遠程訪問,等等。因此,筆者首先定義一組可度量云存儲模型的標準,然后探究云存儲架構(gòu)內(nèi)的一些有趣的實現(xiàn)。
首先,需要討論一個通用的云存儲架構(gòu),如下圖所示,設(shè)置上下文以供后面探究獨特的架構(gòu)特性。云存儲架構(gòu)主要關(guān)乎以一個高度可擴展和多租戶的方式按需交付存儲。通用的云存儲架構(gòu)包含一個導(dǎo)出 API 以訪問存儲的前端。在傳統(tǒng)的存儲系統(tǒng)中,這個 API 是 SCSI 協(xié)議;但是在云環(huán)境中,這些協(xié)議在演化。在那里您可以找到 Web 服務(wù)前端、基于文件的前端,甚至更多傳統(tǒng)前端(比如 Internet SCSI 或 iSCSI)。在前端后面是一個中間件層,筆者將它稱作存儲邏輯。該層通過傳統(tǒng)的數(shù)據(jù)放置算法(考慮地理布局)實現(xiàn)各種功能,比如復(fù)制和數(shù)據(jù)簡縮。最后,后端實現(xiàn)對數(shù)據(jù)的物理存儲。這可能是一個實現(xiàn)特定功能的內(nèi)部協(xié)議或物理磁盤的一個傳統(tǒng)后端。
一個通用的云存儲架構(gòu)圖
圖中可以看到當前云存儲架構(gòu)的一些特征。注意,沒有某一個特征在通用的云存儲特性場景中是獨有的,需要根據(jù)場景選擇一些重要的特征。這些特征的定義見下表。
特性中,其中以可管理性和訪問方式最重要,其中的含義如下:
可管理性?
云存儲的一個重點是成本。如果客戶可以購買并在本地管理存儲,而不是在云中租賃它,那么云存儲市場就會消失。但是成本可劃分為兩個高級類別:物理存儲生態(tài)系統(tǒng)本身的成本和管理它的成本。管理成本是隱式的,但卻是總體成本的一個長期組成部分。為此,云存儲必須能在很大程度上進行自我管理。引入新存儲,其中系統(tǒng)通過自動自我配置來容納云存儲的能力和在出現(xiàn)錯誤時查找和自我修復(fù)的能力很重要。在未來,諸如自主計算這樣的概念將在云存儲架構(gòu)中起到關(guān)鍵的作用。
訪問方法?
云存儲與傳統(tǒng)存儲之間最顯著的差異之一是其訪問方法,大部分提供商實現(xiàn)多個訪問方法,但是 Web 服務(wù) APIs 是常見的。許多 APIs 是基于 REST 原則實現(xiàn)的,即在 HTTP 之上開發(fā)(使用 HTTP 進行傳輸)的一種基于對象的方案。REST APIs 是無狀態(tài)的,因此可以簡單而有效地予以提供。許多云存儲提供商實現(xiàn) REST APIs,包括 Amazon Simple Storage Service (Amazon S3)、Windows Azure,和 Mezeo Cloud Storage Platform。
Web 服務(wù) APIs 的一個問題是,它們需要與應(yīng)用程序集成,以利用云存儲。因此,對云存儲也使用常見的訪問方法來提供即時集成。例如,NFS/Common Internet File System (CIFS) 或 FTP 等基于文件的協(xié)議,iSCSI 等基于塊的協(xié)議。Nirvanix、Zetta 和 Cleversafe 等云存儲提供商提供這些訪問方法。
盡管上面提到的協(xié)議是最常用的,但也有適合云存儲的其他協(xié)議。最有趣的其中一個是基于 Web 的分布式創(chuàng)作與版本控制(WebDAV)。WebDAV 也基于 HTTP,且將 Web 作為一種可讀寫的資源加以啟用。WebDAV 的提供商包括 Zetta 和 Cleversafe 等。
二、云存儲架構(gòu)能解決DevOps的什么問題
DevOps是指開發(fā)運維一體化,是互聯(lián)網(wǎng)企業(yè)經(jīng)常采用和談?wù)摰募夹g(shù),也是迭代應(yīng)用的基礎(chǔ),從某種程度上說,DevOps可以是云原生應(yīng)用的代名詞。
與傳統(tǒng)企業(yè)不同,互聯(lián)網(wǎng)企業(yè)采用云原生化設(shè)計,微服務(wù)化、DevOps、容器更能夠適應(yīng)云環(huán)境的需要。在數(shù)據(jù)存儲上,采用多副本、糾刪碼技術(shù),滿足數(shù)據(jù)存儲可靠性的需求。云原生能夠和云存儲進行完美的融合嗎,業(yè)內(nèi)通常將云存儲作為容器云的底層存儲支撐單元,屬于云原生能力生態(tài)的一部分。
首先,云存儲架構(gòu)有諸多優(yōu)點,絕大多數(shù)優(yōu)點由容器云進行能力覆蓋,在這其中,一部分優(yōu)點被DevOps進行復(fù)用,如自動化能力、可靠性能力,還包括了數(shù)據(jù)保護方面的能力。在DevOps體系內(nèi),云存儲被賦予了一個概念性的名詞“BaaS”,BaaS可以分為個層面進行理解,一個是公有云提供云存儲服務(wù),從目前情況看,公有云服務(wù)商通常借助第三方的云存儲廠商的解決方案集成在產(chǎn)品服務(wù)目錄或marketplace中提供服務(wù),與公有云SaaS服務(wù)不同;同時還有一些云存儲廠商自己提供服務(wù),但是遇到了比較大的挑戰(zhàn)。
第二種服務(wù)模式是對云上存儲數(shù)據(jù)提供針對性的服務(wù),比如數(shù)據(jù)驗證,蜜罐測試,安全驗證等等業(yè)務(wù)增值服務(wù),以及幫助用戶從云上把數(shù)據(jù)搬下來,實現(xiàn)數(shù)據(jù)合規(guī)性要求,這也是一種服務(wù)。
第三種服務(wù),有很多用戶從物理機要遷移到虛擬機,或者從虛擬機遷移到云上,或者從A云到B云。這里面有云間跨云的遷移服務(wù),中間的VCSP的Partner就會利用Veeam的技術(shù)幫助實現(xiàn)這樣的服務(wù)。
三、云存儲、云計算、DevOps三者之間的關(guān)系
1.云計算和DevOps的關(guān)系?
DevOps的定義通常分為兩個方面:
(1)開發(fā)和運維之間更友好。在使用這個定義的企業(yè)中,IT運維是單獨存在的,但是對開發(fā)人員來說是非常友好的。例如,DevOps在基礎(chǔ)設(shè)施的配備中為開發(fā)人員提供了自助目錄,也為新代碼的部署提供了技術(shù)支持的通道。
(2)DevOps強調(diào)獨立的綜合型團隊。在使用這個定義的企業(yè)中,開發(fā)人員承擔運維的責任,反之亦然。
云計算不是一種全新的網(wǎng)絡(luò)技術(shù),而是一種全新的網(wǎng)絡(luò)應(yīng)用概念,云計算的核心概念就是以互聯(lián)網(wǎng)為中心,在網(wǎng)站上提供快速且安全的云計算服務(wù)與數(shù)據(jù)存儲,讓每一個使用互聯(lián)網(wǎng)的人都可以使用網(wǎng)絡(luò)上的龐大計算資源與數(shù)據(jù)中心?,F(xiàn)階段所說的云服務(wù)是指分布式計算、效用計算、負載均衡、并行計算、網(wǎng)絡(luò)存儲、熱備份冗雜和虛擬化等計算機技術(shù)混合演進并躍升的結(jié)果。
DevOps和云計算的出現(xiàn)是由于社會行為的變化以及對企業(yè)響應(yīng)的相應(yīng)調(diào)整。DevOps是一次高級、快速且不間斷的軟件程序傳輸過程,云平臺是驅(qū)動軟件實施敏捷性的性能平臺。云計算推動IT轉(zhuǎn)型,通過使用具和自動化技術(shù),幫助企業(yè)縮減了工作流程,簡化并嵌入DevOps流程,提高了效率,從而實現(xiàn)了真正意義上的變革。這兩個功能互為關(guān)聯(lián),以幫助企業(yè)控制開發(fā)并利用性能,甚至消除了容易出錯的環(huán)境。
2.云存儲和DevOps的關(guān)系?
云存儲屬于云計算體系的范疇,同樣也屬于基礎(chǔ)設(shè)施即代碼的范疇,云存儲和DevOps的集成屬于基礎(chǔ)設(shè)施即代碼和DevOps集成中的一個子項?;A(chǔ)設(shè)施即代碼是一種用描述性的方式來管理基礎(chǔ)設(shè)施,包括了網(wǎng)絡(luò),虛擬機,存儲,負載均衡等。
基礎(chǔ)設(shè)施即代碼和DevOps的集成通常在持續(xù)交付階段,通過提供環(huán)境支撐、數(shù)據(jù)支撐、部署支撐等服務(wù)能力?;A(chǔ)設(shè)施即代碼可以在DevOps最佳實踐中作為關(guān)鍵的屬性,開發(fā)人員可以更多地參與定義配置,運維團隊在開發(fā)過程之前提前介入。以云存儲為例,運維團隊利用云存儲管理工具可以提高服務(wù)器狀態(tài)和配置的可見性,最終為企業(yè)內(nèi)的用戶提供可視性,旨在將團隊聚集在一起,最大限度地發(fā)揮他們的作用。自動化通常旨在解決手動過程中的混亂和容易出錯的問題,并使其更高效,更高效。允許創(chuàng)建更好的軟件和應(yīng)用程序,靈活,減少停機時間,并為公司提供整體成本效益的方式。同時,云存儲提供的接口服務(wù)、可視化服務(wù)、監(jiān)控服務(wù),提高自動化能力的同時,降低技術(shù)的復(fù)雜性,這種多團隊協(xié)作的方式也是DevOps的核心思想。
四、云數(shù)據(jù)和云DevOps的集成方式
早期的DevOps實踐,利用云計算的優(yōu)點,通過改善數(shù)據(jù)的可訪問性來加強協(xié)作。然而,這些早期的DevOps實踐,通常與業(yè)內(nèi)頭部的云供應(yīng)商簽訂協(xié)議,提供更多的存儲容量和看似更靈活、更容易訪問的格式。在大多數(shù)情況下,這些協(xié)議提供了即時的滿足感,但隨著DevOps能力的擴展,隨著DevOps實踐不斷深入,發(fā)現(xiàn)了新的痛點,因為服務(wù)費和出口費堆積如山,團隊被迫增加預(yù)算以滿足存儲需求,或者冒著滿足限制和數(shù)據(jù)丟失的風險。
這種情況造成了云存儲的困境。公司要么為超過他們所需的云存儲支付費用,要么不得不選擇保留哪些數(shù)據(jù),刪除哪些數(shù)據(jù)。這些不可持續(xù)的供應(yīng)商協(xié)議引入了擴大或縮小存儲空間的財務(wù)痛點,超過了保留所有日常產(chǎn)生和收集的寶貴數(shù)據(jù)的好處。因此,大多數(shù)人都停留在考慮存儲多少和存儲什么的問題上,而不是使用其所有數(shù)據(jù)來推動業(yè)務(wù)發(fā)展。
這種形式的供應(yīng)商鎖定對DevOps團隊來說是一種傷害,因為這些團隊依靠看似無窮無盡的數(shù)據(jù)來進行實驗、進行維護以及開發(fā)和部署新的應(yīng)用程序。
最近IDC的一份報告顯示,目前僅今年的數(shù)據(jù)存儲量就有望達到59zettabytes,未來三年的創(chuàng)造和消費幾乎超過了之前30年的總和。而DevOps固然促成了這一高峰,但隨著企業(yè)的不斷發(fā)展和數(shù)字化轉(zhuǎn)型,企業(yè)所遇到最嚴重的問題是數(shù)據(jù)為王的情況下,一家公司無縫存儲、訪問和利用數(shù)據(jù)的能力將使其在競爭中脫穎而出。
這種增長的問題是找到在云中可持續(xù)存儲這些數(shù)據(jù)的方法,特別是當團隊被現(xiàn)有的存儲協(xié)議所束縛,正在消耗預(yù)算時。這要從DevOps團隊重新思考他們的方法開始。云戰(zhàn)略不需要將云存儲和可訪問性視為賬單和服務(wù)限制通知的反復(fù)循環(huán),而是需要專注于只為任何特定時間所需的空間付費的能力,而不必擔心訪問存檔數(shù)據(jù)的額外費用。
如果需要擴大存儲容量,想增加多少容量就增加多少容量的可能性較小。企業(yè)由于特殊原因需要縮減規(guī)模或進行存儲資源的釋放,或者需要在短時間內(nèi)訪問存檔數(shù)據(jù),數(shù)據(jù)容量的彈性伸縮是否能夠跟得上企業(yè)的發(fā)展,這些問題其實都是DevOps團隊需要考慮的問題,因此需要云存儲在存儲的能力上增加存儲生命周期管理。
通過這種轉(zhuǎn)變,DevOps團隊可以從保存、歸檔和銷毀數(shù)據(jù)轉(zhuǎn)向收集和利用所有數(shù)據(jù),以推動當今數(shù)字經(jīng)濟中所需要的數(shù)據(jù)驅(qū)動的洞察力。這種更大能力云存儲思維方式的改變消除了限制,并能夠以更快、更可持續(xù)的速度進行創(chuàng)新。
五、云存儲在DevOps發(fā)展過程中的展望
人們經(jīng)常認為DevOps和云存儲是獨立的實體,但隨著軟件和應(yīng)用程序開發(fā)發(fā)展到包括預(yù)測分析等功能,顯然需要這兩個實體之間的結(jié)合。
通過重新思考云存儲在業(yè)務(wù)層的價值,DevOps團隊可以釋放出更高的效率,從而實現(xiàn)技術(shù)創(chuàng)新的下一次革命。?