當企業用戶認為網絡速度是一個令人頭疼的問題時,希望能夠得到幫助。但在幫助企業克服這一問題的過程中,專業人員發現許多其他因素被忽略,可能會影響企業的云遷移。
收集、組織、格式化和驗證數據會給企業帶來比遷移更大的挑戰。以下是云遷移規劃階段需要考慮的一些常見因素,以便避免出現一些耗時而昂貴的問題。
云遷移瓶頸#1:數據存儲
人們在云遷移中看到的最常見的錯誤是將數據遷移到云存儲中而未考慮如何使用這些數據。人們典型的思考過程是,“我想把文檔和數據庫放在云中,是因為對象存儲成本很低。”但是文件、對象和數據庫的行為非常不同,將其數據放到錯誤的位置會削弱企業的云計劃。
文件由路徑層次結構組成,即目錄樹。每個文件都可以快速訪問,延遲最短,并且快速(數據開始流動時的每秒位數)。單個文件可以很容易地移動、重命名并更改。企業可能有許多小文件,少量大文件或任意大小和數據類型的組合。傳統的應用程序可以像在本地一樣訪問云中的文件,而不需要特別的云感知。
所有這些特點使基于文件的存儲成為最為昂貴的選擇,但將文件存儲在云中還有其他一些缺點。為了實現更高的性能,大多數基于云計算的文件系統(如Amazon EBS)一次只能由一個基于云計算的虛擬機訪問,這意味著所有需要該數據的應用程序必須運行在單個云虛擬機上。要為多個虛擬機(如Azure文件)提供服務,需要使用像SMB這樣的NAS(網絡連接存儲)協議來存儲,這會嚴重限制性能。文件系統是快速、靈活和兼容的,但是它們很昂貴,僅適用于運行在云中的應用程序,并且不能很好地擴展。
對象不是文件。請記住,因為它很容易遺忘。對象位于一個平面的命名空間中,就像一個巨大的目錄。其延遲時間很長,有時甚至達到數百或數千毫秒,吞吐量也很低,除非使用了巧妙的技巧,否則通常每秒鐘可以達到150兆比特左右。關于訪問對象的大部分內容涉及到多部分上傳、字節范圍訪問和密鑰名稱優化等巧妙技巧。對象可以同時從云計算內外進行讀取,但傳統應用程序需要性能低下的解決方法。大多數用于訪問對象存儲的接口使對象看起來像文件:鍵名稱按前綴過濾,以看起來像文件夾,自定義元數據附加到對象,以顯示為文件元數據。以及某些系統(如虛擬機文件系統上的FUSE緩存對象),以允許訪問通過傳統應用。但是這樣的解決方法很脆弱并且表現不佳。云存儲價格低廉,可擴展,云原生化,但速度慢,并且難以訪問。
數據庫具有自己的復雜結構,并且可以通過查詢語言(如SQL)訪問它們。傳統數據庫可能由文件存儲來支持,但它們需要實時數據庫進程來提供查詢。通過將數據庫文件和應用程序復制到虛擬機上,或者通過將數據遷移到云托管的數據庫服務中,可以將其提升到云端。但將數據庫文件復制到對象存儲中僅作為脫機備份,這很有用。數據庫可以作為云托管服務的一部分進行擴展,但確保依賴于數據庫的應用程序和進程完全兼容,并且基于云原生非常重要。數據庫存儲是高度專業化和專用的。
對象存儲的明顯成本節省與文件和數據庫功能的平衡需要仔細考慮需要哪些功能。例如,如果要存儲和分發成千上萬的小文件,請將它們存儲為ZIP文件,并將其作為單個對象存儲,而不是將每個單獨的文件存儲為單獨的對象。錯誤的存儲選擇可能會導致復雜的依賴關系,這些依賴關系在以后更改很困難,并且代價較高。
云遷移瓶頸#2:數據準備
將數據移動到云端,并不像將數據復制到指定的存儲類型那樣簡單。企業在復制任何內容之前需要做大量的準備工作,并且需要仔細規劃預算。概念驗證項目經常忽略這一步驟,這可能會導致以后出現代價高昂的超支。
過濾掉不必要的數據可以節省大量時間和存儲成本。例如,數據集可能包含不需要成為云計算工作流程一部分的備份文件、早期版本或臨時文件。也許過濾最重要的部分是優先考慮哪些數據需要先移動。正在積極使用的數據不會容忍在完成整個遷移過程所需的幾周、幾個月或幾年內不同步。這里的關鍵是想出一個自動化的方式來選擇要發送哪些數據以及何時發送,然后仔細記錄所有未完成的事情。
不同的云計算工作流可能要求數據的格式或組織與本地應用程序不同。例如,一個工作流可能需要編譯成千上萬的小型Word或PDF文檔并將其打包成ZIP文件,媒體工作流可能涉及代碼轉換和元數據打包,而生物信息學工作流可能需要挑選和分段TB級數量的基因組數據。這種重新格式化可能是一個非常費時和費力的過程。它可能需要大量的實驗,大量的臨時存儲以及大量的異常處理。有時很容易推遲重新格式化到云環境,但請記住,這不能解決問題,它只是將其轉移到企業使用的每種資源的環境中。
存儲和格式問題的一部分可能涉及壓縮和存檔的決定。例如,在將數百萬個小文本文件發送到云端之前將其壓縮是有意義的,而不是幾千兆字節的多媒體文件。歸檔和壓縮數據可以更輕松地傳輸和存儲數據,但考慮在打包和解壓縮這些歸檔所需的時間和存儲空間。
云遷移瓶頸#3:信息驗證
完整性檢查是一個最重要的步驟,也是最容易出錯的步驟。通常假設數據傳輸期間會發生損壞,無論是通過物理介質還是網絡傳輸,并且可以通過在前后執行校驗和來捕獲。校驗和是這個過程的重要組成部分,但它實際上是準備和導入最可能遭受損失或損壞的數據。
當數據轉換格式和應用程序時,即使字節相同,意義和功能也會丟失。軟件版本之間的簡單不兼容可能導致PB級的“正確”數據無用。使用可擴展的流程來驗證企業的數據是否正確可用,這可能是一項艱巨的任務。在最糟糕的情況下,它可能會轉變為勞動密集型和不精確的“看起來沒問題”的人工處理過程。但即使這樣做,也比沒有驗證要好。最重要的是確保企業能夠在遺留系統退役之前識別問題!
云遷移瓶頸#4:轉移封送
將單個系統提升到云端時,將準備好的數據復制到物理介質或將其推送到全球互聯網上相對比較容易。但是這個過程可能難以擴展,特別是對于物理媒體來說。在概念證明中,看起來“簡單”的東西可能會在許多不同的系統發揮作用時變成“噩夢”。
媒體設備(例如AWS Snowball)必須連接到每臺機器。這可能意味著要在一個或多個數據中心周圍移動設備,進行連接,并更新驅動程序和安裝軟件。而通過本地網絡進行連接可以省去物理移動措施,但軟件設置仍然具有挑戰性,復制速度可能會降至遠低于直接通過全球互聯網上傳可實現的速度。通過互聯網直接從每臺計算機傳輸數據可節省很多步驟,特別是在數據準備就緒的情況下。
如果數據準備涉及復制、導出、重新格式化或存檔,本地存儲可能成為瓶頸。可能需要設置專用存儲來分階段準備好的數據。這具有允許許多系統并行地進行準備的優點,并且減少了用于可運送媒體和數據傳輸軟件的聯系點到只有一個系統。
云遷移瓶頸#5:數據傳輸
將網絡傳輸與媒質傳輸進行比較時,很容易只關注發送時間。例如,通過快遞可能會發送80TB的AWS Snowball設備,從而實現很快的表觀數據速率。但是這忽略了獲取設備、配置和加載設備,準備返回設備,以及允許云計算供應商在后端復制數據所需的時間。而這樣做的客戶定期報告說,這樣的周轉時間(從設備訂購到云中可用的數據)是常見的。這將設備運輸的實際數據傳輸速率降低到每秒300兆比特,如果設備沒有完全填充,則會大大降低。
網絡傳輸速度同樣取決于許多因素,最重要的是本地上行鏈路。盡管做好充分的數據準備可以減少企業需要發送的數據量,但無法以比物理比特率更快的速度發送數據。傳統協議(包括云計算供應商默認用于對象存儲的那些協議)在長距離全球互聯網路徑上的速度和可靠性方面存在困難,這可能導致實現該比特率變得困難。而用戶如果采用CloudDat等加速軟件的千兆互聯網連接,可達到每秒產生900兆比特的速率,是AWS Snowball的凈吞吐量的三倍。
物理運輸和網絡傳輸之間的最大區別也是概念驗證期間最常被忽視的問題之一。通過物理裝運,加載到設備上的第一個字節必須等到最后一個字節全部復制之后才能發貨。這意味著如果加載設備需要幾周的時間,那么一些數據在到達云端時會過時幾周。即使數據集達到總體實際傳輸速度可能更快的PB級別,在遷移過程中保持優先數據流動的能力仍然可能有利于關鍵資產的網絡傳輸。在數據準備的過濾和優化階段進行仔細的計劃是必不可少的,并且可能允許采用混合方法。
將數據導入云計算提供商可能不是數據傳輸步驟的結束。如果它需要復制到多個區域或提供商,請仔細規劃如何到達那里。通過互聯網上傳是免費的,而AWS例如對于區域間數據傳輸的收費高達每千兆字節2美分,對于其他云計算供應商而言,每千兆字節需要收取9美分。這兩種方法都將面臨帶寬限制,這可能會受益于傳輸加速軟件,如CloudDat。
云遷移瓶頸#6:云擴展
一旦數據到達云端的目的地,其遷移過程只完成一半。首先檢查校驗和,這將確保到達的字節與發送的字節匹配。這可能比人們可能意識到的更復雜。文件存儲使用可以隱藏剛剛上傳的數據損壞的緩存層。這種損壞非常罕見,但在清除所有緩存并重新讀取文件之前,人們無法確定任何校驗和。重新啟動實例或卸載存儲確實可以容忍清除緩存。
驗證對象存儲校驗和需要將每個對象讀出到一個實例中進行計算。與流行的觀點相反,對象“電子標簽”作為校驗和是無用的。使用多部分技術上傳的對象只能通過讀取它們來驗證。
一旦傳輸的數據得到驗證,在企業的基于云計算的應用程序和服務可以使用它之前,可能需要進一步提取和重新格式化和分發。這與在場所發生的準備和發送幾乎是相反的。
擴展數據的最后一步是驗證它是正確和有用的。這是上面討論的信息驗證計劃的另一方面,也是了解是否真正完成的唯一方法。
云遷移更多的是關于流程而不是數據。即使看似簡單的文件分發任務也需要復雜的遷移步驟,以確保生成的云計算基礎架構與所需的工作流程相匹配。而圍繞云計算技術的大量宣傳,從成本節約到可擴展性都是有道理的。但仔細規劃和預測困難對于確定實現這些回報所需的工具和方法至關重要。
版權聲明:本文為企業網D1Net編譯,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。