當開始您的遷移計畫時,您需要考慮比如成本、業務和技術需求、時間期限、在遷移後必要的測試計畫等幾個關鍵因素。本章提供了幫助您遷移到windows azure需要考慮的地方以及詳盡的指導。
本文將會分為以下幾個小節
•為成本制定計畫成本是在制定遷移計畫時所需要認真對待的最重要的問題,所以我們極力推薦在對於企業內遷移到windwos azure做決策分析和計畫制定的過程中先考慮成本問題。決定windows azure的**取決於多個因素,比如網路流量、應用程式負載等。關於如何計算windows azure的**超出了本文範圍。我們推薦在遷移計畫開始就使用windows azure**計算器來計算成本,您可以在這裡找到windows azure**計算器。•識別出windows azure可以解決的關鍵業務和技術問題
•進行分析和設計
•為遷移各部分計畫制定時間規劃
•規劃遷移過渡期
•規劃測試
•找出出所需的資源
•規劃在windows azure上的程式管理
當計算成本時,不要忘了把開發和測試時使用windows azure的費用包括在內。在企業內的開發專案中,您也許需要為開發和測試的伺服器付費,同樣,在windows azure環境中,您也需要在這個過程中為是同windows azure的資源付費。除此之外,您還需要考慮培訓和學習的費用。我們推薦您事先進行效能測試和容量規劃以便在一開始就知道您的應用程式需要什麼樣的容量。這篇關於windows azure成本評估的文章可以幫助您了解乙個典型的windows azure應用程式所需的費用。
windows azure對於解決某些業務和技術問題非常有效,雖然下面的列表不完全,但如果您的應用程式有以下特點,那麼會非常適合遷移到windows azure。
windows azure除了具有面向服務的特性之外,還可以在其之上執行虛擬機器。在windows azure之上的虛擬機器可以執行任何其支援的作業系統,在虛擬機器上部署的程式和在本地部署的程式的執行模式完全一樣。對於windows azure虛擬機器所支援的作業系統,請看overview of windows azure virtual machines。虛擬機器可以作為為程式構架提供服務的一部分。對於那些不是那麼容易遷移到azure的應用程式,虛擬機器是乙個不錯的解決方案。更多資訊,請看migrating with windows azure virtual machines。
在分析和實現階段,您首先需要了解希望遷移到雲端的程式構架,然後設計在windows azure中的實現方法並出具實現計畫。在這個階段,您需要列出程式構架和時間點的大綱。
一些計畫的關鍵元素比如:
識別技術要求:獲知您程式的每個部分分別在忙時和閒時的需要。然後,為每個部分的可擴充套件性做乙個計畫。每個部分可能會有不同的可擴充套件性機制。技術要求可不僅僅是效能部分,舉例來說,高可用性和災難恢復的要求,對最大網路延遲的要求等這些都需要在規劃遷移時決定,下面的列表列出了一些技術要求的例子
登入和使用者安全:隨著windows azure中新的網路功能的提公升,您可以將企業內部的活動目錄域擴充套件到windows azure。更多資訊,請看migrating with windows azure virtual machines。關於sql database安全管理的細節資訊,請看managing databases and logins in sql database。
按功能將應用程式分塊:找出程式中可以按功能分割的單元進行分割,這樣就可以將這些不同的單元分到不同的windows azure角色或虛擬機器中。這樣做的好處是程式更容易進行彈性擴充套件,並且程式更容易和其它程式整合,對於雲計算來說,這種分塊更加合適。
支付卡行業(pci)和其它需求:再將應用程式或程式的模組遷移到windows azure之前,首先檢查當前業務所需的證書符合規範,您或許需要在遷移到windows azure之前移除程式或是資料庫的一部分,然後程式執行在混合模式下。這使得您程式的部分在遵循業務規範的情況下程式的其它部分仍然可以享受到windows azure和雲計算所帶來的好處。
程式中無法在windows azure平台上執行的關鍵模組:由於某些原因,您或許不能將您程式中的部分程式遷移到公有雲中。找出這些模組,使用混合構架,您可以將非關鍵的模組遷移到windows azure中而從而享受到windows azure和雲計算帶來的好處,同時您仍然可以使得程式的關機部分符合行業內的規範。
當您確定所需遷移的部分之後,遷移計畫中的每一步就變得很清晰。檢視每一步中涉及的程式和資料並對此評估所需的時間和開發、測試和遷移所需的資源。當將您的程式分解之後,並行開發這些分解後的模組以適應彈性擴充套件構架。
在您的遷移計畫中設定專案里程碑,比如說功能和效能測試,發布日期等。您的遷移計畫可能由一系列步驟進行迭代直到所有的模組都已經為遷移到windows azure準備就緒。
當開發和遷移的時間規劃設立好之後,要找出需要對當前程式和基礎構架做的改變和所需的時間。這類計畫可以使得在遷移完成之前程式可以正常運轉。當做這份過渡計畫時,找出當前系統最麻煩的地方並給出使得遷移過程中業務可以正常運轉的解決方案。除此之外,找出使得業務正常運轉所需的工作,通常來說這類工作往往非常簡單,比如說調優乙個sql查詢語句或是基於您的應用程式特性新增乙個web伺服器依賴。做乙個應對突發突發的計畫以避免預料之外的增長或負載。當做這類應對突發事件的計畫時,看看是否可以將這類負載橫向擴充套件到windows azure的虛擬機器中以避免不必要的硬體投資。
任何遷移計畫都應該包括廣泛的功能測試和負載測試。對於測試方法的概述超過了本文所涉及的範圍。下面的列表展示了當測試時應該牢記的關鍵點:
我們推薦您為建立和執行並修復測試所發現的錯誤規劃時間。
當確定了業務和技術需求之後,找出遷移所需的資源。這些都是您在遷移過程中所需要的。這些資源從三個方面來看:
對於小型程式來說,windows azure management portal或許就足夠來管理windows azure的部署。windows azure management portal可以允許您近路並管理包括改變例項角色的數量、管理sql database例項等管理和部署工作。然而,對於複雜的程式和為客戶提供服務的程式來說,windows azure management portal 可能就不夠了。
windows azure開放了rest api使得您可以通過程式設計的方式對程式和在windows azure上的虛擬機器以及對windows azure storage的管理。您也可以自己寫乙個管理介面來規劃和檢測您的windows azure環境。您的遷移計畫應該包括在遷移之後對程式的管理,尤其是這部分管理還包括自定義介面和自動化。
更多有關rest api對於windows azure部署的管理,請看api references for windows azure。
本文翻譯自windows azure官方指南,全部系列翻譯完後會集結成pdf放在technet的community content中。
svn遷移到git實踐
服務端用的是windows版gitblit,svn版本上的分支一律不保留 1 先登入gitblit管理頁面,建立倉庫 abc.com 2 在本地www目錄下用git bash執行 git svn clone no metadata abc 結束後www目錄下會多出乙個名為abc目錄,注意那個trun...
Oracle遷移到MySQL總結
日期 2012 06 01 字型 大中小 這兩個星期裡一直都在忙於一件事兒,就是oracle資料庫的遷移問題。沒有做的時候感覺這是一件十分輕鬆的事兒,可是等到實實在在去做去實現的時候,自己傻眼了。這種糾結啊,在這裡先說下遇到的問題 1。資料庫的表結構問題 資料型別不同需要解決varchar2 var...
從 ADT 遷移到 Android Studio
如果你看到上面的優點,已經克服了心中的懷疑和恐懼,準備動手遷移,下面提供一些遷移提示。部分需要科學上網 你無法科學上網?趕緊搜一下,自己搭或者買乙個吧。世界如此多嬌,人生苦短。將你遇到過問題的出錯資訊用 google 搜尋,第一條來自 stackoverflow 的答案就是你想要的。android ...