技術(shù)透析:Windows Azure Platform框架與組成
Windows Azure Platform屬于微軟Windows平臺(tái)即服務(wù)(PaaS)產(chǎn)品,它運(yùn)行在微軟數(shù)據(jù)中心的服務(wù)器和網(wǎng)絡(luò)基礎(chǔ)設(shè)施上的,通過公共互聯(lián)網(wǎng)對(duì)外提供服務(wù),它由高擴(kuò)展性(彈性)云操作系統(tǒng),數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)和相關(guān)服務(wù)組成,服務(wù)都是通過物理或邏輯(虛擬的)Windows Server 2008實(shí)例提供。Windows Azure軟件開發(fā)包(SDK)提供了一個(gè)開發(fā)版基于云的服務(wù),以及開發(fā)、部署和管理Windows Azure中可擴(kuò)展服務(wù)需要的工具和API,包括適用于標(biāo)準(zhǔn)Azure應(yīng)用程序的Visual Studio 2008或2010模板。圖1顯示了Windows Azure Platform的主要組成組件。
圖 1 Windows Azure Platform組成組件
Windows Azure操作系統(tǒng)
Windows Azure是Windows Azure Platform上運(yùn)行云服務(wù)的底層操作系統(tǒng),微軟將Windows Azure定為云中操作系統(tǒng)的商標(biāo),它提供了托管云服務(wù)需要的所有功能,包括運(yùn)行時(shí)環(huán)境,如Web服務(wù)器、計(jì)算服務(wù)、基礎(chǔ)存儲(chǔ)、隊(duì)列、管理服務(wù)和負(fù)載均衡,Windows Azure也為開發(fā)人員提供了本地開發(fā)網(wǎng)絡(luò),在部署到云之前,可以在本地構(gòu)建和測(cè)試服務(wù),圖2顯示了Windows Azure的三個(gè)核心服務(wù)。
圖 2 Windows Azure核心服務(wù)
Windows Azure的三個(gè)核心服務(wù)分別是計(jì)算(Compute)、存儲(chǔ)(Storage)和管理(Management)。
計(jì)算:計(jì)算服務(wù)在64位Windows Server 2008平臺(tái)上由Hyper-V支持提供可擴(kuò)展的托管服務(wù),這個(gè)平臺(tái)是虛擬化的,可根據(jù)需要?jiǎng)討B(tài)調(diào)整。
存儲(chǔ):Windows Azure支持三種類型的存儲(chǔ),分別是Table,Blob和Queue。它們支持通過REST API直接訪問。注意Windows Azure Table和傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)Table有著本質(zhì)的區(qū)別,它有獨(dú)立的數(shù)據(jù)模型,Table通常用來(lái)存儲(chǔ)TB級(jí)高可用數(shù)據(jù),如電子商務(wù)網(wǎng)站的用戶配置數(shù)據(jù),Blob通常用來(lái)存儲(chǔ)大型二進(jìn)制數(shù)據(jù),如視頻,圖片和音樂,每個(gè)Blob最大支持存儲(chǔ)50GB數(shù)據(jù),Queue是連接服務(wù)和應(yīng)用程序的異步通信信道,Queue可以在一個(gè)Windows Azure實(shí)例內(nèi)使用,也可以跨多個(gè)Windows Azure實(shí)例使用,Queue基礎(chǔ)設(shè)施支持無(wú)限數(shù)量的消息,但每條消息的大小不能超過8KB。任何有權(quán)訪問云存儲(chǔ)的帳戶都可以訪問Table,Blob和Queue。
管理:包括虛擬機(jī)授權(quán),在虛擬機(jī)上部署服務(wù),配置虛擬交換機(jī)和路由器,負(fù)載均衡等。
#p#
SQL Azure
SQL Azure是Windows Azure Platform中的關(guān)系數(shù)據(jù)庫(kù),它以服務(wù)形式提供核心關(guān)系數(shù)據(jù)庫(kù)功能,SQL Azure構(gòu)建在核心SQL Server產(chǎn)品代碼基礎(chǔ)上,開發(fā)人員可以使用TDS(Tabular Data Stream)訪問SQL Azure。圖3顯示了SQL Azure的核心組件。
圖 3 SQL Azure核心組件
SQL Azure的核心組件包括管理數(shù)據(jù)存儲(chǔ)(Relational Data Storage),數(shù)據(jù)同步(Data Sync),管理(Management)和數(shù)據(jù)訪問(Data Access)。
關(guān)系數(shù)據(jù)存儲(chǔ):它是SQL Azure的支柱,它提供傳統(tǒng)SQL Server的功能,如表、視圖、函數(shù)、存儲(chǔ)過程和觸發(fā)器等。
數(shù)據(jù)同步:提供數(shù)據(jù)同步和聚合功能。
管理:為SQL Azure提供自動(dòng)配置、計(jì)量、計(jì)費(fèi)、負(fù)載均衡、容錯(cuò)和安全功能。
數(shù)據(jù)訪問:定義訪問SQL Azure的不同編程方法,目前SQL Azure支持TDS,包括ADO.NET,實(shí)體框架,ADO.NET Data Service,ODBC,JDBC和LINQ客戶端。
#p#
.NET服務(wù)
.NET服務(wù)是Windows Azure Platform的中間件引擎,提供訪問控制服務(wù)和服務(wù)總線。圖4顯示了.NET服務(wù)的兩個(gè)核心服務(wù)。
圖 4 .NET服務(wù)的核心服務(wù)
訪問控制(Access Control):訪問控制組件為分布式應(yīng)用程序提供規(guī)則驅(qū)動(dòng),基于聲明的訪問控制。
服務(wù)總線(Service bus):它和我們常說的企業(yè)服務(wù)總線(Enterprise Service Bus,ESB)類似,但它是基于互聯(lián)網(wǎng)的,消息可以跨企業(yè),跨云傳輸,它也提供發(fā)布/訂閱,點(diǎn)到點(diǎn)和隊(duì)列等消息交換機(jī)制。
#p#
Live服務(wù)
Microsoft Live服務(wù)是以消費(fèi)者為中心的應(yīng)用程序和框架的集合,包括身份管理,搜索,地理空間應(yīng)用,通信,存儲(chǔ)和同步。圖5顯示了Live服務(wù)的核心組件。
圖 5 Live服務(wù)的核心組件
Mesh服務(wù)(Mesh service):向用戶、設(shè)備、應(yīng)用程序和數(shù)據(jù)同步提供編程訪問。
身份服務(wù)(Identity service):提供身份管理和授權(quán)認(rèn)證。
目錄服務(wù)(Directory Service):管理用戶、標(biāo)識(shí)、設(shè)備、應(yīng)用程序和他們連接的網(wǎng)絡(luò)的關(guān)系,如Live Mesh中用戶和設(shè)備之間的關(guān)系。
存儲(chǔ)(Storage):管理Mesh中用戶、設(shè)備和應(yīng)用程序的數(shù)據(jù)臨時(shí)性存儲(chǔ)和持久化存儲(chǔ),如Windows Live Skydrive。
通信和狀態(tài)(Communications & Presence):提供設(shè)備和應(yīng)用程序之間的通信基礎(chǔ)設(shè)施,管理它們之間的連接和顯示狀態(tài)信息,如Windows Live Messenger和Notifications API。
搜索(Search):為用戶、網(wǎng)站和應(yīng)用程序提供搜索功能,如Bing。
地理空間(Geospatial):提供豐富的地圖,定位,路線,搜索,地理編碼和反向地理編碼服務(wù),如Bing地圖。
Live框架(Live Framework):Live框架是跨平臺(tái),跨語(yǔ)言,跨設(shè)備Live服務(wù)編程統(tǒng)一模型。
#p#
Windows Azure Platform的用途
根據(jù)微軟官方的說法,Windows Azure Platform的主要用途是:
• 給現(xiàn)有打包應(yīng)用程序增加Web服務(wù)功能;
• 用最少的資源構(gòu)建、修改和分發(fā)應(yīng)用程序到Web上;
• 執(zhí)行服務(wù),如大容量存儲(chǔ),批處理操作,高強(qiáng)度計(jì)算等;
• 快速創(chuàng)建、測(cè)試、調(diào)試和分發(fā)Web服務(wù);
• 降低構(gòu)建和擴(kuò)展資源的成本和風(fēng)險(xiǎn);
• 減少IT管理工作和成本。
微軟是在2008年10月末發(fā)布Azure的,在當(dāng)時(shí)的經(jīng)濟(jì)環(huán)境下,Azure的到來(lái)給正處于經(jīng)濟(jì)寒冬的中小型企業(yè),甚至是大型企業(yè)帶來(lái)了一陣春風(fēng),降低成本成為企業(yè)選擇Azure的主要?jiǎng)訖C(jī)。
微軟設(shè)計(jì)Azure Platform時(shí)充分考慮了現(xiàn)有的成熟技術(shù)和技術(shù)人員的知識(shí),.NET開發(fā)人員可以繼續(xù)使用Visual Studio 2008創(chuàng)建運(yùn)行于Azure的ASP.NET Web應(yīng)用程序和WCF(Windows Communication Framework)服務(wù),Web應(yīng)用程序運(yùn)行在一個(gè)IIS(Internet Information Services)7沙盒版本中,以文件系統(tǒng)為基礎(chǔ)的網(wǎng)站項(xiàng)目不受支持,后來(lái)微軟推出了“持久化Drive”存儲(chǔ),Web應(yīng)用程序和基于Web的服務(wù)以部分信任代碼訪問安全(Code Access Security)模式運(yùn)行,基本符合ASP.NET的中等信任和對(duì)某些操作系統(tǒng)資源的有限訪問。
Windows Azure SDK為調(diào)用非.NET代碼啟用了非強(qiáng)制的完全信任代碼訪問安全,使用要求完全信任的.NET庫(kù),使用命名管道處理內(nèi)部通信。微軟承諾在云平臺(tái)中支持Ruby,PHP和Python代碼,最初的開發(fā)平臺(tái)僅限于支持Visual Studio 2008及更高版本,未來(lái)有計(jì)劃支持Eclipse。
Azure Platform支持的Web標(biāo)準(zhǔn)和協(xié)議包括SOAP,HTTP,XML,Atom和AtomPub。
【編輯推薦】
- 微軟公布云計(jì)算平臺(tái)Azure收費(fèi)模式細(xì)節(jié)
- 云計(jì)算意在長(zhǎng)遠(yuǎn),微軟云計(jì)算服務(wù)Windows Azure已經(jīng)啟用
- Windows Azure:遲到的競(jìng)爭(zhēng)者能否成功?