Windows Azure是由微軟所發展的一套雲計算操作系統,用來提供雲在線服務所需要的操作系統與基礎存儲與管理的平臺,是微軟的雲計算的第一步以及微軟在線服務策略的一部份。
Windows Azure(以及Azure服務平臺)由微軟首席軟件架構師雷·奧茲在2008年10月27日於2008年在微軟年度的專業開發人員大會中發表其社區預覽版本,最新的版本爲General Availability (GA) 版本。於在2010年2月正式開始商業運轉(RTM Release)[1],並在其網站中公告費用等授權信息[2]。7個數據中心分別位於:美國的芝加哥、聖安東尼奧及得克薩斯、愛爾蘭的都柏林、荷蘭阿姆斯特丹;新加坡及中國的香港。[3]
目前已有21個國家可以使用Windows Azure Platform服務,預計2010年七月可以擴張到40個國家。
概觀
Azure服務平臺(Azure Service Platform)是一個建構在微軟數據中心內,提供雲計算的一個應用程序平臺,而Windows Azure操作系統則是這個平臺中的基底服務,它允許開發人員能夠在上面開發,管理以及掛載其在線服務應用程序,並且也提供了一組開發工具讓開發人員得以在本機上開發與測試其雲應用程序,同時所有的在線服務都是基於Windows Azure之上運行,如SQL Azure。
Windows Azure的應用程序掛載環境(hosting environment)稱爲Fabric Controller - 一種提供給個別系統的網絡應用程序集區,它會自動管理資源、負載平衡、地域複製(geo-replication)(無需在意機器位置的高可用性複製法)以及應用程序的生命週期,且不需要被掛載的應用程序明確的提出這些需求。另外,它也提供了大部份應用程序所需要的東西,例如Windows Azure存儲服務 (Storage Service),它提供了應用程序具有存儲非結構數據如大型二進制對象(BLOB),隊列(Queue)以及非關係性表格的存儲體,應用程序也可以使用其他架設在Windows Azure服務平臺中的其他在線服務。
Azure服務平臺提供了部份內置的API,像是REST、HTTP與XML等標準以允許其服務與Windows Azure本身來溝通,而用戶端受管理庫(指ADO.NET Data Services或其他功能的庫)也提供了與服務交互所需功能的封裝,並且與Visual Studio集成,讓開發人員得以使用其集成開發環境來開發與部署要掛載於Azure上的應用程序。
實現
Windows Azure是一種特別針對雲計算的在線服務所開發的網絡操作系統,運行在它的"fabric layer" - 一種存在於微軟數據中心的叢集架構(cluster),自動管理叢集中的計算機計算與存儲資源,並提供資源(前述的計算與存儲資源的一部份)給運行在Windows Azure之上的服務應用程序。Windows Azure通常被描述成在一定數量的Windows Server系統之上,其使用了Windows Server 2008以及特製版本的Hyper-V[4],即已知的Windows Azure Hypervisor[5]以提供服務所需要的虛擬化技術。
此平臺上包含五種服務:
- Live Services:Windows Live的衆多在線服務。
- SQL Services:提供雲的關係數據庫服務。
- .NET Services:提供在雲中的各式應用程序服務器服務,例如交易以及工作流程等。
- SharePoint Services:提供在線版本的SharePoint Server服務。
- Dynamic CRM Services:提供在線版本的Microsoft Dynamics CRM服務。
同時這些服務均有軟件開發工具包(SDK),包含用戶端庫、工具、示例應用程序等,以及與Visual Studio的緊密集成。
擴充性以及穩定是由Windows Azure Fabric Controller所控制,因此服務與環境不會因爲在微軟數據中心的其中一臺服務器當機而停擺,同時它也提供用戶的服務應用程序的存儲器資源以及負載平衡的管理工作。
Azure服務平臺目前能夠運行編譯給CLR運行的.NET Framework應用程序,並直接支持ASP.NET應用程序框架以及配合的部署方法以部署其應用程序至雲平臺,同時配合FastCGI模塊的支持,讓Windows Azure也可以使用PHP應用程序以及其他CGI應用程序。而微軟也發佈了Java SDK for .NET Services以及Ruby SDK for .NET Services讓Java以及Ruby開發人員也可以與.NET Services集成在一起。
參考
- ^ Windows Azure Platform Now Generally Available in 21 Countries
- ^ Windows Azure Pricing and Licensing Overview
- ^ http://news.mydrivers.com/1/149/149087.htm
- ^ Microsoft Azure Services Platform
- ^ Windows Azure uses a hypervisor but it’s not Hyper-V
外部鏈接
- Azure Services Platform Official Home Page
- Introducing the Azure Services Platform, David Chappell, Chappell & Associates
- Cloud Computing Tools Blog
- Google App Engine
[編輯] 官方下載信息
- Windows Azure SDK
- Windows Azure Tools for Microsoft Visual Studio
- Microsoft .NET Services SDK
- Microsoft SQL Data Services SDK
- Java SDK for .NET Services
- Ruby SDK for .NET Services
隨着雲計算時代的到來,軟件開發模式和商業模型都將進入全面開放組合的新時代。微軟雲計算平臺Windows Azure,這將把微軟帶入一個嶄新的時代。Azure來源於法語,語意爲天空一樣的湛藍色,這也正是微軟所希望的,把其打造成承載所有云上的應用和服務的藍天。既然微軟一開始就表明了要在雲計算領域中一展身手,當然不會讓我們失望。在微軟的Visual Studio 2010產品中,就可以看到雲計算的身影。下面將給大家介紹一下,Visual Studio 2010中雲計算技術的開發特性。
1.VS2010爲Windows Azure提供了哪方面的支持
微軟爲了在雲計算上出人頭地,可謂下了大功夫。雖然有Azure這個平臺,其已經可以在雲計算上打下一定的基礎。但是其仍然不滿足。其又給 Azure平臺配備了一個好兄弟,它就是與其一起發佈的Visual Studio 2010。雲計算的基本原理,就是通過資源的負載均衡來提高數據檢索、處理的能力,提高業務的靈活性。雖然Azure平臺可以滿足大部分的雲計算工作,但是其有一個缺陷,就是開發的週期比較長。而Visual Studio 2010就是用來解決這個關鍵問題。在Visual Studio 2010平臺中,已經集成了Azure的項目模型。藉助Visual Studio 2010這個有效的開發工具,可以大大的減少雲計算系統的開發週期。讓雲計算系統能夠及早的服務與用戶。可以說,在Visual Studio 2010的幫助下,Azure雲計算平臺的價值能夠達到極大的實現。
2.VS2010平臺在並行計算對支持雲計算方面的改善
雲計算的核心原理就是實現在不同服務器之間的負載均衡,也就是說,讓不同的服務器參與同一個計算。這就涉及到並行計算的問題。在雲計算之前,硬件技術的發展總是會給軟件帶來免費的性能提升。如增加內存、更換性能更高的CPU後,軟件幾乎不用做任何的修改,就可以在新硬件上使用,而且性能會有很大的提升。在以前,不少系統管理員總喜歡通過硬件升級來提高應用程序的性能。
不過進入到雲計算時代後,這種情況就不存在了。這主要是因爲以前的硬件升級都有一個前提,即只有一個運算核心。如在以前,CPU再怎麼升級,都是單核,即只有一個頭腦在運算。當CPU升級到多核時代後,也就是雲計算的初步階段,CPU就有了多個運算核心。此時傳統的應用軟件由於受到架構的限制,如果不調整原先的設計方案,那麼很難從中得到益處。在實際工作中,有些管理員更換了雙核的CPU後發現,應用軟件性能沒有明顯的改善,甚至有下降的趨勢。這與理論上的可以提高2倍運算率明顯不符。這不能夠怪雲計算不好,而主要是原有的應用軟件架構還無法適應這個變化。
如果要讓傳統的應用軟件能夠在雲計算時代發揮其優勢,則必須對應用程序的架構進行重大的調整。顯而易見,這需要花費很大的時間與精力。爲了減少這個重新開發的時間與精力,在微軟的Visual Studio 2010平臺中加大了對並行運算的支持。Visual Studio 2010平臺的目標是讓大部分開發人員都能夠高效的利用這個平臺進行雲計算系統的開發,並集成微軟現有的多個開發平臺。
Visual Studio 2010平臺在並行計算上的優化,發現主要有以下幾個方面的改善。
(1) Visual Studio 2010版本能夠支持非託管的C++庫和編輯器運行並行計算。也就是說即使應用軟件中採用了非託管的C++,也能夠支持多核運算。
(2) 在Visual Studio 2010種提供了一個並行性能分析器。通過這個分析器可以幫助開發人員迅速找到應用程序的性能瓶頸,並向開發人員提出建議需要在哪些地方採取並行處理。
(3) 改善了Visual Studio 2010的調試器。在這個平臺的調試器中可以智能的瞭解代碼的並行特性,並且能夠在跳似乎程序的不同執行單元的時候,顯示應用程序的應用狀態。
這些改進都是圍繞雲計算展開的。有了這些特性的支持,可以讓開發人員在最短的時間之內開發出一套合格的雲計算系統。
3. 開發者使用vs2010如何更快捷進行雲計算開發
首先說Azure,這是VS2010 提供的雲計算開發服務平臺,而這個Azure 服務平臺是什麼的呢?就是是一個託管服務套件,它包括虛擬計算,可擴展存儲以及自動化服務管理系統等。這些工具將會用來爲微軟的服務提供支持,其中包括 MSN,Xbox Live,以及Office Online等等,實現服務的網絡化。
再說說Azure的關鍵基礎Windows Azure,這可是Azure雲計算基礎,提供計算、存儲、管理的功能,運行在微軟遍佈全球的數據中心架構之中,是咱們步入雲計算時代的捷徑。
Windows Azure已經建立起一個簡單而快速的系統,開發者可以根據自己的需要選擇第二層功能來使用。在Windows Azure上運行Live Services、.NET Services、SQL Services、SharePoint Services和Dynamics CRM Services等基礎網絡服務,更有提供給最終用戶的雲計算服務:Windows Live、Office Live,以及合作伙伴通過開放應用程序接口(API)開發的增值應用服務等等。
通過Azure Services Platform開發者可以使用.NET 3.5 SP1和Visual Studio 2008 SP1創建運行在微軟數據中心上的Internet級應用程序。VS2010爲Windows Azure提供了專門的項目模型,更可以對服務和應用程序進行調試。同時,咱們開發者可以通過在Azure服務平臺上開放API來支持互聯網標準,來實現與異構平臺、與其他開發者之間交流和互動。
4.VS2010 Beta2爲雲計算開發提供了那些工具?
基本上VS2010 Beta2包含了Windows Azure工具,可以簡單的實現在微軟雲平臺上的開發,調試以及部署。包括以下工具和服務:
C#以及VB雲服務項目的模版;
更改Service Role設置的工具;
本地開發整合Development Fabric以及Development Storage服務;
在Development Fabric下的對Cloud Service Roles的調試;
建立雲服務軟件包;
瀏覽Azure Services Developer Portal。
5.微軟雲計算的發展趨勢
雲計算基礎設施建設需要大量的資金和研發資源投入,所以只有實力強大的企業才能勝任,但云計算的應用進程則會從個人和中小企業開始。後者希望把部分(而不會是全部)信息資源和應用委託給雲服務商來管理,這樣便可憑藉更低的成本實現更簡單、更靈活的對業務的控制。
雲計算在中國受到了很大關注,並已成爲學術界和產業的一大熱點。這無疑值得欣慰。無論從歷史經驗還是從現實需求看,中國都應該及早投入雲計算的大潮,在全球計算和通信產業的新一輪風暴中搶佔到有利於未來發展的制高點。
總之,微軟的雲計算在戰略在2008R2操作系統和Windows Azure平臺上已經有了體現。不過現在藉助於Visual Studio 2010平臺,可以將雲計算推向一個新的輝煌。採用Visual Studio 2010平臺,可以大大的縮短基於雲計算技術的應用系統的開發週期,提高與其他平臺的兼容性。不過雖然如此,但是微軟面臨的壓力仍然不小。因爲像 Google等公司也都推出了比較高效的雲計算開發工具。所以誰勝誰敗,現在還不能夠下定論。