




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章云計算7.1云計算的概念
7.2云計算產生和發展基礎
7.3云計算的發展歷史
7.4云計算的發展環境
7.5云服務
7.6微軟公司的基于WindowsAzure系統的開發
7.7云計算的典型公司Salesforce及產品簡介
7.8云計算的服務模式
7.9云計算與中國7.10本章小結
7.1云計算的概念
云計算的核心思想是將大量用網絡連接的計算資源統一管理和調度,構成一個計算資源池,向用戶提供按需服務。
提供資源的網絡被稱為“云”。“云”中的資源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。這種特性使我們可以像使用水電一樣使用IT基礎設施。云計算這個名詞是借用了量子物理中的“電子云”(ElectronCloud),強調計算的彌漫性、無所不在的分布性和社會性特征。量子物理上的“電子云”是指在原子核周圍運動的電子不是沿一個固定的軌道,而是以彌漫空間的、云的狀態存在的。描述電子運動的不是牛頓經典力學而是一個概率分布的密度函數,用薛定諤波動方程來描述特定的時間內粒子位于某個位置的概率有多大,這跟經典力學的提法完全不同。電子云具有概率性、彌漫性、同時性等特性,云計算來自電子云的概念。IBM有一個無所不在的計算叫“Ubiquitous”,MS(Bill)不久也跟著提出一個無所不在的計算“Pervade”,現在人們對無所不在的計算又有了新的認識,即“Omnipresent”。但是,云計算并不是純粹的商業炒作,它確實會改變信息產業的格局,現在許多人已經用上了GoogleDoc和GoogleApps,用上了許多遠程軟件應用,如Office字處理,而不是用自己本地機器上安裝的這些應用軟件。還有許多企業應用如電子商務應用,例如要寫一個交易程序,Google的企業方案就包含了現成的模板,一個根本沒學習過Netbeanr的銷售人員也能做出來。現在有這樣的說法,當今世界只有五臺計算機,一臺是Google的,一臺是IBM的,一臺是Yahoo的,一臺是Amazon的,一臺是Microsoft的,因為這五個公司在分布式處理的商業應用上捷足先登,引領潮流。Sun公司很早就提出“網絡就是計算機”是有先見之明的。
到底什么是云計算(CloudComputing)呢?在闡釋這個問題之前,先來看兩個容易與云計算混淆的概念:集群計算(ClusterComputing)和網格計算(GridComputing)。集群是指由一組彼此獨立但又相互連接的計算機在一起工作所形成的單獨整合的計算資源,集群系統是并行分布系統的一種實現方式。網格也是并行分布式系統的一種實現方式,與集群不同的是:網格系統支持地理分布的計算機之間共享資源、查找資源、整合資源,并根據網格中計算機的運轉情況、容量大小、性能穩定性、運營價格以及用戶所需服務的質量進行動態調配。不可否認,云計算在概念上與網格計算有部分重合,但至少在以下三個方面云計算的理念已經遠遠超越了網格計算。首先,云計算中計算機的資源完全虛擬化,被虛擬化的資源包括數據庫、操作系統、硬盤等軟件和硬件,這是一個計算機世界的大整合;其次,云計算支持高擴展性,也就是說它的規模可以動態伸縮,滿足應用和用戶大規模增長的需要。用戶可以根據需要簡單快捷地升級云計算中占有的資源數量,并且通常這樣的升級過程只需要幾秒或者幾分鐘的時間;最后,云計算中的數據更加安全可靠。它使用了數據多副本容錯、計算節點同構可互換等措施來保障服務的高可靠性,因此數據在云計算中通常會存在多個備份,這樣即使在服務器崩潰的情況下云計算技術也能表現出驚人的恢復能力。表7-1從不同的角度探討了云計算的定義,下面將給出相對比較全面系統的定義。云計算是由一系列可以動態升級和虛擬化的資源所組成的,這些資源被所有云計算的用戶共享并且可以方便地通過網絡訪問,用戶無須掌握云計算的技術,只需要按照個人或者團體的需要租賃云計算的資源。表7-1云計算的不同定義據此我們可以初步給出云計算的概念:云計算是一種分布式計算技術,它通過計算機網絡將龐大的計算處理程序自動分拆成無數個較小的子程序,再交由多部服務器所組成的龐大系統經搜尋、計算分析之后將計算處理結果回傳給用戶。通過該技術,網絡計算服務提供者可以在數秒之內處理數以千萬計甚至億計的信息,達到與“超級計算機”同樣強大的網絡計算服務。 7.2云計算產生和發展基礎
7.2.1SaaS的誕生
1999年,當桌面應用還是唯一主流的時候,當時Oracle的高管MarcBenioff看準了Web應用將取代桌面應用這一大趨勢,創建了Salesforce這家以銷售在線CRM(CustomerRelationshipManagement,客戶關系管理)系統為主的互聯網公司,并定義了SaaS(SoftwareasaService,軟件即服務)這個概念。SaaS的意思是軟件將會以在線服務的形式提供給用戶,而且避免了安裝和運維等煩瑣的步驟。Salesforce的在線CRM一經推出,不僅受到業界的好評和用戶的支持,而且越來越多的軟件選擇了SaaS這種模式來發布。總的來說,由于SaaS的誕生和不斷發展,人們開始相信云計算的產品不論在技術上還是在商業上都是可行的。7.2.2“IT不再重要”的發表
2003年,尼古拉斯·卡爾在《哈佛商業評論》上發表的一篇具有轟動性的文章“IT不再重要”中,犀利地提出IT技術已經日用品化了。雖然這樣能使大多數的企業從IT中獲益,但是IT已經很難給企業帶來一定的競爭優勢。此文受到了包括當時英特爾董事長克瑞格·貝瑞特在內的整個IT界的反駁,并導致尼古拉斯·卡爾甚至自稱為IT界的“全民公敵”。但是,今天看來,此文不僅促使了廣大的IT從業者不斷反思,而且推動了IT產業的變革,因為IT技術的日用品化并不是IT界的末日,而是下一次創新和發展的起點,推動了物聯網的應用進程。7.2.3Google的三大核心技術
Google在2003年的SOSP大會上發表了有關GFS(GoogleFileSystem,Google文件系統)分布式存儲系統的論文,在2004年的OSDI大會上發表了有關MapReduce分布式處理技術的論文,在2006年的OSDI大會上發表了關于BigTable分布式數據庫的論文。這3篇重量級論文的發表,不僅使大家了解Google搜索引擎背后強大的技術支撐,而且應用這3個技術的開源產品如雨后春筍般涌現,比如使用MapReduce的產品有Hadoop,使用GFS的產品有HDFS,而使用BigTable的產品則有Hbase、Hypertable和Cassandra等。這3篇論文和相關的開源技術極大地普及了云計算中非常核心的分布式技術。 7.3云計算的發展歷史
由于云計算是多種技術混合演進的結果,其成熟度較高,又有大公司推動,發展極為迅速。Amazon、Google、IBM、微軟和Yahoo等大公司都是云計算的先行者。云計算領域眾多成功的公司中還包括Salesforce、Facebook、Youtube、Myspace等。實際上云計算并不是一個全新的名詞,它的概念是歷經數十載不斷發展演化的結果,如圖7-1所示。云計算最初的概念來源于20世紀60年代,當時JohnMcCarthy認為“計算能力在未來將成為公共設施”。20世紀80年代末,開始出現利用大量的系統來解決單一問題(通常是科學問題)的情況,網格計算由此誕生。在1999年出現的SETI@home更是成功地將網格計算的思想付諸實施,構建了一個成功的案例。云計算與網格計算都是希望利用大量的計算機構建出強大的計算能力。但是在此基礎上云計算有著更為宏大的目標,那就是它希望能夠利用這樣的計算能力,在其上構建穩定而快速的存儲以及其他服務,它有著比網格計算更明顯的優勢。因此網格計算就逐漸向云計算發展。圖7-1云計算的演進
20世紀90年代,虛擬化的概念已經從虛擬服務器擴展到了更高層次的抽象。首先是虛擬平臺,而后又是虛擬應用程序。公用計算將集群作為虛擬平臺,采用可量化的業務模型進行計算。
20世紀末21世紀初,云計算的產品逐漸面市,在這個時期大多數的焦點都集中在將軟件作為一種服務上。軟件作為服務將虛擬化提升到了應用程序的層次,它所使用的業務模型不是按消耗的資源收費,而是根據向用戶提供的應用程序的價值收費的。
2007年,有關云計算的活動更加頻繁,其中最廣為人知的就是10月份Google和IBM聯合宣布推廣“云計算”的計劃,包括卡內基梅隆大學、斯坦福大學、加州大學伯克利分校、華盛頓大學以及MIT在內的很多研究機構都開始大規模地著手于云計算的研究項目。同一時期,“云計算”這個術語開始流行,并且逐漸成為主流。云計算是一種全新的商業模式,其核心部分依然是數據中心(DataCenter),它使用的硬件設備主要是成千上萬的工業標準服務器。企業和個人用戶只要通過高速互聯網就可以得到計算能力,從而避免了大量的硬件投資。2008年8月,Gartner研究發現“許多公司逐漸采用另外一種商業模式,公司本身不再投資硬件和軟件,硬件和軟件的費用都流向提供硬件和軟件服務的云計算的運營商”。這種模式直接導致“某些領域的IT產品劇烈增加,而其他領域的IT產品劇烈減少”。 7.4云計算的發展環境
7.4.1云計算與3G
3G(3rd-Generation)是第三代移動通信技術的簡稱。3G是指支持高速數據傳輸的蜂窩移動通信技術,是將無線通信與互聯網相結合的新一代通信技術。目前國際電信聯盟確定了三個3G標準制式:CDMA2000、WCDMA和TD-SCDMA。在我國,中國電信、中國聯通和中國移動分別運營這三種不同制式的3G網絡。3G的代表性特征是具有高速數據傳輸能力,能夠提供2M速率以上的帶寬。因此,3G可以支持語音、圖像、音樂、視頻、網頁、電話會議等多種移動多媒體業務。
3G與云計算是互相依存、互相促進的關系。一方面,3G將為云計算帶來數以億計的寬帶移動用戶。到2009年7月,全球移動用戶已達44億,普及率達65%。3G用戶已超過5億,并以驚人的速度增長。2009年是中國的3G元年,當年用戶數就超過了1千萬。這些用戶的終端是手機、PDA、筆記本、上網本等,計算能力和存儲空間有限,卻有很強的聯網能力,對云計算有著天然的需求,將實實在在地支持云計算取得商業成功。另一方面,云計算能夠給3G用戶提供更好的用戶體驗。云計算有強大的計算能力、接近無限的存儲空間,并支持各種各樣的軟件和信息服務,能夠為3G用戶提供前所未有的服務體驗。7.4.2云計算與物聯網
物聯網即“物物相連的互聯網”。物聯網通過大量分散的射頻識別、傳感器、GPS、激光掃描器等小型設備,將感知的信息通過互聯網傳輸到指定的處理設施上進行智能化處理,完成識別、定位、跟蹤、監控和管理等工作。籠統地看,物聯網屬于傳感網的范疇。其實,傳感器的應用歷史悠久而且相當普及。那為什么還要提物聯網的概念呢?物聯網是傳感網的一個高級階段,它通過大量信息感知節點采集信息,通過互聯網傳輸和交換信息,通過強大的計算設施處理信息,然后再對實體世界發出反饋或控制信息。物聯網根據其實質用途可以歸結為三種基本應用模式:對象的智能標簽、環境監控和對象跟蹤、對象的智能控制。物聯網基于云計算平臺和智能網絡,可以依據傳感器網絡用獲取的數據進行決策,通過改變對象的行為進行控制和反饋。
云計算服務物聯網的驅動力有以下幾個方面。
(1)需求驅動:海量信息的處理,在目前技術下的高成本壓力;云計算充分利用并合理使用資源,降低運營成本。
(2)技術驅動:IT與CT(ComputedTomography,電子計算機X射線斷層掃描技術)技術的融合推動IT架構的升級;云計算的標準逐漸快速發展。
(3)政策驅動:政府的低碳經濟與節能減排的政策要求;政府高度關注物聯網、云計算等基礎設施自助發展戰略。
物聯網具有全面感知、可靠傳遞和智能處理三個特征,其中智能處理需要對海量的信息進行分析和處理,對物體實施智能化的控制,這就需要信息技術的支持。云計算的超大規模、虛擬化、多用戶、高可靠性、高擴展性等特點正是物聯網規模化、智能化發展所需的技術。云計算架構在互聯網之上,而物聯網將主要依賴互聯網來實現有效延伸,云計算模式可以支撐具有業務一致性的物聯網集約運營。因此,很多研究提出了構建基于云計算的物聯網運營平臺,該平臺主要包括云基礎設施、云平臺、云應用和云管理。依托公眾通信網絡,以數據中心為核心,通過多接入終端實現泛在接入,面向服務的端到端體系架構。基于云計算模式,實現資源共享與產業協作,提高效率,降低成本,提升服務。有觀點認為云計算是物聯網“后端”支撐的關鍵。所謂物聯網的“后端”,是指基于互聯網計算的涌現智能及對物理世界的反饋和控制。“后端”是實現物聯網智能化管理目標和價值追求的關鍵所在。云計算協同信息處理與計算平臺對信息進行處理與決策。實時感應、高度并發、自主協同和涌現效應等特征對物聯網的“后端”提出了新的挑戰,需要有針對性地研究物聯網特定的應用集成問題、體系結構以及標準規范,特別是大量高并發時間驅動的應用自動關聯和智能協作問題。在互聯網計算領域,將軟件的實現與運維和用法相關部分(服務)相剝離,并納入到互聯網級基設中,這是大勢所趨。而互聯網級基設也是云計算、網格計算的本質所在。物聯網與云計算是交互的關系。一方面,物聯網的發展離不開云計算的支撐。從量上看,物聯網將使用數量驚人的傳感器(如數以億萬計的RFID、智能儀表和視頻監控等),采集到的數據量驚人。這些數據需要通過無線傳感網、寬帶互聯網向某些存儲和處理設施匯聚,而使用云計算來承載這些任務具有非常顯著的性價比優勢;從質上看,使用云計算設施對這些數據進行處理、分析、挖掘可以更加迅速、準確、智能地對物理世界進行管理和控制,使人類可以更加及時、精細地管理物質世界,從而達到“智慧”的狀態,大幅提高資源利用率和社會生產力水平。可以看出,云計算憑借其強大的處理能力、存儲能力和極高的性價比,很自然就會成為物聯網的后臺支撐平臺;另一方面,物聯網將成為云計算最大的用戶,為云計算取得更大商業成功奠定基石。7.4.3云計算與移動互聯網
互聯網和移動通信網是當今最具影響力的兩個全球性網絡,而移動互聯網恰恰融合了兩者的發展優勢。被稱做破壞性創新的云計算,在寬帶移動互聯網上將成為一種繞不開的趨勢。市場調研公司認為,云計算將成為移動世界中的一股爆破理論,最終會成為移動應用的主導運行方式。掌握了云計算核心技術的企業無疑在移動互聯網時代可以獲得更強的主動性。移動互聯網和云計算是相輔相成的。通過云計算技術,軟、硬件獲得空前的集約化應用,人們完全可以通過一個手持終端就能實現傳統PC所能達到的功能。二者在軟、硬件設施成本上的極大節約為中小企業帶來了福音,為人們帶來舒適和便捷。云計算和移動互聯網似乎天生就是絕配。手機擁有便攜性和通信能力強等眾多天然優勢,但計算能力、存儲能力弱,雖然各廠商推出的手機正逐漸向智能化演化,但受限于體積和便攜性的要求,短時間內手機的處理能力難以和計算機相比。從這點出發,云計算的特點更能在移動互聯網上充分體現,將應用的“計算”與存儲從終端轉移到服務器的云端,從而弱化了對移動終端設備的處理需求。例如,在各種數據、業務的快速推陳出新中,手機很難支撐這些新業務的要求,成為新業務發展的瓶頸。在云計算下,只要配備功能強大的瀏覽器,就能應用各種新業務。在后臺,云計算的存儲量和計算能力也解決了手機存儲量有限和丟失信息的問題。同時,實現了手機移動與固定計算、筆記本電腦計算的協同。對于追求個性化的移動互聯網市場來說,云計算的力量十分關鍵。移動互聯網時代來臨,對用戶來講,最好的體驗是淡化有線和無線的概念。在這樣的理念下,云計算有望突破各種終端,包括手機、計算機、電視和視聽設備等在存儲及運算能力上的限制,顯示的內容、應用都能保持一致性和同步性。各大IT廠商都在利用云計算制定如IaaS、PaaS和SaaS策略,希望通過利用互聯網的力量,以軟件為基準,將無縫的服務提供給移動終端用戶。
云計算正從互聯網逐漸過渡到移動互聯網。目前社交網站越來越火爆,國外的Facebook及國內的人人網、開心網等都是其典型的代表。社交網站運用云計算思維,實現了網站上各種信息的同步更新。如今,隨著一些典型的互聯網云計算應用,互聯網的“云”與“端”之間已經形成了平滑對接,而在移動互聯網上,“云”與“端”之間還需要“管”來溝通它們之間的鴻溝。瀏覽器或許將成為重要的“管”道角色。
云計算對于云和端兩側來說都具有傳統模式不可比擬的優勢。在云的一側,為內部開發者和業務使用者提供了更多的服務,提升基礎設施的使用效率和資源部署的靈活性:在端的一側,能夠迅速部署應用和服務,按需調整業務使用量。從目前云計算的成功案例中可以看出,云計算極大地提高了互聯網信息技術的性能,具有巨大的計算和成本優勢。7.4.4云計算與三網融合
所謂的三網融合,是指廣播電視網、電信網與互聯網的融合,其中互聯網是核心。據國務院三網融合領導小組專家組組長、中國工程院副院長鄔賀銓估算,三網融合啟動的相關產業市場規模達6880億元人民幣。其中,電信寬帶升級、廣電雙向網絡改造、機頂盒產業發展以及基于音頻視頻內容的信息服務系統建設的有效投資額為2490億元,可激發釋放社會的信息服務與終端消費額近4390億元。三網融合被納入“十二五”計劃,并明確寫入《國務院關于加快培育和發展戰略性新興產業的決定》。業內權威專家認為,三網融合政策的持續加碼,將推動電信與廣電業務相互進入、廣電網絡整合、網絡運營商角色再定位等一系列革命性變化同步加速。僅中國電信一家運營商,其兩年內用于寬帶升級的投資將達到近300億元。
云計算使計算能力從分散終端向網絡綜合服務轉變,使商業模式從網絡設備基礎設施向服務轉變,從連接計算機資源向連接個人和設備轉變。云計算的基礎仍然是寬帶,其服務手段和服務對象都需要寬帶。社會的各種生活、娛樂和就業都對寬帶發展提出了高要求,各國也加大了對寬帶建設的投入,各廠商也都在加強對寬帶技術的研發。業內專家認為,隨著三網融合政策的出臺以及下一代廣電網絡的上線,云計算不但會為現有廣電和電信產業帶來新商機,還會大大拓展相關產業鏈,使更多企業收益,為云計算提供切實的應用機會。三網融合和下一代廣電網項目是要為用戶提供多樣、便捷的服務。由于云計算可以大大降低數據存儲、計算和分發成本,一些以前無法實現的應用,現在都有可能變為現實。三網融合和下一代廣電網絡的最終目標是構建全數據、全融合的國家骨干網絡,借助云計算技術,下一代廣電網絡還會和傳統行業相融合,實現諸如遠程教育、網絡醫療會診、股票信息、交通查詢、精確廣告投放等更多應用。有了云計算技術,一些從事傳統行業的企業也能搭上三網融合和下一代廣電網的快車。例如,傳統的GPS廠商只是生產商,而借助云計算技術,他們可以成為服務性企業,通過增值業務獲取更多收入。7.4.5云計算壓倒性的成本優勢
為什么云計算擁有劃時代的優勢?主要原因在于它的技術特征和規模效應所帶來的壓倒性的性價比優勢。
全球企業的IT開銷分為三部分:硬件開銷、能耗和管理成本。根據IDC在2007年做過的一個調查和預測(如圖7-2所示),從1996年到2010年,全球企業IT開銷中的硬件開銷是基本持平的。但能耗和管理的成本上升非常迅速,以至于到2010年管理成本占了IT開銷的大部分,而能耗開銷越來越接近硬件開銷。圖7-2全球企業IT開銷發展趨勢如果使用云計算的話,系統建設和管理成本有很大的區別,如表7-2所示。根據JamesHamilton的數據,一個擁有5萬個服務器的特大型數據中心與擁有1000個服務器中型數據中心相比,特大型數據中心的網絡和存儲成本只相當于中型數據中心的1/5到1/7,而每個管理員能夠管理的服務器數量則擴大到7倍之多。因此,對于規模通常達到幾十萬乃至上百萬臺計算機的Amazon和Google云計算而言,其網絡、存儲和管理成本較之中型數據中心至少可以降低5~7倍。表7-2中型數據中心和特大型數據中心的成本比較電力和制冷成本也會有明顯的差別。例如,美國愛達荷州的水電資源豐富,電價很便宜。而夏威夷州是島嶼,本地沒有電力資源,電力價格就比較貴,二者最多相差7倍,如表7-3所示。表7-3美國不同地區電力價格的差異由于電價有如此顯著的差異,Google的數據中心一般選擇在人煙稀少、氣候寒冷、水電資源豐富的地區,這些地區的電價、散熱成本、場地成本、人力成本等都遠遠低于人煙稠密的大都市,剩下的挑戰就是要專門鋪設光纖到這些數據中心。不過,由于光纖密集波分復用技術(DWDM)的應用,單根光纖的傳輸容量已超過10Tb/s,在地上開挖一條小溝埋設的光纖所能傳輸的信息容量幾乎是無限的,遠比將電力用高壓輸電線路引入城市要容易得多,而且沒有衰減。拿Google的話來說,傳輸光子比傳輸電子要容易得多。這些數據中心采用了高度自動化的云計算軟件管理,需要的人員很少,而為了技術保密而拒絕外人進入參觀,讓人有一種神秘的感覺,故被人戲稱為“信息時代的核電站”,如圖7-3所示。圖7-3被稱為“信息時代的核電站”的Google數據中心再者,云計算與傳統互聯網數據中心(IDC)相比,資源的利用率也有很大不同。IDC一般采用服務器托管和虛擬主機等方式對網站提供服務。每個租用IDC的網站所獲得的網絡帶寬、處理能力和存儲空間都是固定的。然而,絕大多數網站的訪問流量都不是均衡的。例如,有的時間性很強,白天訪問的人少,到了晚上7、8點鐘就會流量暴漲;有的季節性很強,平時訪問人不多,但是到圣誕節前訪問量就很大;有的一直很平淡,但是由于某些突發事件(如邁克爾·杰克遜突然去世),使得防問量暴增而陷入癱瘓。網站擁有者為了應對這些突發流量,會按照峰值要求來配置服務器和網絡資源,造成資源的平均利用率只有10%~15%,如圖7-4所示。而云計算平臺提供的是有彈性的服務,它根據每個租用者的需要在一個超大的資源池中動態分配和釋放資源,而不需要為每個租用者預留峰值資源。而且云計算平臺的規模極大,其租用者數量非常多,支撐的應用種類也是五花八門,比較容易平穩整體負載,因而云計算資源利用率可以達到80%左右,這是傳統模式的5~7倍。圖7-4某典型網站的流量數據綜上所述,由于云計算有更低的硬件和網絡成本,更低的管理成本和電力成本,以及更高的資源利用率,兩者疊加就能夠將成本節省30倍以上,如圖7-5所示。這個驚人的數字是云計算成為劃時代技術的根本原因。圖7-5云計算較之傳統方式的性價比優勢從前面可以知道,云計算能夠大幅節省成本,規模是極其重要的因素。那么,如果企業要建設自己的私有云,規模不大,也無法享受到電價優惠,是否就沒有成本優勢了呢?答案是仍然會有數倍的優勢。一方面硬件采購成本還是會節省好幾倍,這是因為云計算技術的容錯能力很強,使得我們可以使用低端硬件代替高端硬件。另一方面,對云計算設施的管理是高度自動化的,極少需要人工干預,可以大大減少管理人員的數量。中國移動研究院建立了1024個節點的BigCloud云計算設施,并用它進行海量數據挖掘,大大節省了成本。對云計算用戶而言,云計算的優勢也是無與倫比的。他們不用開發軟件,不用安裝硬件,用低得多的使用成本就可以快速部署應用系統,而且可以動態伸縮系統的規模,可以更容易地共享數據。租用公共云的企業不再需要自建數據中心,只需申請賬號,按量付費,這一點對于中小企業和剛起步的創業公司來說尤為重要。目前,云計算的應用領域涵蓋應用托管、存儲備份、內容推送、電子商務、高性能計算、媒體服務、搜索引擎、Web托管等多個領域,代表性的云計算應用企業包括Abaca、BelnSync、AF83、Giveness、紐約時報、華盛頓郵報、GigaVox、SmugMug、Alexa、Digitaria等。紐約時報使用Amazon云計算服務在不到24個小時的時間里處理了1100萬篇文章,累計花費僅240美元。如果用自己的服務器,需要數月時間和多得多的費用。 7.5云服務
7.5.1使用云平臺的理由
在7.1節中了解到,云計算不僅僅是一種新的思想也是一種新的商業模式。于是很多工業分析家對云計算將會如何改變整個計算產業十分看好。計算工業轉向按照需求給消費者和公司提供平臺服務(PaaS)和軟件服務(SaaS),不用考慮時間和地點就可以隨時訪問可用的云資源,而這也正好可以解決公司IT部門經常面臨的一個問題:在預算范圍內為員工提供充足的運算能力和存儲空間,可是普通配置無法滿足峰值時運算及存儲空間的需求,如果為此而為新用戶增加設備會導致預算的飆升、成本的提高。同時對于大多數公司來說,增加設備不是經濟的選擇,因為有很多設備只有在峰值時才臨時使用,峰值過后就被閑置。所以必須要想辦法,在保持原有的服務器、網絡設備以及軟件投入的前提下實現性能的提升。
云平臺(CloudPlatforms)很好地解決了上述的問題。小公司往往缺乏開發大型應用程序的資源,而在云平臺上開發程序,公司就可以省下昂貴的硬件費用。同時小公司缺乏人力、財力、物力去進行軟件的開發和維護,也沒有能力解決苛刻的網絡安全問題。但是如果把軟件開發和軟件服務外包給其他公司,再把開發的軟件上載到云平臺,這樣小公司就節約了投資在系統上的成本,從而可以省出更多的人力和資源來從事日常工作。云平臺上的應用程序及服務在云端由云服務提供商維護。這樣集中的提供方式不僅可以使云平臺上的軟件比個人計算機上的同類軟件價格更便宜,管理更方便,而且還可以消除為每臺個人計算機進行軟件升級的煩惱。云平臺只需升級平臺上的軟件,非常簡單快捷地便完成了繁重的軟件升級任務。不僅如此,云平臺上的軟件還具有協作的功能,這是傳統的桌面軟件所不具備的。
總之,人們可以通過使用云平臺及其服務獲得很多幫助。在云平臺上開發網絡應用程序既可以減少開發費用,又能享受平臺的強大功能。與此同時,集中的資源供應方式和按需分配還降低了軟件費用和管理費用。7.5.2云平臺的服務類型
云平臺服務可以分為不同的類型。本節介紹三種不同類型的云平臺服務,如圖7-6所示。圖7-6云平臺服務類型
(1)軟件即服務。軟件即服務的應用完全運行在云中。軟件即服務面向用戶,提供穩定的在線應用軟件。用戶購買的是軟件的使用權,而不是軟件的所有權。用戶只需使用網絡接口便可訪問應用軟件。
對于一般的用戶來說,他們通常使用如同瀏覽器一樣的簡單客戶端。現在最流行的軟件即服務的應用可能是S,當然同時還有許多像它一樣的其他應用。
供應商的服務器被虛擬分區以滿足不同客戶的應用需求。對客戶來說,軟件即服務的方式無須在服務器和軟件上進行前期投入。對應用開發商來說,只需為大量客戶維護唯一版本的應用程序。
(2)平臺即服務。平臺即服務(PlatformasaService)的含義是,一個云平臺為應用的開發提供云端的服務,而不是建造自己的客戶端基礎設施。例如,一個新的軟件即應用服務的開發者在云平臺上進行研發,云平臺直接的使用者是開發人員而不是普通用戶,它為開發者提供了穩定的開發環境。
(3)附加服務。每一個安裝在本地的應用程序本身就可以給用戶提供有用的功能,而一個應用有時候可以通過訪問云中的特殊的應用服務來加強功能。因為這些服務只對特定的應用起作用,所以它們可以被看成是一種附加服務(AttachedService)。例如Apple的iTunes,客戶端的桌面應用對播放音樂及其他一些基本功能非常有用,而一個附加服務則可以讓用戶在這一基礎上購買音頻和視頻。微軟的托管服務(HostedExchange)提供了一個企業級的例子,它通過增加一些其他以云為基礎的功能(如垃圾信息過濾功能、檔案功能等)來給本地所安裝的交換服務提供附加服務。7.5.3云平臺服務的安全性
云計算在帶給用戶便捷的同時,它的安全問題也成為業界關注的焦點。Gartner預計,2008年內容安全服務占據了安全服務市場20%的份額,預期到2013年將會占到60%的份額。因此它的安全問題是一個不可回避的話題。下面是Gartner列出的云計算的七大風險。
(1)特權用戶的接入。在公司以外的場所處理敏感信息可能會帶來風險,因為這將繞過企業IT部門對這些信息進行的“物理、邏輯和人工的控制”。企業需要對處理這些信息的管理員進行充分了解,并要求服務提供商提供詳盡的管理員信息。
(2)可審查性。用戶對自己數據的完整性和安全性負有最終的責任。傳統服務提供商需要通過外部審計和安全認證,但一些云計算提供商卻拒絕接受這樣的審查。
(3)數據位置。在使用云計算服務時,用戶并不清楚自己的數據存儲在哪里,甚至都不知道數據位于哪個國家。用戶應當詢問服務提供商數據是否存儲在專門管轄的位置,以及他們是否遵循當地的隱私協議。
(4)數據隔離。在云計算體系下,所有用戶的數據都位于共享環境之中。加密能夠起一定作用,但還是不夠。用戶應當了解云計算提供商是否將一些數據與另一些隔離開,以及加密服務是否是由專家設計并測試。如果加密系統出現問題,那么所有數據都將不能再使用。
(5)數據恢復。就算用戶不知道數據存儲的位置,云計算提供商也應當告訴用戶在發生災難時,用戶數據和服務將會面臨什么樣的情況。任何沒有經過備份的數據和應用程序出現問題時,用戶需要詢問服務提供商是否有能力恢復數據,以及需要多長時間。
(6)調查支持。在云計算環境下,調查不恰當的或是非法的活動是難以實現的,因為來自多個用戶的數據可能會存放在一起,并且有可能會在多臺主機或數據中心之間轉移。
如果服務提供商沒有這方面的措施,那么當有違法行為發生時,用戶將難以調查。
(7)長期生存性。在理想情況下,云計算提供商將不會破產或是被大公司收購。但是用戶仍需要確認,在這類問題發生的情況下,自己的數據會不會受到影響,如何拿回自己的數據,以及拿回的數據是否能夠被導入到替代的應用程序中。
7.5.4云平臺服務的供應商
1.?Amazon
Amazon不僅是網絡銷售的巨頭,也是云平臺的主要提供者之一。Amazon為了支持龐大的銷售網絡花了大量時間和金錢配置了眾多服務器,現在它在設法把這套硬件設備租賃給所有的開發商。
Amazon允許開發商和公司租賃它私有的AmazonElasticComputeCloud(EC2),它可以讓使用者運行基于Linux的應用軟件。使用者可以建立一個新的AmazonMachineImage(AMI)包括應用軟件、庫、數據和相關的配置設定,或者從全球可用的AMI中選擇。在使用者可以開始、停止和監控AMI的上載實例之前,需要首先上載自己建立的或是選擇好的AMI給AmazonSimpleStorageService(S3)。AmazonEC2是按時收費的,而AmazonS3按流量收費(包括上載和下載)。
Amazon為用戶提供三種規模的虛擬服務器。
(1)小規模的服務器。它相當于一個擁有1.7GB內存,160GB存儲,一個32位處理器的系統。
(2)大規模的服務器。它相當于一個擁有7.5GB內存,850GB存儲,兩個64位處理器的系統。
(3)超大規模的服務器。它相當于一個擁有15GB內存,1.7TB存儲,4個64位處理器的系統。
客戶可以根據所需應用的規模設置虛擬服務器的數量,還可以根據需要執行創建、使用或者結束服務實例等操作。用戶只需選擇虛擬服務器的大小和處理速度,然后由Amazon來完成服務器的配置。
EC2是Amazon網絡服務(AWS)的一部分,通過這個平臺,用戶可以直接訪問Amazon的軟件和硬件。利用Amazon建立起的計算能力,用戶可以開發出可靠、經濟、功能強大的網絡應用程序。Amazon提供云平臺的基礎設施和接口,用戶提供平臺的剩余部分并為租用的服務器支付費用。
2.?GoogleAppEngine
Google提供的云平臺被稱為GoogleAppEngine,開發者使用這個平臺開發自己的網絡程序。GoogleAppEngine允許用戶運行用Python或Java程序語言編寫的網絡應用程序,也支持數據存儲、GoogleAccount、URLfetch、圖像處理和E-mail服務的應用程序接口(API)。GoogleAppEngine還提供基于網絡的管理控制臺給用戶,以使用戶可以輕松地管理他所運行的網絡程序。使用Google提供的開發工具和云平臺可以輕松地創建、維護和升級應用程序。只需用Google提供的接口和Python編程語言開發程序并上傳到云平臺上,就可以向自己的用戶提供服務了。現在,GoogleAppEngine免費提供500MB的存儲量和大概每月500萬的網頁瀏覽。如果需要更多的存儲空間和計算性能,Google計劃在未來提供收費服務。
Google開發環境的特點如下:
(1)動態的網絡服務;
(2)充分支持常見的網絡技術;
(3)提供穩定的存儲、查詢、排序、傳輸服務;
(4)自動升級和自動負載平衡;
(5)為授權用戶提供接口和Google的郵件賬戶。
此外,還可以在本地計算機上模擬GoogleAppEngine,這樣便可提供獨具特點的本地開發環境。
3.?IBM
IBM不僅提供企業級計算機硬件的服務,還提供云平臺的服務。公司旨在通過BlueCloud計劃推出為中小型企業提供按需計算的云平臺服務。
IBM建立云計算中心,而BlueCloud在全球范圍內部署云計算網點,企業使用這些網點來分散計算量。EA(ExpressAdvantage)就是其服務之一,它包括數據備份、數據恢復、郵件連貫、郵件存檔、數據安全等功能。一些密集型數據處理由專門的IT部門來解決。
為了管理它的硬件設備,IBM使用Hadoop開源軟件調整負載平衡。除此之外,還有PowerVM、Xen(一種開放源代碼虛擬機監視器)、Tivoli(IBM的數據管理軟件)等軟件支持IBM的云設備。
4.?S
S的軟件即服務平臺以提供銷售管理服務聞名,它在云平臺服務中處于領先地位。這個在互聯網中運行的F(平臺即服務)是完全按需分配的。Salesforce提供了F接口以及開發工具包。
AppExchange補充了F的功能,AppExchange是一個網絡應用程序的目錄。開發者可以使用AppExchange列出的第三方應用程序,也可以在這個目錄上共享自己的應用程序或者發布只能由授權公司及授權用戶訪問的商業應用程序。很多在AppExchange上的應用程序是免費的,收費的應用程序可以向開發者購買。
AppExchange上的大多數應用程序都跟銷售相關,比如銷售分析工具、郵件銷售系統、金融分析軟件等。事實上公司可以用F平臺開發任何類型的應用程序。2008年4月的計算機世界雜志上引用了夢工廠投資公司(一家位于紐約由10人組成的抵押投資公司)CEO的一句話:“我們是一家小公司,我們沒有資金購買服務器,沒有實力從零起步開發軟件,對我們來說,F就是一個助推器。”
5.?Microsoft
微軟提出云端戰略并開發出了Azure云平臺。Azure系統服務平臺是由微軟數據中心開發的云計算平臺。它提供了一個操作系統以及一些系統的開發服務。Azure可以被用于構建基于“云”的新應用程序,或者改進現有的應用程序以適用云環境。它的開放性框架給了開發者各種選擇,例如編制網絡應用程序,或者是運行在互連的設備中,同時它也能提供一個在線和按需的混合解決方案。
而MicrosoftLiveMesh則旨在提供一個集中位置來為用戶提供應用程序和數據的存儲服務,并且用戶可以從世界的任何地方通過設備來訪問(比如計算機,移動電話)。用戶可以通過Web-basedLiveDesktop或者自己已安裝的LiveMesh軟件來訪問上載的應用程序和數據。每個用戶的LiveMesh都是被密碼保護的,并且可以通過他的WindowsLiveLogin來鑒別,同時,所有的文件傳輸也被SecureSocketLayer(SSL)保護起來。
6.其他云平臺服務
除了Amazon、Google、IBM、S和Microsoft提供的云計算平臺,許多其他公司也涉足了這個領域。
(1)?3tera()提供AppLogic操作系統網和Cloudware按需計算結構。
(2)?10gen()為開發商提供了用于開發可升級的網絡程序的平臺。
(3)?CohesiveFlexibleTechnologies()提供了ElasticServer按需分配虛擬服務器平臺。
(4)?Joyent()為網絡應用程序開發者推出的Accelerator平臺是一個可升級的按需分配基礎架構,它為小公司推出的Connector是一個網絡應用程序套件。
(5)?Mosso()提供自動調整的企業級云平臺。
(6)?Nirvanix()為開發者提供了云存儲平臺,它提出的Nirvanix網絡服務平臺使用標準接口為用戶提供文件管理功能和其他常用操作。
(7)?Skytap()推出的“虛擬實驗室”是基于網絡的按需自動化控制平臺,開發者使用頂配置的虛擬機創建和配置實驗室環境。
(8)?Strikelron()推出的IronCloud是一個提供網絡服務的云平臺,開發者可以把各種各樣的LiveData服務整合到自己的應用程序中。7.5.5云平臺服務的優勢和面臨的挑戰
作為一項有望大幅降低成本的新興計算技術,云計算日益受到眾多公司的追捧。但是不可否認,各種云平臺的服務也有各自面臨的挑戰性問題。
首先,如何在云服務中實現跨平臺、跨服務商的問題,即服務商要在開發功能和兼容性上進行權衡。目前,早期的云計算提供的API比傳統的諸如數據庫的服務系統的限制多得多。各個服務商之間的代碼無法通用,這給跨平臺的開發者帶來很多的編程負擔。其次,如何來管理各個云服務平臺,這對于服務商來說,也是一個挑戰。和傳統的系統相比,大型的云平臺受有限的人工干涉、工作負載變化幅度大和多種多樣的共享設備這三個因素的影響,各個云平臺公司有各自的管理方案。例如Amazon公司的EC2用硬件級別上的虛擬機作為編程的接口,而S公司則在一個數據庫系統上實現了具有多種獨立模式的“多租戶”虛擬機。每一種方案都有不同的缺點和優勢。
此外,云平臺的安全問題和隱私保護也特別難以保障。安全問題不能再依靠計算機或網絡的物理邊界得到保障。過去數據保護的很多加密和解密的算法代價都特別高,如何對大規模的數據采用一些合適的安全策略是一個非常大的挑戰。云服務的挑戰還包括服務的穩定性和可靠性。2009年8月,Google的云計算服務出現嚴重問題,Gmail、Blogger和Spreadsheet等服務均長時間死機。2008年7月21日,亞馬遜在線計算服務的主要組件簡單存儲服務星期日(7月20日)出現了明顯故障。亞馬遜的服務健康狀況控制臺報告稱,在美國和歐洲的S3服務的錯誤率增加了,許多客戶的服務死機時間超過6小時。這種云服務的事故對于銀行或者互聯網公司的損失往往是巨大的。所以云服務商是否能提供長期穩定的服務也是企業選擇云服務的主要顧慮之一。最后,隨著云計算越來越流行,預計會有新的應用場景出現,也會帶來新的挑戰。例如,人們需要從結構化、半結構化或非結構的異構數據中提取出有用信息。同時,這也表明“云”整合服務必然會出現。聯合云架構不會降低而只會增加問題的難度。綜上所述,可以看出云計算和云平臺服務本身在適當場景下的確有巨大的優勢,但同時面臨著許多的技術難題亟待解決。7.6微軟公司的基于WindowsAzure系統的開發
7.6.1微軟公司的云計算戰略
微軟公司的云計算戰略包括三大部分,目的是為自己的客戶和合作伙伴提供三種不同的云計算運營模式。
(1)微軟運營。微軟公司自己構建并運營公共云的應用和服務,同時向個人消費者和企業客戶提供云服務。例如,微軟公司向最終使用者提供的OnlineServices和WindowsLive等服務。
(2)伙伴運營。ISV/SI等各種合作伙伴可基于WindowsAzurePlatform開發ERP、CRM等各種云計算應用,并在WindowsAzurePlatform上為最終使用者提供服務。另外一個選擇是,微軟公司運營在自己云計算平臺中的BusinessProductivityOnlineSuite(BPOS)產品也可交由合作伙伴進行托管運營。BPOS主要包括ExchangeOnline、SharePointOnline、OfficeCommunicationsOnline和LiveMeetingOnline等服務。
(3)客戶自建。客戶可以選擇微軟公司的云計算解決方案構建自己的云計算平臺。微軟公司可以為用戶提供包括產品技術平臺在內的全部管理。而微軟公司云計算戰略的特點可以總結為以下三點。
(1)軟件+服務。在云計算時代,一個企業是否就不需要自己部署任何的IT系統,一切都從云計算平臺獲取?或者反過來,企業還是像以前一樣,全部的IT系統都自己部署,不從云中獲取任何的服務?很多企業認為有些IT服務適合從云中獲取,如CRM、網絡會議、電子郵件等;但有些系統不適合部署在云中,如自己的核心業務系統、財務系統等。因此,微軟公司認為理想的模式將是“軟件+服務”,即企業既會從云中獲取必需的服務,也會自己部署相關的IT系統。“軟件+服務”可以簡單描述為兩種模式。
①軟件本身架構模式是軟件加服務。例如,殺毒軟件本身部署在企業內部,但是殺毒軟件的病毒庫更新服務是通過互聯網進行的,即從云中獲取。
②企業的一些IT系統自己構建,另一部分向第三方租賃、從云中獲取。例如,企業可以直接購買軟、硬件產品在企業內部自己部署ERP系統,而同時通過第三方云計算平臺獲取CRM、電子郵件等服務,而不是自己建設相應的CRM和電子郵件系統。
(2)平臺戰略。為客戶提供優秀的平臺一直是微軟公司的目標。在云計算時代,平臺戰略也是微軟公司的重點。在云計算時代,有三個平臺非常重要,即開發平臺、部署平臺和運營平臺。WindowsAzure平臺是微軟公司的云計算平臺,其在微軟公司的整體云計算解決方案中發揮著關鍵作用。它既是運營平臺,又是開發、部署平臺;其上既可運行微軟公司的自有應用,也可以開發部署用戶或ISV的個性化服務;平臺既可以作為SaaS等云服務的應用模式的基礎,又可以與微軟公司線下的系列軟件產品相互整合和支撐。事實上,微軟公司基于WindowsAzure平臺,在云計算服務和線下客戶自有軟件應用方面都擁有了更多樣化的應用交付模式、更豐富的應用解決方案、更靈活的產品服務部署方式和商業運營模式。
(3)自由選擇。為用戶提供自由選擇的機會是微軟公司云計算戰略的第三大典型特點。這種自由選擇表現在以下三個方面。
用戶可以自由選擇傳統軟件或云服務兩種方式。自己部署IT軟件、采用云服務,或者兩者都用。無論用戶選擇哪種方式,都能很好地得到微軟公司云計算的支持。
用戶可以選擇微軟公司不同的云服務。無論用戶需要的是SaaS、PaaS還是IaaS,微軟公司都有豐富的服務供其選擇。微軟擁有全面的SaaS服務,包括針對消費者的Live服務和針對企業的Online服務;提供基于WindowsAzure平臺的PaaS服務;還提供數據存儲、計算等的IaaS服務和數據中心優化服務。用戶可以基于任何一種服務模型選擇使用云計算的相關技術、產品和服務。用戶和合作伙伴可以選擇不同的云計算運營模式。用戶和合作伙伴可直接應用微軟公司運營的云計算服務;用戶也可以采用微軟公司的云計算解決方案和技術工具自建云計算應用;合作伙伴還可以選擇運營微軟公司的云計算服務或自己在微軟公司云平臺上開發云計算應用。
總體而言,云計算可以采用如圖7-7所示的微軟公司云計算參考架構。圖7-7微軟公司云計算參考架構7.6.2微軟公司的動態云計算解決方案
動態云計算解決方案是微軟公司提供的基于動態數據中心技術的云計算優化和管理方案。企業可以基于該方案快速構建面向內部使用的私有云平臺,服務提供商也可以基于該方案在短時間內搭建云計算服務平臺對外提供服務。微軟公司的動態云能夠讓用戶自己動態管理數據中心的基礎設施(包括服務器、網絡和存儲等),及其開通、配置和安裝等。其核心價值在于,它可以幫助用戶提高IT基礎設施資源的利用效率,提升基礎設施的應用和管理水平,實現計算資源的動態優化。微軟公司的動態云解決方案能夠幫助企業創建虛擬環境來運行應用,用戶可以按照需要彈性分配適當的應用配置,并且支持動態擴展。其具體功能特點包括部署、監控、優化、保護和靈活適配這5個方面。其中,部署功能包括部署服務器、網絡和存儲服務等資源,靈活的自我管理。監控功能包括收集運行情況數據來更好地滿足SLA需要,監控資源利用情況,以及客戶自我監控。優化功能包括持續監控和在不影響或少影響應用運行的情況下主動根據運行需要來調整和遷移服務器;根據需要分配“合適”的資源,不超配和低配。保護功能包括防病毒、垃圾訪問過濾和防火墻等,應用和數據備份,保證99.9%正常運行時間和基礎設施的物理安全。靈活適配功能包括容易調整環境、部署新資源,存儲、帶寬等根據需要可以動態調整,支持不同的虛擬技術,并可以管理不同類型的虛擬機。具體而言,微軟公司的動態云解決方案包括面向兩類不同對象的解決方案:面向企業客戶方案(基于DynamicDataCenterToolkitforEnterprise等產品)和面向服務提供商方案(基于DynamicDataCenterToolkitforHoster等產品)。
面向企業客戶方案是微軟公司提供給企業自己應用的動態數據中心管理工具。無論這些企業是最終用戶、系統集成商,還是獨立軟件開發商,該產品的功能都是將用戶數據中心優化為一個動態資源池,分配和管理以服務形式提供的IT資源。其所提供的價值和優勢如下:
(1)架構路線圖、部署指南和最佳實踐。
(2)使用現有開發工具和技術開發應用。面向服務提供商方案是微軟提供給合作伙伴——服務提供商的動態數據中心管理工具,該產品能使服務提供商幫助其客戶構建虛擬化的IT基礎架構、并提供可管理的服務。其所提供的價值和優勢如下:
(1)部署指南,構建可伸縮的、虛擬化的基礎架構。
(2)示例代碼和最佳實踐。
(3)使用現有開發工具和技術開發應用。
上述解決方案中包含了配置、數據保護、部署、監控等四大基礎設施功能模塊,用戶應用時可從自助服務Web門戶或管理Web門戶接入。微軟公司的動態云計算解決方案基于從上到下4層結構提供相關資源和功能支持,如圖7-8所示。圖7-8邏輯層實現最上層是服務層,提供賬戶管理、服務目錄、部署服務和用戶報告等;下面一層是管理層,提供資源管理和負載均衡:再下面一層是虛擬化層,提供硬件虛擬化和應用虛擬化;最底層是包括服務器、網絡和存儲等在內的資源層。最終幫助用戶實現動態數據中心的以下功能:
(1)資源池管理。集中管理中心的硬件資源,包括服務器、存儲、網絡等。
(2)動態分配服務。平臺可以動態分配服務資源。
(3)自助服務門戶。用戶可以根據需求自助申請計算資源;平臺根據SLA和用戶付費情況決定審批結果。
(4)應用和服務管理。包括應用管理、服務度量計費和SLA、數據存儲和災備服務。除此之外,微軟公司還建立了動態數據中心聯盟(DynamicDataCenterAlliance)。該聯盟成員企業圍繞上述兩大動態數據中心管理產品,利用微軟的Hyper-V(硬件虛擬化產品)、App-V(應用程序虛擬化產品)和SystemCenter管理套件等技術進行多樣化的增值開發,從而構建以微軟公司的技術產品為核心的動態數據中心生態系統。聯盟企業可獲得來自微軟的如下服務:
(1)共享使用、測試、定義技術內容,加快應用開發的市場化。
(2)可以優先應用微軟公司提供的新技術。
(3)在微軟公司門戶網站上獲得市場推廣的機會,還可參加新技術實踐和試用。7.6.3WindowsAzure平臺簡介
WindowsAzure(以及Azure服務平臺)由微軟公司首席軟件架構師雷·奧茲在2008年10月27日在微軟公司年度專業開發人員大會中發表社區預覽版本,最新的版本為2009年7月釋出的預覽版本(以SDK為主),并且已在其網站中公告費用等授權信息,并于2010年2月正式開始商業運轉(RTMRelease)。它的7個數據中心分別位于美國的芝加哥、圣安東尼奧及得克薩斯、愛爾蘭的都柏林、荷蘭的阿姆斯特丹、新加坡以及中國的香港。目前已有21個國家和地區可以使用WindowsAzurePlatform服務,2010年7月已擴張到40個國家和地區。
WindowsAzure平臺提供了云計算開發的相關技術,它可以被用于構建基于云的新應用程序,或者改進現有的應用程序以適用云計算環境。它的開放性框架向開發者提供了各種選擇,例如編寫網絡應用程序,同時它也能提供一種在線和按需的混合解決方案。
Azure使開發者能夠快速地使用現有的MicrosoftVisualStudio工具在Microsoft.NET環境下開發基于云計算的應用程序。支持.NET程序語言的同時,Azure將會支持更多的程序語言和開發環境。Azure通過提供按需計算來管理網絡環境和互聯環境下的程序,使得構建和使用應用程序更加簡單。Azure平臺具有較高的可用性和動態規模性,根據不同支付選項提供不同的使用方案。Azure提供了一個開放的、標準的、可交互式的平臺,同時支持多種Internet協議,包括HTTP、REST、SOAP(SimpleObjectAccessProtocol,簡單對象訪問協議)和XML環境。
微軟公司同時提供了可以直接被用戶使用的云應用程序,例如WindowsLive、MicrosoftDynamics,以及其他的商務在線服務,如MicrosoftExchangeOnline和SharePointOnline。Azure服務平臺可以為不同需求的開發人員提供計算能力、存儲能力和配置模塊上的多種選擇,以使他們在云計算環境下開發合適的程序。從圖7-9中可以知道WindowsAzure平臺主要由三大部分組成。
(1)?WindowsAzure。在微軟公司的數據中心,提供基于Windows環境下的應用程序運行和存儲數據的服務。
(2)?SQLAzure。通過SQLServer數據庫提供云計算環境下的數據服務。
(3)?.NET服務。向云環境和本地環境下的應用程序提供分布式基礎服務。圖7-9WindowsAzure平臺體系結構下面,將對WindowsAzure平臺的每個部分進行較詳細的介紹。
1.?WindowsAzure
從高層次考慮,會很容易理解WindowsAzure的作用,即為Windows應用程序運行和存儲應用程序數據提供云計算平臺。圖7-10給出了WindowsAzure主要組成部分的結構圖。圖7-10WindowsAzure主要組成如圖7-10所示,WindowsAzure操作系統運行在由很多微軟公司數據中心的計算機組成的Fabric上,通過Internet可以訪問這些計算機。WindowsAzure通過Fabric向應用程序提供計算和存儲數據服務。
當然,WindowsAzure計算服務是基于Windows操作系統平臺的。在微軟公司早期發布的社區技術預覽(CommunityTechnologyPreview,CTP)版中,WindowsAzure只允許運行基于.NET框架的應用程序。目前,WindowsAzure可以支持其他語言的應用程序。開發人員可以使用諸如C#、VisualBasic和C++等編程語言,通過VisualStudio集成開發環境或其他工具編寫應用程序。同時,開發人員也可以利用ASP.NET和WCF(WindowsCommunicationFoundation,分布式通信編程框架)技術開發Web應用程序。
WindowsAzure應用程序和本地應用程序(On-premisesApplications)都是通過REST(RepresentationalStationTransfer,表述狀態轉移)方法訪問WindowsAzure數據存儲服務的。WindowsAzure數據存儲并不是采用SQLServer數據庫,且查詢語言也不是SQL。它支持簡單的、可擴展的數據存儲,允許存儲二進制大對象(BinaryLargeObjects,BLOb),提供應用程序之間的通信隊列,同時支持使用簡單查詢語言進行表單查詢。另外,WindowsAzure應用程序可以通過配置文件控制應用程序的相關設置,如設置WindowsAzure運行實例的數量。
(1)應用程序服務。
在WindowsAzure中,通常應用程序擁有多個實例程序,每個實例程序運行于各自的虛擬機中。這些虛擬機運行64位的WindowsServer2008,并且由云計算特定的管理程序負責實例程序到虛擬機的分派工作。
在CTP版本的Azure中,開發人員通過Web角色實例和Worker角色實例創建應用程序,如圖7-11所示。Web角色實例通過IIS7服務器接收HTTP或HTTPS請求信息,可以使用ASP.NET、WCF或其他IfS支持的技術實現Web角色。相反,Worker角色實例并不直接接收外部請求,而且IIS服務器并不運行在Worker角色的虛擬機中。Worker角色實例的輸入一般由WindowsAzure存儲的隊列提供,隊列中的消息可能來自Web角色實例、本地應用程序或其他。無論輸入信息來自哪,Worker角色實例都會產生輸出信息并發送到其他隊列或外部世界。Worker角色實例是批處理作業,所以可以使用任何包括main(?)方法的Windows技術來實現。無論運行Web角色實例還是Worker角色實例,每個虛擬機中都包括一個WindowsAzure代理(Agent),應用程序通過代理可以和Fabric交互。圖7-11CTP版本中WindowsAzure應用程序組成隨著時間的推移,應用程序的組成可能會發生改變,但在CTP發布版本中,WindowsAzure保證了一個虛擬機對應一個物理處理器核。因此,可以較好地保證每個應用程序的性能。為了提高應用程序的性能,可以在配置文件中增加運行實例的數目。
WindowsAzure將增強新的虛擬機,并將它們分配到相應的處理器核上運行。Fabric同時檢測Web角色或Worker角色的失敗實例,并開始運行新實例程序。特別注意,為了增強可擴展性,WindowsAzureWeb角色實例不允許是無狀態的。任何客戶端特定狀態都必須寫入到WindowsAzure存儲區,并發送到SQLAzure數據庫或傳回到客戶端的一個Cookie中。盡管Web角色實例程序是無狀態的,但還是需要由WindowsAzure內置的負載平衡器(LoadBalanced)進行授權。它不允許創建一個相似的特定Web角色實例,因為無法保證來自相同用戶的多個請求被發送至相同的實例程序。
(2)數據存儲服務。
WindowsAzure數據存儲服務支持存儲簡單的二進制大對象、結構化存儲信息和應用程序的不同部分間的數據交換,如圖7-12所示。最簡單的存儲數據方式是使用二進制大對象,一個存儲賬戶可以擁有一個或多個容器,每個容器內包含一個或多個二進制大對象,其中,二進制大對象最大可以是50GB。將二進制大對象分解成多個塊可以提高傳輸效率。圖7-12WindowsAzure允許的3種數據存儲方式
WindowsAzure存儲數據服務同時還支持表(Tables)存儲,但是該表并不是傳統的關系型數據表。實際上,表中存儲的是帶有屬性信息的實體集合,表沒有特定的模式,而且屬性可以是多種類型的,例如Int、String、Bool或DataTime類型。應用程序可以通過ADO.NET數據服務或LINQ(LanguageIntergratedQuery,語言集成查詢)訪問表中的數據。一個表可以是大字節數量級的,包含數十億個實體。WindowsAzure可以用多個服務器來分割該表以提高性能。二進制大字節和表都是為了存儲數據,而隊列(Queues)在WindowsAzure中主要是實現Web角色實例和Worker角色實例間的通信。舉例來說,假設用戶通過Web角色實現Web網頁,提交一個執行一些計算密集型任務請求。當Web角色實例接收到該請求時,將向某個隊列寫入一個描述如何工作的消息。等待在該隊列上的Worker角色實例將會在消息到達時讀取該消息,然后執行該任務。任何運行結果都將可以返回至其他隊列中,或由某種方式控制結果。
WindowsAzure數據存儲區中的所有數據都會備份3份。復制的數據能夠容錯,因此丟失數據將不會致命。同時,系統還保證了數據的一致性。無論是WindowsAzure應用程序或運行在其他地方的應用程序,都可以訪問WindowsAzure數據存儲區。數據存儲區的三種類型數據都遵守REST規則并獲取數據。所有數據都使用URI命名并通過標準HTTP操作訪問。.NET客戶也可以使用ADO.NET或LINQ訪問數據存儲區。但對于Java等應用程序來說,只能通過REST訪問數據存儲區。例如,可以使用下面形式化的URL,通過HTTPGET方法讀取某個二進制大對象Blob:
http://<StorageAccount>./<Container>/<BlobName>其中,<StorageAccounC>為一個數據存儲區的賬戶ID,<Container>和<BlobName>分別是所要訪問的容器名和Blob的名稱。
同樣,通過HTTPGET方法,可以使用下面形式化的URL查詢特定表:
http://<StoraqeAccount>./<TableName>?$filter=<Query>
其中,<TableName>是所要查詢的表名,<Query>包含對該表所要執行的查詢。
WindowsAzure應用程序和外部應用程序都可以通過HTTPGET方法訪問隊列信息,其形式化的URL如下:
http://<StorageAccount>./<QueueName>
WindowsAzure對計算和數據存儲資源進行獨立的收費。這樣一個本地應用程序可以僅僅使用WindowsAzure數據存儲,通過RESTful方式訪問它的數據。也可以直接從非WindowsAzure應用程序訪問數據,因為即使應用程序沒有運行數據仍然可用。
2.?SQLAzure
SQLAzure主要是提供基于云的存儲和管理各種信息數據的服務。微軟公司宣稱SQLAzure最終將包攬面向數據的功能,包括報表、數據分析和其他。如圖7-13所示,SQLAzure目前僅實現了SQLAzure數據庫和Huron數據同步兩個部分。圖7-13SQLAzurc提供了面向數據的云服務功能
(1)?SQLAzure數據庫。
SQLAzure數據庫(之前稱為SQL數據服務)扮演了云計算環境中的DBMS角色。它允許本地或云環境應用程序在微軟公司的服務器上存儲關系型或其他類型的數據。和WindowsAzure數據存儲服務不同,SQLAzure數據庫是建立在SQLServer之上的。SQLAzure將會在未來支持關系型數據,提供云計算下的SQLServer環境,包括索引、視圖、觸發器等功能。應用程序可以通過ADO.NET或其他Windows數據訪問接口訪問SQLAzure數據庫。無論SQLAzure數據庫的應用程序運行在WindowsAzure、企業數據中心、移動設備或其他場所,應用程序都將通過TDS(TabularDataStream,表格數據流)協議訪問數據。SQLAzure數據庫和SQLServer環境很相似,但前者沒有支持SQLCLR(CommonLanguageRuntime)和空間數據功能。因為所有的管理任務都是由微軟公司負責的,并且每個查詢操作都有資源使用的限制等。
和Win
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 防車輛傷害培訓課件
- 掘進工安全培訓
- 2024年8月份船舶跨境運輸超導材料溫控系統協議
- 彈性伸縮在微服務架構中的應用-全面剖析
- 全球氣候變化與地質響應-全面剖析
- 牙槽突炎與全身性疾病關聯分析-全面剖析
- 物流人工智能在決策中的應用-全面剖析
- 電子制造自動化升級-全面剖析
- 目錄管理標準化-全面剖析
- 熱泵空調高效節能-全面剖析
- 蘇教版科學一年級下冊第10課形形色色的動物課件25張
- 中醫醫院財務管理制度
- 個 人 簡 歷 及 親 屬 關 系 表
- 農藥安全科學使用技術課件
- 旅游投資簡要概述PPT通用課件
- 中西方浪漫主義文學比較研究
- 道路危險貨物運輸安全評估報告
- 新生兒聽力篩查PPT幻燈片課件
- 雙臺110kV主變短路電流計算書
- 壓力容器設計審核人員答辯考試標準要點歸納及特殊材料特殊工況的設計注意事項
- 揭牌儀式策劃方案(共11頁)
評論
0/150
提交評論