微軟Windows Azure技術(shù)
微軟從2006年起構(gòu)想Windows Azure,到2007年用了一整年的時(shí)間開發(fā)出Beta版,不斷吸引公司內(nèi)外的合作伙伴,在使用中逐步完善相應(yīng)的用戶組件和開發(fā)環(huán)境,陸續(xù)增加了平臺(tái)服務(wù)程序界面、門戶網(wǎng)站、監(jiān)測和調(diào)試服務(wù)、收費(fèi)等配套平臺(tái)服務(wù),并開發(fā)了SQL Azure等豐富云服務(wù)。2010年,微軟在全球正式發(fā)布了Windows Azure。微軟Windows Azure作為功能強(qiáng)大的云操作系統(tǒng),為平臺(tái)用戶提供廣闊的云服務(wù),并且在飛速繼續(xù)添加新的服務(wù)中。
三大執(zhí)行模式
Windows Azure目前包括三大應(yīng)用執(zhí)行模式及11大類服務(wù)。其中執(zhí)行模式包括Windows Azure虛擬主機(jī)、Windows Azure網(wǎng)站及Windows Azure云服務(wù),這也是用戶最能直接接觸到的層面。
其中,Windows Azure虛擬主機(jī)用于按需創(chuàng)建虛擬主機(jī),可以從標(biāo)準(zhǔn)image映像文件或是用戶自己提供的image映像文件,用戶可以選擇按小時(shí)為虛擬主機(jī)付費(fèi)。Windows Azure虛擬主機(jī)服務(wù)提供的即為通常理解的基礎(chǔ)設(shè)施即服務(wù)(IaaS)。
用戶對云計(jì)算的另一主要需求為網(wǎng)站及網(wǎng)絡(luò)服務(wù)的運(yùn)營。用戶可以在Windows Azure虛擬主機(jī)上運(yùn)營網(wǎng)站及網(wǎng)絡(luò)服務(wù),但這需要用戶自己去管理一個(gè)或是多個(gè)虛擬主機(jī)。Windows Azure網(wǎng)站服務(wù)基于Internet Information Service(IIS)提供一個(gè)可管理的網(wǎng)站環(huán)境,可實(shí)現(xiàn)資源的自動(dòng)負(fù)載均衡。
Windows Azure云服務(wù)支持可擴(kuò)展、可靠及低管理的應(yīng)用,即通所常說的平臺(tái)即服務(wù)(PaaS),用于構(gòu)建支持并發(fā)用戶、無需管理、永遠(yuǎn)在線的云服務(wù)。Windows Azure網(wǎng)站服務(wù)允許用戶創(chuàng)建類似的應(yīng)用,但用戶本身并無管理員權(quán)限。Windows Azure虛擬主機(jī)服務(wù)賦予用戶很高的自由度,但用戶需要自己負(fù)責(zé)管理多項(xiàng)工作。Windows Azure云服務(wù)則即滿足了用戶構(gòu)建云服務(wù)的需要,同時(shí)減輕了用戶的系統(tǒng)管理負(fù)擔(dān)。
Windows Azure虛擬主機(jī)服務(wù)提供了一個(gè)通用的計(jì)算環(huán)境,Windows Azure網(wǎng)站提供了一個(gè)低成本的網(wǎng)站托管服務(wù),Windows Azure云服務(wù)則是以低管理成本創(chuàng)建可擴(kuò)展和可靠云應(yīng)用的最佳選擇,用戶可以選擇一種執(zhí)行模式或是多種混合模式。
擴(kuò)展的三大云服務(wù)堆棧
作為最為全面的云計(jì)算平臺(tái),微軟Windows Azure主要提供三大云堆棧,包括:應(yīng)用服務(wù)堆棧、數(shù)據(jù)服務(wù)堆棧和基礎(chǔ)設(shè)施服務(wù)堆棧。
應(yīng)用服務(wù)堆棧包括云服務(wù)、移動(dòng)服務(wù)、緩存、身份、網(wǎng)站、服務(wù)總線、媒體及高性能計(jì)算等。
· 云服務(wù)。借助云服務(wù),用戶可以快速部署和管理多層應(yīng)用,而讓W(xué)indows Azure處理細(xì)節(jié)問題:配置、負(fù)載均衡、健康監(jiān)測,以確保持續(xù)可用性;使用專門的IIS Web服務(wù)器,利用Web Role托管前端 Web應(yīng)用;運(yùn)行異步、長期運(yùn)行或永久任務(wù),獨(dú)立于用戶和Worker Role的互動(dòng)。
· 移動(dòng)服務(wù)。借助移動(dòng)服務(wù),用戶可以利用Windows Azure支持諸多后臺(tái)功能:面向移動(dòng)設(shè)備平臺(tái)的本地客戶端庫,包括Windows Store、Windows Phone 8、OS、安卓;針對身份提供商進(jìn)行用戶驗(yàn)證,包括微軟賬戶;推送通知至移動(dòng)應(yīng)用;基于REST的API,用于數(shù)據(jù)訪問和用戶驗(yàn)證;監(jiān)測和數(shù)據(jù)可視化顯示用戶的移動(dòng)服務(wù)的使用情況。
· 緩存。通過讓數(shù)據(jù)更靠近應(yīng)用邏輯,緩存幫助應(yīng)用縮放并提高其響應(yīng)能力:選擇托管或使用現(xiàn)有或?qū)S肳eb/Worker角色的緩存;通過改變虛擬機(jī)大小或角色的運(yùn)行實(shí)例的數(shù)量,輕松地縮放;降低延遲并提高吞吐量;通過內(nèi)存緩存協(xié)議實(shí)現(xiàn)現(xiàn)有的內(nèi)存緩存應(yīng)用;創(chuàng)建超過100GB的緩存。
· 身份。Windows Azure Active Directory是一項(xiàng)基于REST的現(xiàn)代服務(wù),為云應(yīng)用提供身份管理和訪問控制:把本地Active Directory擴(kuò)展到Windows Azure和其他云服務(wù); 根據(jù)有關(guān)登陸流程、認(rèn)證和聯(lián)合服務(wù)的集中政策而管理對應(yīng)用的訪問; 在訂閱Office 365等其它微軟云服務(wù)時(shí),使用一致的單一登錄和數(shù)字權(quán)限管理技術(shù)。
· 網(wǎng)站。借助網(wǎng)站,用戶可以免費(fèi)地從 Web 應(yīng)用開始,然后按需縮放:使用任何工具(VS、文本編輯器)或語言(ASP.NET、PHP、Python、Node.js)開發(fā);在5分鐘或更短的時(shí)間內(nèi)從庫中運(yùn)營一個(gè)網(wǎng)絡(luò)應(yīng)用;使用TFS、GIT、FTP或WebDeploy部署;選擇SQL數(shù)據(jù)庫或MySQL;在共享或保留模式下即時(shí)縮放;使用價(jià)格可承受的定制域名。
· 服務(wù)總線。服務(wù)總線信息實(shí)現(xiàn)了云中或本地應(yīng)用之間松散耦合的通信,從而提高縮放能力和彈性。它為廣泛通信、大型事件分布、命名和服務(wù)發(fā)表提供功能:隊(duì)列確保消息的先進(jìn)先出;話題可以訂閱,讓接收者能夠選擇要閱讀的具體消息;即使發(fā)送者和接收者不同時(shí)在線,代理消息模式也能實(shí)現(xiàn)消息傳輸。
· 媒體服務(wù)。借助媒體服務(wù),用戶可以在Windows Azure中快捷地為媒體的創(chuàng)建、管理和分發(fā)建立工作流程:使用預(yù)制的第一方和第三方技術(shù)創(chuàng)建和管理內(nèi)容,并分發(fā)至多種設(shè)備和平臺(tái)(Xbox、Windows、MacOS、iOS);通過REST API輕松地與現(xiàn)有工具和流程集成;只安全地存儲(chǔ)一套源文件,并動(dòng)態(tài)地提供至多個(gè)格式而沒有中間文件。
· 高性能計(jì)算。借助HPC Scheduler,用戶可以處理跨多個(gè)Windows Azure虛擬機(jī)的復(fù)雜的并行計(jì)算工作,其目的是在云上運(yùn)行高性能計(jì)算更加容易。
數(shù)據(jù)服務(wù)堆棧包括SQL數(shù)據(jù)庫、HDInsight、表格和Blob存儲(chǔ)。
· SQL數(shù)據(jù)庫。對于需要全功能關(guān)系數(shù)據(jù)庫即服務(wù)的應(yīng)用程序來說,SQL數(shù)據(jù)庫提供高互操作能力,讓用戶能夠使用很多主要的開發(fā)框架進(jìn)行開發(fā):僅為實(shí)際使用的量付費(fèi);利用現(xiàn)有關(guān)系數(shù)據(jù)庫設(shè)計(jì)和編程技能開發(fā)企業(yè)級應(yīng)用程序;把多個(gè)冗余的數(shù)據(jù)副本復(fù)制到多個(gè)物理服務(wù)器,實(shí)現(xiàn)高可用性;利用導(dǎo)入/導(dǎo)出簡化現(xiàn)有本地?cái)?shù)據(jù)庫向云遷移流程。
· HDINSIGHT。通過與Microsoft Office 和System Center等工具集成,基于Apache Hadoop的HDInsight簡化了大數(shù)據(jù)相關(guān)工作:快速地讀取和處理大型結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ);按需創(chuàng)建基于Hadoop的集群;與SQL Databse,Reporting Services、PowerPivot、Excel和Windows Azure存儲(chǔ)集成。
· 表格。表格服務(wù)給用戶提供了高擴(kuò)展性和高度結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)功能。在Windows Azure存儲(chǔ)系統(tǒng)中,每個(gè)表格由大量數(shù)據(jù)實(shí)體(Data Entities)組成,而每個(gè)數(shù)據(jù)實(shí)體又由若干屬性組成。Windows Azure表格與傳統(tǒng)數(shù)據(jù)庫中的表格既有相似之處,也有不同之處。不同之處在于,Windows Azure存儲(chǔ)表格沒有固定的模式,不是傳統(tǒng)的關(guān)系型列表,Windows Azure存儲(chǔ)表格可實(shí)現(xiàn)系統(tǒng)的自動(dòng)負(fù)載均衡。
· Blob存儲(chǔ)。存儲(chǔ)服務(wù)為安全地管理數(shù)據(jù)提供了多種選擇,并且可以通過REST API訪問:數(shù)據(jù)跨物理上分離的錯(cuò)誤域在同一個(gè)數(shù)據(jù)中心內(nèi)至少復(fù)制三次,而且還會(huì)復(fù)制到其它地區(qū)的數(shù)據(jù)中心;使用blob,每個(gè)賬戶最高可以存儲(chǔ)100TB的非結(jié)構(gòu)化文本或二進(jìn)制數(shù)據(jù)(視頻、音頻和圖片);使用表格中的NoSQL功能,每個(gè)賬戶最高可以存儲(chǔ)100TB的非結(jié)構(gòu)化數(shù)據(jù);使用隊(duì)列在應(yīng)用層之間建立可靠、持久的通訊。
基礎(chǔ)設(shè)施服務(wù)堆棧包括虛擬機(jī)、虛擬網(wǎng)絡(luò)、流量管理器和CDN等。
·虛擬機(jī)。借助虛擬機(jī),用戶可以全面控制云中的一臺(tái)服務(wù)器并根據(jù)業(yè)務(wù)需要進(jìn)行維護(hù):帶來定制的Windows Serve或Linux映像或從庫中選擇;無需改變現(xiàn)有代碼即可遷移應(yīng)用程序,無縫地把SharePoint、SQL Server或Active Directory遷移到云;持久地存儲(chǔ)操作系統(tǒng)和應(yīng)用數(shù)據(jù);遠(yuǎn)程連接以控制虛擬機(jī),擁有全面的管理權(quán)限。
·虛擬網(wǎng)絡(luò)。Windows Azure虛擬網(wǎng)絡(luò)讓用戶能夠在Windows Azure中配置和管理虛擬專網(wǎng)(VPN),并安全地把這些與本地IT基礎(chǔ)設(shè)施連擊:建設(shè)傳統(tǒng)的‘站點(diǎn)到站點(diǎn)’虛擬專網(wǎng),以便利用IPsec協(xié)議安全地?cái)U(kuò)展數(shù)據(jù)中心容量;按主機(jī)名連接到用戶的角色實(shí)例和虛擬機(jī);通過為虛擬機(jī)配置DNS設(shè)置和IP地址范圍來控制用戶的網(wǎng)絡(luò)部署。
·流量管理器。流量管理器對入站流量在相同或不同數(shù)據(jù)中心內(nèi)的多個(gè)服務(wù)上進(jìn)行負(fù)載均衡。客戶配置應(yīng)用于其域名上DNS查詢的政策:管理流量以確保高性能、可用性和彈性;從不同的路由方法中選擇,例如性能、故障時(shí)轉(zhuǎn)移和循環(huán)方式;在服務(wù)故障時(shí)提供自動(dòng)的故障時(shí)轉(zhuǎn)移功能。
·內(nèi)容交付網(wǎng)絡(luò)(CDN)。通過在最靠近用戶的地方緩存內(nèi)容,Windows Azure CDN提高了應(yīng)用的性能,以便能夠提供最佳的應(yīng)用體驗(yàn):向遠(yuǎn)離內(nèi)容源的用戶提供更高的性能,他使用需要很多互聯(lián)網(wǎng)通信來載入內(nèi)容的應(yīng)用;充分利用分布式規(guī)模來管理流量高峰,例如產(chǎn)品發(fā)布時(shí);一次點(diǎn)擊即可在Windows Azure管理門戶網(wǎng)站內(nèi)實(shí)現(xiàn)。
Windows Azure還提供了豐富的工具和軟件開發(fā)包,來方便用戶開發(fā)、測試和發(fā)布應(yīng)用程序。Windows Azure的多數(shù)工具都被集成到了微軟的各種開發(fā)環(huán)境如Microsoft Visual Studio開發(fā)系統(tǒng)上。
隨著Windows Azure進(jìn)入中國,中國的廣大開發(fā)者將有機(jī)會(huì)近距離體驗(yàn)Windows Azure強(qiáng)大的開發(fā)環(huán)境和功能,并與微軟的中國專家交流和互動(dòng),從而把中國智慧回饋給Windows Azure全球社區(qū)。