基本介紹
內容簡介
系統、全面地剖析微軟Windows Azure雲計算,理論與實踐相結合。
作者簡介
趙書蘭, 佛山科學技術學院。佛山市展能數碼科技有限公司顧問。佛山市計算機協會、廣東省計算機協會會員。著作方向:MATLAB、數值分析、計算方法、雲計算。
圖書目錄
第1章雲計算及WindowsAzure概述(1)
1.1雲計算的概念(1)
1.1.1雲計算產生的背景(1)
1.1.2雲計算的演進(3)
1.2雲計算基礎(5)
1.2.1雲計算的定義(5)
1.2.2雲計算的特徵(6)
1.2.3交付模式(6)
1.2.4部署模式(8)
1.2.5相關概念(10)
1.3雲計算整合架構(14)
1.3.1虛擬化平台(15)
1.3.2雲服務管理平台(15)
1.4雲計算的產業現狀與研究進展(16)
1.4.1雲計算的發展階段(16)
1.4.2雲計算的研究進展(17)
1.5雲計算效益(18)
1.6雲計算關鍵技術研究(19)
1.6.1虛擬化技術(20)
1.6.2數據存儲技術(21)
1.6.3資源管理技術(23)
1.6.4能耗管理技術(24)
1.6.5雲監測技術(25)
1.7雲計算帶來的變革(27)
1.7.1大勢所趨的轉型(27)
1.7.2新興的產業鏈(28)
1.8雲計算的套用實例(32)
1.8.1Google的雲計算平台
套用實例(32)
1.8.2IBM“藍雲”計算平台
套用實例(33)
1.8.3Amazon的彈性計算雲
套用實例(34)
1.9雲計算的行業實踐(35)
1.9.1雲計算戰略的不同層面(35)
1.9.2雲計算在各行業的套用(36)
1.10雲計算套用存在的主要問題(46)
1.11WindowsAzure概述(47)
第2章WindowsAzure雲計算操作平台(51)
2.1WindowsAzure平台組成部分
及功能(52)
2.1.1WindowsAzure架構(52)
2.1.2WindowsAzure平台類型(54)
2.1.3WindowsAzure應用程式
的運行環境(56)
2.1.4為VisualStudio安裝Windows
AzureSDK和工具(57)
2.1.5安裝並構建WindowsAzure
SDK程式(58)
2.1.6DevelopmentFabric(58)
2.1.7DevelopmentStorage(59)
2.2WindowsAzure收費模式(61)
2.2.1WindowsAzure賬戶(61)
2.2.2WindowsAzure計費(62)
2.3WindowsAzure界面(64)
2.4創建一個簡單的HelloWorld(66)
2.5WindowsAzure項目組成(68)
2.5.1WindowsAzureProject
介紹(68)
2.5.2Role及其生命周期模型(72)
2.6WindowsAzure存儲(74)
2.6.1使用TableService(75)
2.6.2使用BlobService(99)
2.6.3使用BlobService保存
照片(103)
2.6.4利用Blob存儲讀取照片(114)
2.6.5WindowsAzureDrive(116)
2.7深入分析Azure表存儲(120)
2.7.1使用代碼創建一個不存
在的表(122)
2.7.2使用HTTPPOST方法
創建不存在的表(125)
2.7.3向表中添加實體(127)
2.7.4查詢操作(130)
2.7.5替換屬性值更新實體(134)
2.7.6刪除實體(137)
2.8在WindowsAzure存儲中備份
模擬運算表(138)
2.8.1Blob的內容與類型(138)
2.8.2運算表備份(139)
2.8.3表格恢復(149)
第3章SQLAzure及WindowsAzure
AppFabric平台(151)
3.1SQLAzure概述(151)
3.1.1SQLAzure的基礎架構(151)
3.1.2SQLAzure供應模型(152)
3.1.3Transact—SQL的支持(152)
3.1.4SQLAzure安全性(153)
3.1.5SQLAzure限制(154)
3.2SQLAzure的特性(154)
3.3SQLAzure與SQLServer的
比較(156)
3.4SQLAzure伺服器的創建及
套用(158)
3.4.1創建一個SQLAzure
伺服器(158)
3.4.2連線SQLAzure(159)
3.4.3管理SQLAzure(160)
3.4.4在SQLAzureDatabase
中執行Transact—SQL(162)
3.4.5把本地SQLServer資料庫遷移
到SQLAzure雲資料庫(164)
3.5SQLAzureDataSync數據同步
功能(168)
3.5.1基本概念(168)
3.5.2DataSync功能的使用(168)
3.6WindowsAzureAppFabric
平台(175)
3.6.1WindowsAzureAppFabric和
WindowsServerAppFabric(175)
3.6.2AppFabricLABS(195)
3.6.3存取控制(195)
3.6.4服務匯流排(196)
3.6.5快取服務(198)
3.7SQLAzure套用(199)
3.7.1如何申請創建一個SQLAzure
賬戶(199)
3.7.2如何創建一個雲端SQLAzure
伺服器實例(200)
3.7.3如何設定防火牆規則(200)
3.7.4如何創建一個雲端SQLAzure
資料庫(200)
3.7.5如何創建一個雲端SQLAzure
伺服器登錄賬戶(203)
3.7.6如何修改登錄賬戶密碼(204)
3.7.7如何進行本地管理(204)
第4章WindowsAzure的存儲佇列(206)
4.1WindowsAzureTable(206)
4.1.1WindowsAzureTable套用
架構(206)
4.1.2WindowsAzureTable數據
模型(207)
4.1.3使用TableStorage(208)
4.1.4表存儲的創建和訪問(211)
4.1.5實現圖片管理(216)
4.2WindowsAzureBlob(222)
4.2.1AzureBlob基本架構(222)
4.2.2Blob訪問接口(223)
4.2.3Blob存儲探索(225)
4.2.4創建、存儲及讀取Blob(227)
4.2.5WindowsAzure套用程
序開發之Blob(231)
4.3WindowsAzureQueue(238)
4.3.1Queue概述(238)
4.3.2探索存儲Queue(239)
4.3.3Queue的套用(242)
4.3.4改進Thumbnails.sln
示例(246)
4.4Blob、Table和Queue存儲的
新特性(256)
第5章WindowsAzure的外部存儲與
最佳化(258)
5.1WindowsSharePointServices的
外部存儲(258)
5.1.1概述(258)
5.1.2限制因素和權衡問題(259)
5.1.3外部Blob存儲體系
結構(260)
5.1.4安裝和配置Blob提供
程式(262)
5.1.5從外部數據存儲中刪除
孤立的Blob(263)
5.1.6實現惰性垃圾收集(263)
5.2為實體分配主鍵值(264)
5.2.1選擇PartitionKey(264)
5.2.2添加RowKey(265)
5.3實現關聯的處理(265)
5.4上傳表數據(268)
5.4.1上傳數據到單獨或異構表
的比較(270)
5.4.2同構與異構表操作性能
的比較(274)
5.5在格線中顯示來自異構表的數據(279)
5.5.1父實體顯示(279)
5.5.2子實體顯示(280)
第6章WindowsAzure的高級技術(282)
6.1RoleEndpoint與內部通信(282)
6.1.1RoleEndpoint概述(282)
6.1.2基於InputEndpoint通過Worker
Role發布WCF服務(283)
6.1.3動態指定WCF的發布
地址(286)
6.1.4通過InternalEndpoint實現
Role的內部通信(288)
6.2通過遠程桌面功能訪問Windows
Azure的虛擬機(290)
6.2.1通過VisualStudio配置遠程
桌面功能(291)
6.2.2WebRole的FullIIS
特性(294)
6.2.3使用FullIIS模式部署多站點
和虛擬目錄(296)
6.3Configuration的變更與通知
機制(298)
6.4通過Startup實現COM組件
調用(302)
6.4.1使用Startup執行簡單
命令(302)
6.4.2介紹Startup配置項(303)
6.4.3使用Startup功能註冊COM
組件(303)
6.4.4在模擬器中運行時跳過Startup
任務(306)
6.5使用WindowsAzureCDN(307)
6.5.1WindowsAzureCDN的
原理(307)
6.5.2使用BlobServiceCDN(311)
6.5.3使用HostedServiceCDN(312)
6.6WindowsAzureVirtualMachine
Role(314)
6.6.1創建VHD(315)
6.6.2在VHD中安裝Windows
Server2008R2(316)
6.6.3在VHD中安裝需要的
功能(319)
6.6.4安裝AzureVMRole
組件(321)
6.6.5將VHD上傳到WindowsAzure
平台(324)
6.6.6創建服務(326)
6.7雲端的分散式快取服務AppFabric
Cache(329)
6.7.1快取與分散式快取(329)
6.7.2Cache的簡單使用(331)
6.7.3創建WindowsAzure
AppFabricCache(333)
6.8.NET服務匯流排佇列與路由器(337)
6.8.1.NET服務匯流排的使用(338)
6.8.2在服務匯流排佇列中存儲
訊息(347)
6.8.3服務匯流排中的路由器(355)
6.8.4使用服務匯流排路由器傳遞
訊息(364)
第7章WindowsAzure的典型套用(369)
7.1對服務中的個人信息進行Azure
加密存儲(369)
7.1.1把明文加密成密文(369)
7.1.2把密文解密成明文(373)
7.1.3在TableStorageEntity實例中
協調加密和解密(375)
7.1.4加密的性能損失分析(378)
7.2WindowsAzure雲中託管jQuery
的套用(379)
7.2.1在雲中創建一個jQuery套用
程式服務(379)
7.2.2添加一個啟用Ajax的WCF
服務(380)
7.2.3將jQuery應用程式部署到雲
中並運行(382)
7.3用F#、MapReduce及WindowsAzure
分析日誌檔案(382)
7.3.1利用F#解決問題(382)
7.3.2MapReduce式日誌分析(383)
7.3.3MapReduce加上Windows
Azure操作(385)
7.3.4輔助角色的創建和
發布(386)
參考文獻(388)
序言
前 言
“雲計算”並不是一個年度忽悠詞,而是和從大型機到PC、PC到網際網路一樣,代表了一次深刻的變革,開啟了終端+“雲計算”的大數據時代的巨幕。
那么,“雲計算”能不能像供水、供電一樣,一個國家甚至全世界可以共用一個網路,大家直接按使用情況付費呢?很明顯,軟體業在整體動作模式上還遠遠落後於傳統產業,軟體業的生產、分發渠道沒有水電那么統一和規範,同時最終用戶的修改需求也頗多,需要定製化解決,很難像用水、用電那樣千人一面,所以“雲計算”問世,就注定了和音樂等各環節自成體系的產業更為相似,需要生產、渠道和消費定製分離。“雲計算”需要基礎設施提供商和製造商來做伺服器和數據中心,需要掌握下游基礎設施資源和上游生態環境的平台提供商來搭橋,需要迎合最終用戶需求的開發商來開發套用服務。
雲計算在2008年中期變成了一個熱門話題,到2009年中期時達到了它最流行的狀態。作為其受歡迎的證據,2009年8月中旬在Bing.com搜尋“cloud computing”返回了9200萬條結果,在全球的各地每周至少會召開一個關於雲計算的會議,主流商業雜誌會定期刊登雲計算專題文章和全面的特別報告。
Windows Azure以雲技術為核心,提供了“軟體+服務”的計算方法。它是Azure服務平台的基礎。Azure用於幫助開發者開發可以跨越雲端和專業數據中心的下一代應用程式,在PC、Web和手機等各種終端間創造完美的用戶體驗。Azure能夠將處於雲端的開發者個人能力,與微軟全球數據中心網路託管的服務,如存儲、計算和網路基礎設施服務等緊密結合起來。這樣,開發者就可以在“雲端”和“客戶端”同時部署套用,使得企業與用戶都能共享資源。Ray Ozzie 說道,“今天,無論對於開發社區還是微軟來說,都是一個轉折點。我們所提出的技術將改變原來的遊戲規則,同時為Web開發者和企業開發者帶來新的機遇。”
微軟會保證Azure服務平台自始至終的開放性和互操作性,確信企業的經營模式和用戶從Web獲取信息的體驗將會因此改變。最重要的是,這些技術將使用戶有能力決定,是將應用程式部署在以雲計算為基礎的網際網路服務上,還是將其部署在客戶端,或者根據實際需要將兩者結合起來。
Azure服務平台的設計目標是用來幫開發者更容易地創建Web和互聯設備的應用程式。它提供了最大限度的靈活性,選擇性以及技術連線用戶的控制性,其具有以下好處。
利於開發者過渡到雲計算。世界上數以百萬計的開發者使用.NET Framework和Visual Studio開發環境。用戶可以在Visual Studio的環境下編寫、測試和部署雲計算。
快速獲得結果。應用程式可以通過單擊一個按鈕就部署到Azure服務平台上,變更相當簡單,不需要停工修改,是個試驗新想法的理想平台。
想像並創建新的用戶體驗。Azure服務平台可以讓你創建Web、搭建手機平台、使用雲計算等複雜套用。與 Live Services連線可以訪問4億Live用戶,使用新的方式與用戶進行交流。
基於標準的兼容性。為了可以和第三方服務互動,服務平台支持工業標準協定,包括HTTP、REST、SOAP、RSS和AtomPub,可以方便地集成基於多種技術或者多平台的套用。
正因為Windows Azure可給用戶帶來以上好處,因此,與Windows Azure平台的雲計算相關的書籍應運而生。本書是在此情況下對“雲計算”的入門及實戰進行深入剖析,其具有如下特點:
(1)內容涉及面廣、詳略得當、深入淺出。
(2)由入門到實踐概括地介紹了“Windows Azure雲計算”,做到理論與實踐相結合。
(3)內容新穎,圖文並茂。
本書共7章,幾乎涵蓋了Windows Azure平台的所有內容。
第1章:介紹了雲計算及Windows Azure概述,主要包括雲計算的基本概念、雲計算整合架構、虛擬化平台、關鍵技術研究等內容。
第2章:介紹了Windows Azure雲計算操作平台,主要包括Windows Azure平台組成部分及功能、Windows Azure收費模式、Windows Azure存儲等內容。
第3章:介紹了SQL Azure及Windows Azure AppFabric平台,主要包括SQL Azure基本概述、SQL Azure的特性及SQL Azure伺服器創建及套用等內容。
第4章:介紹了Windows Azure的存儲佇列,主要包括Windows Azure Table、Windows Azure Blob、Windows Azure Queues等內容。
第5章:介紹了Windows Azure的外部存儲與最佳化,主要包括Windows SharePoint Services的外部存儲、為實體分配主鍵值、上傳表數據及等內容。
第6章:介紹了Windows Azure的高級技術,主要包括Role Endpoint與內部通信、通過遠程桌面功能訪問Windows Azure的虛擬機、通過Startup實現COM組件調用及Windows Azure CDN使用等內容。
第7章:介紹了Windows Azure的典型套用,主要介紹了對服務中的個人信息進行Azure加密存儲、Windows Azure雲中託管jQuery的套用及用F#、MapReduce及Windows Azure 分析日誌檔案等內容。
本書主要由趙書蘭編寫,此外參加編寫的還有李曉東、丁偉雄、雷曉平、李婭、楊文茵、何正風、趙新芬、趙書梅、欒穎、劉志為、周靈、周品、余智豪和張德豐。
由於作者的水平有限,加之時間緊迫,書中難免會存在不足之處,敬請廣大讀者批評指正。
編 著 者