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