圖片來源: 

iThome

微軟在專業開發者會議上,發表了雲端作業系統Windows Azure,以及多項Azure的相關服務和技術。為了讓企業和開發人員了解Azure,微軟特別委託知名科技律師David Chappell,撰寫了Azure服務平臺白皮書,David Chappel過去也是微軟多項技術白皮書的作者。

David Chappel在白皮書中詳細介紹Azure所採用的技術特性和服務內容。我們特別從白皮書中精選出9項不可不知的重點,讓你快速認識微軟的雲端技術Azure。

 重點1 
Windows Azure和Azure服務平臺是兩套不同的產品

Windows Azure是微軟的雲端作業系統,而Azure服務平臺則是利用Windows Azure作業系統作為核心,所打造出來的服務平臺,兩者是不同的產品。Windows Azure作業系統負責執行Azure應用程式,目前可支援ASP.NET開發的程式。

而Azure服務平臺上,主要提供一些基礎的雲端服務,可供其他網路應用程式透過HTTP協定和API來存取這些服務。目前已經開放了3項雲端服務,包括.NET服務、SQL服務企業和Live服務。未來在Azure服務平臺上,還會增加MS Sharepoint服務和MS Dynamics CRM服務。

 

 重點2 
Windows Azure只能安裝在微軟資料中心的伺服器中,不能買回家

Windows Azure雖然是以Windows Server 2008為基礎,所發展的作業系統,但是並非是一套可購買回家安裝的產品,目前,微軟也不提供給企業安裝在企業內部的伺服器上。

Windows Azure安裝在微軟資料中心的伺服器上,企業只能將自己開發的應用程式,透過Azure服務開發者入口網站,將應用程式發布到微軟資料中心的Windows Azure環境中執行。

微軟表示,未來會推出更多功能來協助企業統整雲端應用程式和企業內部伺服器,例如未來會推出Microsoft Services Connector,讓企業可以很容易地將本地端的AD帳號資料和雲端應用程式整合。

 

 重點3 
不是所有應用都適合在Azure環境執行,Azure適合執行分散式應用

Windows Azure利用新的Fabric Controller(簡稱FC)技術和虛擬化技術,來提供高擴充性的雲端運算環境,但是,並非所有應用程式都適合在Windows Azure的環境中執行。

Windows Azure透過FC技術來分配執行雲端應用程式的虛擬機器數量,FC會將1隻應用程式複製很多分,放到不同虛擬機器上執行,讓大量使用者分別連到不同虛擬機器上的應用程式,進而達到分攤負載的效果。

但是,1隻應用程式仍舊受限於1個虛擬機器的運算能力,例如在Azure環境中,執行需要高運算量的化學分子模擬運算程式,即使設定了50個虛擬機器來執行這支程式,也只是重複計算50次,而不是將程式分成50個小程式來計算,用50個虛擬機器和用1個虛擬機器的執行時間相比,這兩種作法的執行效能相當,增加越多虛擬機器並一定越快完成。

 

 重點4 
Windows Azure目前只支援ASP.NET,但第三方應用程式可存取Azure服務平臺上的服務

Widnws Azure目前支援ASP.NET開發的應用程式,開發人員可利用Visual Studio 2008開發ASP.NET程式,將程式壓縮打包後,連同應用程式組態檔,透過Azure服務開發者入口網站,將檔案上傳到Azure環境中部署即可執行。

但是,Azure服務平臺所提供的服務,包括.NET服務、SQL服務、Live服務,以及未來的MS Sharepoint服務和MS Dynamics CRM服務等,都是透過REST或SOAP的API來呼叫。因此,第三方應用程式或非微軟技術平臺,都可以使用這些服務。

 

 重點5 
舊有ASP.NET程式無法直接放到Azure環境執行,必須重新修改

為了讓Windows Azure上的應用程式具備擴充性(Scalability),使用者每次呼叫Azure程式時,不一定會由相同虛擬機器上的程式提供服務,所以,過去保存資料的方式,例如將資料存放在記憶體中的變數,在不同虛擬機器上的數值可能會不同。

開發人員無法使用過去儲存資料的方式,來處理Azure程式所使用的資料,換言之,企業原有的ASP.NET程式,也無法直接放到Azure環境中執行,必須重新改寫。

要保留資料,必須將使用者端的資訊透過ADO.NET儲存到Windows Azure儲存機制、或者儲存使用者端的Cookie裡面。也可以將資料透過REST API儲存到SQL服務中。

 

 重點6 
無法使用SQL語法查詢,也沒有Schema,需用API存取

在Azure環境中,存取資料的方式和過去截然不同。Windows Azure提供的儲存機制,無法使用SQL語法查詢,也沒有Schema,應用程式必須使用RESTful格式的API,透過HTTP協定來存取資料,所有資料都可以透過一個特定網址來存取。

Windows Azure儲存機制提供了3種資料型態,包括Blobs、Tables和Queues。前兩種主要用來儲存資料,Blobs最大可儲存50GB的檔案,影音、圖片都可以,還有描述標籤可記錄相關資訊。Tables格式則可儲存結構式資料,但是沒有Schema,直接透過XML標籤來讀取特定欄位的資料。而第三種Queuse格式則是讓虛擬機器之間傳遞資料之用。

SQL服務並不是Windows Azure儲存機制,而是屬於Azure服務平臺所提供的其中一種服務。SQL服務建置在SQL Server 2008伺服器上,但同樣也無法讓應用程式使用SQL語法,來查詢儲存在SQL服務中的資料。微軟表示,未來會推出相容SQL Server 2008但不具擴充性的服務模組。

所有Azure環境中的資料,不特定存放在哪一臺實體伺服器中,Azure環境會提供3倍容錯能力。

 

 重點7 
微軟將提供計價機制,可按使用量計費

目前微軟推出的是Azure社群技術預覽版(CTP版),採免費申請制,但是,限制可使用的儲存空間和網路流量。微軟表示,未來正式版推出時,將會增加計費機制。計費機制會監控每一支應用程式所消耗的運算資源、網路流量、儲存空間等,微軟再依不同使用量計價。

這項計費機制也將是一項Azure服務平臺上的服務, SI廠商可以開發Azure程式提供給用戶,再利用這個計費機制,來統計用戶使用產品的使用情況,作為計價的參考。

 

 重點8 
Live服務不是Live系列的產品,而是Live產品的底層功能

在Azure服務平臺的Live服務不是微軟現有的Live系列產品,而是微軟將Live產品底層所用的基礎功能,整合成獨立的服務機制。例如在Hotmail和Messenger的帳號機制,都整合成為Live服務中的使用者服務。

開發人員透過Live框架的元件,可以讓自己開發的應用程式存取Live服務中的資料,也就是等同存取到Live產品中的各種資訊。

 

 重點9 
Azure應用程式可透過Live框架延伸到不同裝置中執行

Live框架可以讓應用程式存取Live服務的資料,包含了微軟多種技術的集合,例如Silverlight元件、.NET FX元件等。在Live框架中有一個Live執行環境(Live Operating Environment),只要在行動裝置上安裝這套執行環境,就可以執行用Live框架開發的應用程式,包括桌上型電腦、非微軟系統電腦、手機、行動裝置等。

此外,Live框架中還有一個Mesh技術,可以用來處理跨使用者、跨裝置或跨應用程式之間的資料同步。Azure應用程式可以使用Mesh技術和Live執行環境,在各種裝置上建立客戶端程式,讓Azure應用程式延伸到各種裝置中。

 

 快速認識Azure 

1. Windows Azure和Azure服務平臺是不同產品

2. Windows Azure只安裝在微軟資料中心的伺服器

3. 不是所有應用都適合在Azure環境執行

4. Windows Azure目前只支援ASP.NET

5. 舊有ASP.NET程式無法直接放到Azure環境執行

6. 無法使用SQL語法查詢,也沒有Schema

7. 微軟將提供計價機制,按使用量計費

8. Live服務不是Live系列的產品

9. Azure應用可透過Live框架延伸到不同裝置

資料來源:Azure技術白皮書,iThome整理,2009年3月

 

微軟委託知名科技律師David Chappell 撰寫了Azure技術白皮書,可免費下載。

 

【相關報導請參考「撥開微軟Azure雲端運算的迷霧」】

熱門新聞

Advertisement