繼SOA、Web 2.0之後,雲計算成為如今最炙手可熱的IT技術。 正如微軟中國掌門人張亞勤博士所說的那樣,雲計算正在改變整個IT產業。
那麼,究竟什麼是雲計算?雲計算為何如此強大呢?我們先來引述一下微軟CEO斯蒂夫鮑爾默的話吧,「雲是一種革命性的計算模式,它把使用者手邊的計算裝置與超大規模資料中心的處理和存儲能力相連接, 把計算從受限的資源轉變為幾乎無限的平臺,而不管身處何地,都能把使用者與他們需要的資訊連接起來。 」鮑爾默信心滿滿地指出,要在今年投入95億美金,打造以Windows Azure為核心的雲計算技術,與之相對應的是70%的員工投入到雲相關的產品與服務,到明年,這一數位將變為90%。
這讓筆者想到了關於IT巨頭IBM的一個著名商業案例。 48年前,IBM總裁小沃森投入50億美金研發IBM 主機System/360,成為IBM 歷史上最大的商業豪賭。 如今,由System/360演化而來的Z系列成了IBM最賺錢的機器。
為什麼微軟會對Windows Azure如此信心滿滿,而Windows Azure究竟是什麼呢?
我知道,按照服務模型分類,雲計算可分為SaaS,IasS,PaaS。 SaaS是目前使用最多的一種服務模式,使用者按照某種協定SLA,直接通過網路從服務商獲取軟體服務。 IaaS指的是把IT基礎設施作為一種服務通過網路對外提供。 在這種服務模式下,使用者不用自己構建一個資料中心,而是通過租用的方式來使用基礎設施服務,包括伺服器、存儲和網路等。 PaaS則是指將一個完整的應用程式運行平臺作為一種服務提供給客戶。 這種服務模式下,客戶不需要購買底層硬體與平臺軟體,而只需要利用PaaS平臺,就能夠創建,測試與部署應用程式。
Windows Azure Platform本身就是一個PaaS解決方案,為應用程式提供託管與運行服務。 從體系結構上看,Windows Azure Plaform包括一個雲計算作業系統Windows Azure、雲關係資料庫SQL Azure,和一個為開發者提供的服務集合.NET Services。 對於開發者而言,既可以在開發創建應用,直接部署到Azure平臺運行,也可以使用Azure平臺提供的服務。 Windows Azure Platform的目標是為了讓開發人員可以把重點關注放在業務邏輯上,而不是在部署與管理雲服務的基礎架構上,從而節省了開發部署的時間和費用。
從一個較高的角度來看,理解什麼是雲計算作業系統Windows Azure,這其實並不難:它是一個在雲端運行Windows應用與存儲其資料的平臺,向外提供計算服務與存儲服務。 Windows Azure運行在很多機器上。 這些機器微軟分佈在全球各地的資料中心,並且能通過互聯網訪問。 Windows Azure通過Fabric控制器將這些數量巨大的計算與存儲資源組織成一個整體。 而Windows的計算服務與存儲服務就構建在這個Fabric架構之上。
下面,我們分別討論一下Windows Azure的計算服務與存儲服務。
Windows Azure的計算服務
使用者可以通過Visual Studio,Windows Azure for Visual Studio外掛程式,以及Windows Azure SDK開發,調試,測試,部署應用。 例如,使用ASP.NET開發網站,WCF開發Web Service,WF開發工作流等。
Windows Azure將運行在該平臺的應用稱為託管服務,並被分為不同的角色:Web Role與Worker Role。 每一個角色可以有多個實例,每一個實例對應一台VM。 而背後提供虛擬化服務的技術核心是Windows Azure Hypervisor。 從這個角度來說,Windows Azure運行在資料中心的多台Windows 2008伺服器,借助Hyper-V的定制虛擬化服務,提供雲計算服務。
簡單地,我們可以把Web Role理解為一個Web網站或者Web服務。 而Worker Role則用來託管通用代碼,這些代碼用來執行一些長期的,非交互的任務。 比如Worker Role可用來託管Apache Tomcat。
Web Role與Worker Role對應的實例都是獨立運行在不同的虛擬機器上,其通信機制既可以是同步式的直接網路調用,也可也是訊息佇列服務式非同步傳遞。
關於Web Role與Worker Role的管理,是通過一個稱為Windows Azure SDK的API實現的。 這些API作為Windows Azure SDK的一部分,可用於在本地開發Windows Azure 應用程式。
Windows Azure的存儲服務
Windows Azure的存儲服務是一個可擴展的、高可用性的持久化服務,可以存儲任何類型的應用程式資料。 按類型劃分,Windows Azure存儲服務可分為:
大型二進位物件Blob:Blob為存儲大型的二進位物件而設計,例如圖片,視頻,音訊檔等。
Windows Azure Drive:提供了一個存儲在Windows Azure的虛擬硬碟,可讓使用者像操作NTFS硬碟一樣讀寫資料。
表:與關係資料庫對應,用於存儲資料巨大而結構相對簡單的資料。
訊息佇列:為可靠的非同步消息傳遞而設計的資料類型。
總結
未來幾月,微軟將重點開發新一代Windows Azure雲平臺,目標是促進Windows Azure從PaaS向LaaS的雲服務戰略轉型,微軟將從三個方面重點發力,調整Azure平臺的虛擬機器實現方式, 實現使用者能夠在Windows和Linux虛擬機器中自由運行,實現SQL Server與SharePoint應用; Windows Azure將新增持久化功能;新增虛擬機器運行Linux。 我們也期待Windows Azure的計算服務與存儲服務越來越好。
(責任編輯:呂光)