Windows Azure Platform Overview for Java

對於熟悉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