微軟的雲端運算架構可區分成兩大塊,包括雲端作業系統的Windows Azure,以及提供各種雲端服務的Azure服務平臺。Windows Azure以Server 2008為核心,透過微軟Fabric Controller 技術,提供高擴充性(scalability)的雲端運算環境。Azure服務平臺則是架構在WindowsAzure 系統上的各種服務區塊(block),可供企業開發自己的應用系統來提供雲端服務。(圖片來源:iThome)

2008年10月27日早上8點半,微軟舉辦專業開發者大會(PDC2008)的現場,各家分析師、微軟競爭對手、SI業者、大企業開發人員等,都引領期盼地坐在臺下。

眾人都很好奇,接手比爾蓋茲的職位,成為微軟軟體架構長的Ray Ozzie,在未來幾年,他將會如何帶領微軟的技術發展方向。

微軟在PDC2008首度發表了雲端運算產品Windows Azure。微軟的雲端運算主要包含了兩項產品,第一個產品是作為底層的雲端作業系統Windows Azure,以及架構在這個作業系統上的Azure服務平臺。

Ray Ozzie表示:「Azure平臺可以視為一個線上作業系統環境,統整了整個資料中心的運算資源,企業可以很方便地調用這些資源,來執行各種應用程式。」

源自Windows Server 2008技術

Windows Azure並非是全新的作業系統,而是以Windows Server 2008為核心,運用微軟虛擬化技術,加上全新打造的管理機制Fabric Controller技術,所建構出來的作業系統,這個作業系統可以讓資料中心打造出雲端運算的執行環境。

當企業要使用Azure環境時,必須透過微軟提供的管理網站,將自行開發的應用程式上傳到微軟的雲端運算環境中執行,也就是必須使用微軟資料中心來執行自家的應用程式。

這麼做的好處是,企業只需要專注於程式開發,不需要知道自己的程式存放在何處,微軟會負責底層資訊架構下所有軟硬體的維護管理工作。

用虛擬化創造擴充性

讓Windows 2008變身為雲端作業系統的關鍵是Fabric Controller技術(簡稱FC)。藉由FC,所有建置在Azure平臺中的應用程式都是服務,FC可以統整所有實體伺服器的資源,再將這些資源,重新組合許多個統一規格的虛擬機器(Virtual Machine,簡稱VM),來執行這些Azure上的服務程式。

對每一支應用程式而言,都是在虛擬機器中執行。開發人員可以透過FC來分配應用程式可以使用的虛擬機器數量,需要越多運算資源,直接變更組態,就能增加越多虛擬機器來執行。不需要像過去那樣,關閉伺服器,擴充伺服器,重新部署應用程式後才能開始提供服務。

遇到實體伺服器發生故障時,FC還會自動將應用程式搬移到其他虛擬機器上執行,讓服務不會中斷。這樣的擴充彈性(scalability),正是雲端運算平臺最主要的功能。

在Azure上延續既有開發經驗

因為源自既有技術,微軟Azure也具備了大多數原本Windows Server 2008所內建的機制,例如IIS 7,換句話說,原本在IIS 7上可以執行的程式和功能,經過部分修改後,大多也能夠直接在Windows Azure中運行。

除此之外,為了協助開發,微軟還免費提供了一套Visual Studio 2008的Azure工具,讓企業使用Visual Studio 2008來開發Azure程式,而且可以在本機端模擬Azure雲端運算環境,來進行應用程式的測試和除錯。

盡可能地延續既有開發經驗來開發雲端運算,是微軟最大的目標。微軟希望能夠讓開發者運用熟悉的.NET開發方式和工具,甚至原來自行開發的元件略做修改,就可以套用,不用重新撰寫程式碼。

雖然Azure能支援.NET開發,不過,Azure架構提出了兩大變革,使得大多數ASP.NET程式必須適當修改後,才能在Azure平臺上順利執行。

執行環境和資料存取新改變

第一個變革是分工化的執行環境,就好像俗話:「男主內、女主外」的分工方式,在Azure架構中,應用程式的執行環境也區分成兩種,一種是負責前端呈現的WebRole環境,以及負責後端邏輯的WorkerRole環境。

WebRole和WorkerRole都是IIS 7的環境,最主要的差別是,前者容許外部的HTTP連線,可以讓外面的顧客或使用者透過瀏覽器打開在WebRole中的服務。但是,WorkerRole環境只容許內部連線,只有在同一個Azure環境中的內部程式可以呼叫WrokerRole上的程式,不提供對外HTTP服務。開發人員須將按照用途不同,將應用程式分別切割成兩個部分。

第二個變革則是資料存取方式的改變。要存取Azure儲存機制的資料,都必須透過HTTP協定,透過符合REST格式的Web Services來存取。每一筆資料,都有一個對應的網址,Azure應用程式必須用REST格式API來取得這個網址所對應的資料。

對.NET開發人員而言,他們可以在Azure中使用熟悉的開發技術,但是,為了因應這兩大變革,臺灣微軟資深應用架構技術經理李匡正表示:「.NET技術雖然相同,但開發人員必須學習新的運用方式。」

將常用服務模組化

在Windows Azure作業系統之上,微軟還打造了一個Azure服務平臺,以模組化的Web Services,提供一些應用程式常用的功能。開發人員可以直接在應用程式中透過HTTP協定呼叫這些模組化的服務,不用自行開發與維護。

目前已發表的Azure服務平臺服務模組,包括了Live服務、.NET服務、SQL Services(原Microsoft SSDS),這多是微軟既有服務,等於是說,微軟將過去已發表的產品,都逐步整合到Azure服務平臺上。微軟表示,未來還會增加MS SharePoint服務和MS Dynamics CRM服務。

整體而言,微軟在PDC會議上,與其說是產品發表,不如說是微軟的實力展現,向企業證明微軟進入雲端運算的行動,同時也預告了微軟未來5~10年的方向。

微軟表示,最快2009年第四季時,就會推出Windows Azure正式版,到時候,Azure服務平臺還會新增1個計價服務的模組,這個模組能統計Azure應用程式所使用的運算資源、儲存空間、頻寬等資訊,微軟會依使用量收費。此外,若資服業者運用Azure平臺提供服務,該模組也能協助SI業者追蹤客戶使用量,以供計價參考。

臺灣企業已開始試用

臺灣微軟已經開始向臺灣大型企業介紹Azure,更有電信業對Azure很有興趣,臺灣大哥大副總經理張幼祺表示:「我們已經開始嘗試開發Azure應用程式了。」

不過,臺灣微軟特約資深講師李智樺建議:「最好等到正式版推出,不論功能或安全性都穩定後,企業再正式採用。」微軟預定今年底正式推出。

 

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

熱門新聞

Advertisement