您當(dāng)前的位置是:  首頁 > 新聞 > 文章精選 >
 首頁 > 新聞 > 文章精選 >

防止云計(jì)算遷移回旋效應(yīng)的有效應(yīng)對措施

2018-02-23 11:04:37   作者:   來源:比特網(wǎng)    評論:0  點(diǎn)擊:


  最近的調(diào)查研究表明,多達(dá)50%的企業(yè)表示希望將業(yè)務(wù)從云計(jì)算遷移回?cái)?shù)據(jù)中心,雖然這種回旋效應(yīng)有很多原因,但缺乏數(shù)據(jù)一致性是最主要的原因之一。CAP定理描述了分布式存儲(chǔ)系統(tǒng)只能提供三個(gè)要素中的兩個(gè):Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區(qū)容錯(cuò)性)。在考慮云計(jì)算遷移的應(yīng)用時(shí),必須應(yīng)用CAP理論來判斷云計(jì)算存儲(chǔ)架構(gòu)是否適合每個(gè)應(yīng)用的需求。
  理解CAP定理CAP定理專注于分布式數(shù)據(jù)存儲(chǔ),這是AWS、谷歌云平臺(tái)和微軟Azure等云計(jì)算服務(wù)提供商所采用的主流設(shè)計(jì)。分布式數(shù)據(jù)存儲(chǔ)由一系列稱為節(jié)點(diǎn)的服務(wù)器構(gòu)建而成。每個(gè)節(jié)點(diǎn)都有內(nèi)部存儲(chǔ),當(dāng)節(jié)點(diǎn)成簇時(shí),它將成為一個(gè)全局存儲(chǔ)池。當(dāng)數(shù)據(jù)被寫入存儲(chǔ)時(shí),通過復(fù)制每個(gè)對象或?qū)ο蟮淖佣蔚牟脸幋a來將數(shù)據(jù)分布在節(jié)點(diǎn)上。
  CAP定理表明,分布式數(shù)據(jù)存儲(chǔ)只能提供以下三個(gè)要素中的兩個(gè):Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區(qū)容錯(cuò)性)。
  分區(qū)容錯(cuò)性是指分布式存儲(chǔ)在網(wǎng)絡(luò)出現(xiàn)故障時(shí)繼續(xù)提供數(shù)據(jù)的能力,而故障將會(huì)導(dǎo)致節(jié)點(diǎn)之間任意數(shù)量的消息丟失或延遲。由于網(wǎng)絡(luò)故障在全球基于云計(jì)算的任何存儲(chǔ)服務(wù)中都是不可避免的,因此所有系統(tǒng)都必須提供分區(qū)容錯(cuò)。因此,在考慮云計(jì)算存儲(chǔ)解決方案時(shí),企業(yè)的IT部門必須在一致性和可用性之間進(jìn)行選擇。
  一致性意味著系統(tǒng)必須在應(yīng)用程序或相應(yīng)的過程開展之前確認(rèn)每個(gè)寫入操作。確認(rèn)的必要性也適用于數(shù)據(jù)保護(hù)。例如,一致的數(shù)據(jù)存儲(chǔ)必須將對象復(fù)制到另一個(gè)節(jié)點(diǎn),并在確認(rèn)總體寫入之前驗(yàn)證完成。提供一致的模型是昂貴的,尤其是在分布式體系結(jié)構(gòu)中,因?yàn)樵谌魏谓o定的時(shí)間點(diǎn),所有節(jié)點(diǎn)都必須具有相同的數(shù)據(jù)。提供一致性不會(huì)影響分布式存儲(chǔ)中的應(yīng)用程序性能,這意味著需要高速的節(jié)點(diǎn)內(nèi)部網(wǎng)絡(luò)、節(jié)點(diǎn)之間的距離和高性能存儲(chǔ)介質(zhì)。即使節(jié)點(diǎn)本身也比較昂貴,這樣就需要更快地處理數(shù)據(jù)。
  盡管成本高昂,但注重一致性是絕對必要的。例如,支持金融機(jī)構(gòu)的存儲(chǔ)基礎(chǔ)設(shè)施需要確保所有節(jié)點(diǎn)始終保持同步。如果成交了一百萬美元的交易,而這些節(jié)點(diǎn)沒有更新,則會(huì)出現(xiàn)嚴(yán)重的問題。更普遍的情況是,如果所有數(shù)據(jù)在整個(gè)存儲(chǔ)基礎(chǔ)設(shè)施中并不總是同步的,那么期望一致性的應(yīng)用程序很容易被破壞。
  可用性的關(guān)注點(diǎn)由于與建立一致的分布式數(shù)據(jù)存儲(chǔ)的成本相關(guān),大多數(shù)云計(jì)算提供商專注于可用性或最終一致的模型?捎眯缘年P(guān)注點(diǎn)意味著當(dāng)初始寫入發(fā)生時(shí),在后臺(tái)通過復(fù)制或完成數(shù)據(jù)的擦除編碼來將延遲的應(yīng)答延遲到滿足數(shù)據(jù)保護(hù)要求。這取決于其他節(jié)點(diǎn)的位置,一致的時(shí)間范圍可以從幾秒到幾分鐘。而高交易環(huán)境可能永遠(yuǎn)不會(huì)達(dá)到一致的狀態(tài)。
  可用性的關(guān)注點(diǎn)有許多優(yōu)點(diǎn),其中主要的一個(gè)優(yōu)點(diǎn)是降低成本。節(jié)點(diǎn)之間的聯(lián)網(wǎng)、節(jié)點(diǎn)中的存儲(chǔ)介質(zhì)以及節(jié)點(diǎn)本身的處理能力不需要在一致性關(guān)注的分布式存儲(chǔ)系統(tǒng)的能力范圍內(nèi)執(zhí)行。
  此外,可用性關(guān)注點(diǎn)是數(shù)據(jù)分發(fā)的理想選擇。無論是為了防范區(qū)域性災(zāi)難,還是確保數(shù)據(jù)在地理位置上盡可能接近用戶,可用性關(guān)注點(diǎn)都可以實(shí)現(xiàn)分發(fā),而無需為原始用戶或應(yīng)用程序提供性能。
  將CAP應(yīng)用到NAS和對象存儲(chǔ)(云存儲(chǔ))考慮遷移到云端的本地應(yīng)用程序通常使用網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)。這些網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)系統(tǒng)在傳統(tǒng)上都有一致性的特點(diǎn),盡管它們中的大部分?jǐn)?shù)據(jù)在一個(gè)不太一致但更可用的設(shè)計(jì)中工作得很好。為了保持一致性,網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)系統(tǒng)通常通過緊密耦合的集群和相對較小的節(jié)點(diǎn)計(jì)數(shù)提供擴(kuò)展功能(即通過單個(gè)節(jié)點(diǎn)的所有數(shù)據(jù)訪問)或非常有限的擴(kuò)展。這些網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)系統(tǒng)提供對共享存儲(chǔ)的低延遲訪問,并且可以保持嚴(yán)格的一致性。他們在應(yīng)用程序確認(rèn)或傳統(tǒng)的POSIX文件系統(tǒng)語義之前利用讀寫后驗(yàn)證。
  網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)系統(tǒng)受到其他存儲(chǔ)系統(tǒng)的一致性的影響:高成本、有限的規(guī)模和有限的可用性。雖然大多數(shù)網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)系統(tǒng)提供復(fù)制以進(jìn)行災(zāi)難恢復(fù),但是這種復(fù)制是異步完成的(最終會(huì)變得一致)。這個(gè)過程對于網(wǎng)絡(luò)性能比較敏感,幾乎總是一個(gè)相同的系統(tǒng),而二次系統(tǒng)最終成為主系統(tǒng)的鏡像。
  這個(gè)機(jī)會(huì)并不是網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)上的所有數(shù)據(jù)都需要一致的體系結(jié)構(gòu)的功能,實(shí)際上,網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)上的大部分?jǐn)?shù)據(jù)在專注于可用性的體系結(jié)構(gòu)上。即使是需要一致性的網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)上的數(shù)據(jù)集,通常也有一部分?jǐn)?shù)據(jù)更適合于可用性模型。
  最常見的可用性存儲(chǔ)系統(tǒng)類型是對象存儲(chǔ),這是所有云計(jì)算提供商為其負(fù)擔(dān)得起的存儲(chǔ)層所使用的設(shè)計(jì)。對象存儲(chǔ)成本低,可擴(kuò)展到數(shù)千個(gè)節(jié)點(diǎn)。在廣泛的地理區(qū)域分布數(shù)據(jù)也很容易,使數(shù)據(jù)更易于訪問和恢復(fù)。
  使用CAP來識(shí)別云計(jì)算兼容的應(yīng)用程序鑒于對CAP的了解以及從云計(jì)算提供商那里獲得的最具成本效益的存儲(chǔ)是以可用性為中心的認(rèn)識(shí),組織應(yīng)該能夠更容易地確定哪些應(yīng)用程序最適合在云端使用。
  第一步是確定一致性不成問題的數(shù)據(jù)集,一個(gè)主要的例子是非活動(dòng)或休眠的非結(jié)構(gòu)化數(shù)據(jù)集。典型使用的網(wǎng)絡(luò)附屬存儲(chǔ)(NAS)容量的80%以上是非活動(dòng)數(shù)據(jù)。這些整個(gè)數(shù)據(jù)集應(yīng)該轉(zhuǎn)移到側(cè)重于可用性的成本更低的分布式存儲(chǔ)上。將這些數(shù)據(jù)轉(zhuǎn)移到以可用性為中心的存儲(chǔ)中不僅會(huì)降低保留這些數(shù)據(jù)的成本,而且這些類型的存儲(chǔ)架構(gòu)更適合長期保存。企業(yè)面臨的挑戰(zhàn)不僅是識(shí)別不活動(dòng)的數(shù)據(jù)并將這些數(shù)據(jù)轉(zhuǎn)移到云端,而且還要確保當(dāng)數(shù)據(jù)再次需要時(shí),用戶仍然可以使用這些數(shù)據(jù)。
  下一步是確定在活動(dòng)數(shù)據(jù)集內(nèi)是否還存在也處于休眠狀態(tài)的子集。問題是識(shí)別和移動(dòng)這些數(shù)據(jù)子集更加困難。最后一步是確定非常活躍的數(shù)據(jù),并需要在整個(gè)存儲(chǔ)架構(gòu)中保持一致的表示。
  將一致性敏感應(yīng)用程序遷移到云端雖然三種類型的數(shù)據(jù)可以人工識(shí)別和移動(dòng),但這個(gè)過程非常耗時(shí),需要IT部門的持續(xù)監(jiān)督。人為識(shí)別的過程(甚至一些聲稱自動(dòng)化識(shí)別的項(xiàng)目)意味著需要管理單獨(dú)的存儲(chǔ)容器,用于對于一致性敏感的活動(dòng)數(shù)據(jù)。
  另一種方法是利用云感知文件系統(tǒng),該系統(tǒng)將根據(jù)訪問模式自動(dòng)分類數(shù)據(jù)并將其放置在最合適的存儲(chǔ)類型上。該解決方案可以替代內(nèi)部部署的高性能網(wǎng)絡(luò)附屬存儲(chǔ)(NAS),其存儲(chǔ)空間更小,旨在容納一致性敏感數(shù)據(jù)。它應(yīng)該自動(dòng)地將數(shù)據(jù)在本地部署和云計(jì)算存儲(chǔ)之間進(jìn)行IT監(jiān)督,而不需要IT人員的干預(yù)。同時(shí),它應(yīng)該將本地存儲(chǔ)和云計(jì)算存儲(chǔ)與全局文件系統(tǒng)進(jìn)行疊加,以便用戶始終可以通過相同的路徑和協(xié)議訪問數(shù)據(jù),從而實(shí)現(xiàn)對云端的無縫訪問。
  云計(jì)算的一致性云感知文件系統(tǒng)還應(yīng)該在云端運(yùn)行,這使得組織可以無縫地將應(yīng)用程序移動(dòng)到云端,而無需更改它們。應(yīng)用程序可以運(yùn)行在云計(jì)算提供商的一致性存儲(chǔ)版本上,但文件系統(tǒng)允許將投資降到最低,因?yàn)樗鼤?huì)自動(dòng)將數(shù)據(jù)移動(dòng)到提供商成本更低的對象存儲(chǔ)層,而不需要保持一致性。
  當(dāng)本地存儲(chǔ)和云計(jì)算存儲(chǔ)與云文件系統(tǒng)數(shù)據(jù)相結(jié)合,應(yīng)用程序可以在本地部署和云端之間自由移動(dòng)時(shí),根據(jù)企業(yè)的需求,云計(jì)算存儲(chǔ)可以用作存檔,作為一個(gè)永久運(yùn)行應(yīng)用程序的地方。
  結(jié)論大多數(shù)云計(jì)算計(jì)劃的回旋效應(yīng)通常是數(shù)據(jù)集性能要求與組織成本節(jié)約目標(biāo)之間不匹配的結(jié)果。兩者之間的差距常常導(dǎo)致組織將其遷移到本地的應(yīng)用程序,從而導(dǎo)致其自食其果,或者組織必須在一致的云計(jì)算存儲(chǔ)進(jìn)行更大的投資。云計(jì)算文件系統(tǒng)彌補(bǔ)了這種差距,使組織能夠以經(jīng)濟(jì)高效的方式在任何地方放置任何應(yīng)用程序,從而在高性能一致性和成本有效性的可用性之間找到適當(dāng)?shù)钠胶恻c(diǎn)。
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點(diǎn)判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。

專題