對於熟悉Microsoft開發工具的開發者而言,多少都聽過Windows Azure這個雲端平台,但對於Java開發者而言或許就不是如此了,
本篇文章先整理出一些主要服務的相關資料及知識,協助Java開發者快速的了解Windows Azure Platform
Windows Azure Platform Overview for Java
文/黃忠成
這篇文章講什麼?
對於熟悉Microsoft開發工具的開發者而言,多少都聽過Windows Azure這個雲端平台,但對於Java開發者而言或許就不是如此了,
本篇文章先整理出一些主要服務的相關資料及知識,協助Java開發者快速的了解Windows Azure Platform,未來我會持續發表更詳細的相關文章。
Windows Azure Platform
這是一個統稱,Windows Azure Platform是一個雲端平台,其中主要的產品有
託管服務/計算服務
由Windows Azure Platform提供VM,代管應用程式,目前提供
- Web Role – 代管使用者的ASP.NET應用程式
- Worker Role – 適用於一般開發,可以執行Web 角色的背景處理,在Java中多半使用這個。
- VM Role - 方便您將現有的Windows Server 應用程式移至Windows Azure 託管環境。
計算服務擁有可調整VM資源及數量的能力,我們可以要求Windows Azure Platform建立如1 ,2 , 4顆CPU的環境來執行應用程式,或是要求
Windows Azure Platform建立數個VM一起執行應用程式,此時這些VM都會執行同樣的應用程式,如果是Web應用程式,那麼前端會提供
負載平衡(Load Balance)機制,舉例來說,當應用程式於兩個VM執行時,第一個使用者連上的是VM A,第二個就是VM B,也就是round-robin模式。
在雲端環境下,應用程式的執行體必須擁有容錯及高可用性的機制,Windows Azure Platform為每一個VM準備了數個複本,可於VM發生問題時
立即切換至正常的VM繼續執行,以維持高可用性。
Windows Azure 儲存體服務(Windows Azure Storage Service)
由Windows Azure Platform提供儲存空間,包含了
- Table Storage Service - 一個NoSQL的實作體,儲存row/colum類型的資料。
- Blob Service – 儲存大量二進位資料
- Queue Service – 佇列
在雲端環境下,儲存體必須擁有可分散儲存於多台電腦,且擁有分散存取的能力,這與傳統的SQL關聯式資料設計概念有所落差,因此多半會提供
NoSQL的實作體來取代SQL關聯式資料庫,Windows Azure Platform中另外提供了針對雲端運算環境重新設計的SQL Azure,這是一個雲端關聯式資料庫。
Windows Azure AppFabric
Windows Azure Platform所提供的應用程式服務,其中包括
- Service Bus –允許開發者由Windows Azure託管服務連回本地端電腦的能力,其可穿越NAT,用於設計混合雲的應用程式(hybrid cloud)。
- Caching – 提供應用程式統一的快取服務。
- Access Control – 提供一致的使用者認證服務,可與Facebook、Windows Live、Google、Yahoo結合。
更多的說明請至以下網址
http://msdn.microsoft.com/zh-tw/library/dd179442.aspx
如何取得Windows Azure ?
可至http://www.windowsazure.com/zh-tw/取得試用或付費購買。
開發工具及語言
目前Windows Azure Platform支援多種語言,包含了.NET、Java、PHP、Node.js等等,可於以下網址取得相關資訊及SDK下載。
http://www.windowsazure.com/zh-tw/develop/overview/
基本上,當你了解Tomcat/Java如何跑起來後,大概就可以意識到只要能在Windows環境下跑的應用程式,多半都能夠跑在Windows Azure Platform的Worker Role裡。
不管使用的是什麼語言,一定得下載的就是Windows Azure SDK,可由以下網址下載安裝。
http://www.microsoft.com/web/gallery/install.aspx?appid=WindowsAzureSDK
其中包含了
- Windows Azure Computer Emulator - 用於模擬Windows Azure環境,擬真度相當高。
- Windows Azure Storage Emulator – 用於模擬Windows Azure Storage Servcie(Table、Blob、Queue)
SQL Azure
一個針對雲端運算環境所設計的關聯式資料庫,基於SQL Server核心開發。
參考資料
小朱大的Windows Azure系列
http://www.dotblogs.com.tw/regionbbs/Tags/Windows%20Azure%20Platform/default.aspx