目前在IT界,雲這個概念的第一意思不再是詞典裡的解釋了。不過它們還是有相同點的——也許确實會醞釀出一塊大蛋糕,可也是飄在天上,衆神分食之,與我等P民無關。所謂雲,不過是網絡時代發展到一定階段的必然産物,而并非劃時代的技術質變,so,我一直保持既不排斥亦不主動接觸的立場。but,最近我有個個人伺服器快到期了,于是也打算嘗試一番。
現在比較知名的雲服務有很多,國内的首推阿裡雲,而作為.Neter,Windows Azure也是一種選擇。本人同時申請了兩者的免費試用體驗,對于阿裡雲,在申請階段部落客被折騰得夠嗆,後面可能會寫一篇吐槽的随筆;相對來說,Windows Azure價格昂貴,不過既然是免費體驗(90天),試試亦無妨。
目前Windows Azure在國内由世紀互聯營運,比較坑的是很多服務國内還沒有開始營運。另外不能使用微軟賬号登入Windows Azure管理門戶,而是使用在注冊域名時填寫的使用者ID。假如您注冊的域名是xxxx.partner.onmschina.cn,那麼您的登入賬号就是“使用者[email protected]”。不出意外的話,申請之後兩三天,你就能收到一份告知通過的郵件。
前幾天又去Windows Azure中國首頁看了下,發現官網已經不再接受新的試用申請,應該說部落客搭了一趟末班車,運氣!(截止到部落客發文,Windows Azure中國官網又推出了所謂1元試用計劃,名額為1500人,試用期一個月,且有積分限制)
另:本文隻簡略涉及部落客接觸到的功能,且并不保證所有闡述都正确。
登入後,會看到類似下圖的頁面,頂部為工具欄,左側顯示Windows Azure所提供的所有雲服務,右側面闆顯示您已在使用的服務。

點選頂部工具欄的下拉按鈕,會彈出幾個連結,其中“文檔”連結到微軟總部的微軟雲官網(不是中國[世紀互聯]官網)。左側菜單的一些概念我接觸的并不多或者從沒接觸過,比如Active Directory,登入進來之後就發現其中已經存在一條目錄了,即登入ID。根據網資(網上資料)所說——IT管理者通過 Windows Azure Active Directory,可以輕松管理使用者對數百個雲 SaaS 應用程式(如 Office 365、Box、GoToMeeting、DropBox、Salesforce.com 等)的通路,具體如單點登入、權限配置等等——so,我覺得這比較适用于企業内部系統,而相關的也有“域”、“命名空間”的概念,可以說,這應該是原來的一套windows伺服器Active Directory在雲端的重制。
存儲
Windows Azure有個所謂的“存儲賬戶”的概念,并提供了三種類型的存儲服務——Blob 服務、表服務、隊列服務。Blob 存儲是一項可存儲大量非結構化資料(如文檔、圖檔、流媒體等)的服務;表服務提供類似NoSql方式存儲資料;隊列存儲是一項可存儲大量消息的服務,使用者可以通過經驗證的呼叫,使用 HTTP 或 HTTPS 從世界任何地方通路這些消息。
相對來說,Blob存儲是更基礎的存儲服務,比如虛拟機中的資料磁盤即是Blob存儲。是以,為避免出現硬體故障并提高可用性,Windows Azure在同一資料中心的三台計算機上複制每個 blob。寫入 blob 時會更新所有三個副本,是以稍後的讀取操作不會導緻不一緻的結果(部落客并未找到任何資料涉及到這三個副本的負載平衡說明,是以可認為這裡多個副本的存在隻關乎可靠性,而非性能)。您還可以指定将 blob 資料複制到位于同一區域中但至少相距 500 英裡的另一個 Windows Azure 資料中心。此複制稱為“異地複制”,發生在 blob 更新後的幾分鐘内,可用于災難恢複。我們還可以通過終結點對Blob資料進行讀寫操作,這裡不再贅述。
對表服務的了解請參看:Windows Azure 表存儲:不同于傳統資料庫,部落客表示對文章中的一句話印象深刻:在學習新知識的時候,避免自己被迫轉換觀念,但卻無法真正了解。
隊列存儲部落客暫未研究,按過不表。
虛拟機
簡單的說,虛拟機即是遠端伺服器。在管理門戶中建立虛拟機的過程很簡單。建立完畢後,點選網頁下部工具欄的“連接配接”按鈕,浏覽器會自動下載下傳遠端連接配接用到的rdp檔案:
下載下傳完畢後,輕按兩下打開遠端登入框,填入之前建立時設定的使用者名和密碼即可登入虛拟機(請自動忽略右上角亮點)。
可以看到,虛拟機自帶系統磁盤和一個臨時磁盤。Azure上的虛拟機上有兩種磁盤,一種是存儲在Blob存儲上的,一種是存儲在虛拟機所在實體機磁盤上的。前一種由于使用了Blob存儲,其資料會按照Blob的存儲政策在本地存3份,并在異地保持一份鏡像,其資料的可用性和可靠性都很高,虛拟機通過網絡通路這些Blob存儲,不依賴于特定一台實體機。後一種依賴于實體機,如果實體機故障或進行維護,這個存儲可能會被清空。顯然,如果我們使用虛拟機的時候不厘清楚磁盤類型,就會導緻資料丢失。上圖的C槽(系統盤)是Blob盤,D盤是臨時盤。
臨時盤往往空間比較大,完全不用的話有些可惜。另外,臨時盤在本地,存取資料要比Blob快。是以,臨時盤适合存放一些臨時資料,比如裸日志、中間結果、上傳下載下傳的緩存等等。
為了提高運作效率,預設情況下,系統盤開啟了讀寫緩存。
由于開啟了磁盤緩存(主要是寫入緩存),是以會有寫入資料丢失的風險。綜上所述,對于需要持久化的資料,比如資料庫檔案,系統盤和臨時盤都不是很好的存放位置(當然你也可以關閉系統盤的寫入緩存,不過有些得不償失了,請看在 Windows Azure 上設定 SQL Server 虛拟機後續步驟一節)。我們可以通過附加一個新的資料磁盤到虛拟機來解決這個問題(當然得禁用寫入緩存),附加的新磁盤是Blob盤。附加磁盤的步驟請參看:如何将資料磁盤附加到虛拟機。Now,我們就可以在虛拟機中安裝SQL Server,并将資料庫檔案放到新的資料磁盤上了。如前所述,資料庫似乎存儲在運作伺服器的 VM 的本地磁盤上。不過,事實上,其中每個磁盤都寫入到 Windows Azure blob。與任何 Windows Azure blob 一樣,它所包含的資料會在資料中心中複制三份。還可以使用 SQL Server 資料庫鏡像等方式來提高可靠性。
在建立虛拟機的過程中,會看到有個“可用性集”的選項,可參看:管理虛拟機的可用性。可結合使用可用性集和負載平衡終結點,以確定應用程式始終可用并且高效運作。有關使用負載平衡終結點的更多資訊,請參見對虛拟機進行負載平衡。
SQL Database
除了在虛拟機中安裝SQL Server外,。Windows Azure 提供了稱為 SQL Database 的 PaaS 技術,該技術允許您對關系資料進行單獨管理。
建立SQL Database時會讓你選擇在已有伺服器上建立庫還是建立一個伺服器,下圖所示為部署在兩台伺服器上的兩個SQL Database。
SQL Database 不為每個客戶提供自己的 SQL Server 實體執行個體。相反,它為每個客戶提供多租戶服務和邏輯 SQL Database 伺服器。所有客戶共享該服務提供的計算和存儲容量。與 Blob 存儲一樣,SQL Database 中的所有資料都存儲在 Windows Azure 資料中心的三台獨立計算機上,進而為您的資料庫提供内置的高可用性 (HA)。雖然對應用程式來說,SQL Database 非常類似于 SQL Server,但它的行為與運作在實體計算機或虛拟機上的 DBMS 不完全相同。因為它運作在共享硬體上,是以其性能将随其所有客戶置于該硬體上的負載而變。這意味着 SQL Database 中存儲過程等任務的性能可能每天都在變化。
在使用本機用戶端通路雲端資料庫之前,需要配置伺服器,允許通路它的IP位址(配置頁面會自動擷取你的公網位址,你也可以添加其它允許通路的IP[範圍]);由于網站也打算放在雲端,是以設定其它雲服務也能通路該伺服器。這一步驟在伺服器的配置頁籤下進行。
Now, 現在就可以在本機使用用戶端通路雲端資料庫了,以上圖test資料庫為例,連結位址為:rmvatzpfci.database.chinacloudapi.cn,1433。連上之後,就可以開始部署了,比如遷移資料庫,如下圖:
這同以往的資料庫部署并無不同,部落客非常順利地将本地資料庫遷移到雲資料庫。然而在使用時發現,select into 到臨時表的方法将出現異常——“Statement 'SELECT INTO' is not supported in this version of SQL Server.”網上資料( SELECT INTO With SQL Azure)說SQL Azure要求所有表都要有聚合索引(經驗證并不需要),而這對于select into 創造的臨時表來說自然是強人所難。不論如何,我們可以使用先create臨時表(不需要聚合索引),再Insert INTO 的方式使用臨時表。
關于 SQL Database 和虛拟機中的 SQL Server ,部落客查閱資料後也沒有發現很大不同,也許要深入使用後才能真正了解并差別開來。
網站
關于如何在Azure管理門戶中建立一個預設空站點不再贅述,在這步完成之後,就可以使用VS将網站直接釋出到雲端了。步驟如下:
1、在管理門戶中點選一條網站記錄進入網站管理頁面,then點選“下載下傳釋出檔案”,将會下載下傳一個PublishSettings類型的檔案:
2、打開vs(部落客用的是2012),右鍵項目——釋出——配置,點導入,選擇之前下載下傳的配置檔案:
3、确定後,下一步為連接配接到伺服器的必要的驗證資訊:
4、下一步,在“設定”頁籤将看到應用程式使用到的資料庫。該步驟會自動檢測EF context和web.config中的資料庫連接配接字元串的key值,可以按需設定連接配接字元串(在本例中,連接配接資料庫即為前述雲端SQL Database),也可以釋出成功後在管理門戶中手動添加:
5、下一步,選擇需釋出的檔案,點選釋出,完成。
我們還可以使用ftp釋出網站和管理網站檔案,ftp位址在網站管理的儀表盤頁籤下:
關于網站是否有負載平衡的支援,官方說“内置自動縮放和負載平衡”,但資料較少。
[更多]參考資料:
Windows Azure使用必讀
為什麼我們需要域?Active Directory系列之一
部分雲端存儲類型介紹和比較:資料管理和業務分析
如何向Azure虛拟機傳檔案
Windows Azure Virtual Machines設定IIS 7.5 FTP
什麼是IaaS, PaaS和SaaS及其差別
轉載請注明本文出處:http://www.cnblogs.com/newton/p/3913679.html