云計算導論——從應用視角開啟云計算之門( 簡體 字) | |
作者:韓燕波等 | 類別:1. -> 程式設計 -> 雲計算 |
出版社:電子工業出版社 | 3dWoo書號: 40403 詢問書籍請說出此書號! 有庫存 NT售價: 245 元 |
出版日:1/1/2015 | |
頁數:292 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121247972 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 緒論 1
1.1 摩爾定律 1 1.2 云計算的出現 3 1.3 從領域應用需求看云計算 5 1.3.1 城市交通系統概述 5 1.3.2 信息處理基礎設施需求 6 1.3.3 海量數據集成和處理的需求 7 1.3.4 多應用系統集成和協同的需求 8 1.3.5 傳統技術面臨的挑戰 10 1.4 云計算能帶來什么 14 1.5 如何盡快學好云計算 15 1.6 思考題 16 第2章 云計算初探 17 2.1 云計算的定義和基本特征 17 2.2 云計算的發展動因和沿革 19 2.2.1 計算模式的演變 20 2.2.2 互聯網基礎設施的演變 21 2.2.3 數據管理的演變 22 2.2.4 應用軟件形態的演變 24 2.2.5 人機交互方式的演變 25 2.3 云基礎設施體系架構與核心技術 27 2.4 搭建和使用云基礎設施所要解決的核心問題 29 2.5 小結 31 2.6 思考題 31 第3章 如何實現連網設備的優化利用與彈性伸縮 32 3.1 引言 32 3.2 虛擬化 33 3.2.1 虛擬化的定義 34 3.2.2 虛擬化的歷史沿革與分類 35 3.3 服務器虛擬化 36 3.3.1 核心概念 36 3.3.2 關鍵特性 37 3.3.3 面臨的問題 38 3.4 服務器虛擬化關鍵技術 39 3.4.1 服務器虛擬化的實施過程 39 3.4.2 動態資源優化 41 3.4.3 虛擬機遷移 42 3.5 虛擬化資源環境建設與管理 43 3.5.1 虛擬化資源管理平臺體系架構 44 3.5.2 虛擬化資源管理平臺模塊功能 45 3.5.3 虛擬化資源管理平臺管理流程 47 3.6 小結 48 3.7 思考題 49 第4章 如何實現大規模數據的彈性存儲 50 4.1 引言 50 4.2 彈性存儲的核心問題 51 4.2.1 命名空間 52 4.2.2 元數據管理 54 4.2.3 故障和錯誤處理 55 4.2.4 性能和效率 61 4.3 HDFS 62 4.3.1 HDFS的目標和基本假設條件 62 4.3.2 HDFS體系架構 63 4.3.3 性能保障 65 4.3.4 訪問接口 68 4.4 HDFS的管理與應用 69 4.4.1 基于命令行的管理與應用 69 4.4.2 基于Java API的管理與應用 73 4.5 應用實例:視頻文件管理系統 76 4.5.1 需求分析 76 4.5.2 系統設計 77 4.5.3 系統實現 78 4.6 小結 82 4.7 思考題 82 第5章 如何實現海量多元數據的高效管理 83 5.1 引言 83 5.2 NoSQL數據庫 84 5.2.1 NoSQL數據庫設計原理 84 5.2.2 NoSQL數據庫數據模型 86 5.2.3 NoSQL數據庫的數據劃分技術 90 5.2.4 NoSQL數據庫及其分類 94 5.2.5 NoSQL數據庫的優勢和劣勢 95 5.3 HBase數據庫系統 99 5.3.1 數據模型 99 5.3.2 系統架構 101 5.3.3 HBase訪問接口 106 5.4 HBase的管理與應用 106 5.4.1 基于命令行的管理與應用 106 5.4.2 基于Java API的管理與應用 111 5.5 應用實例:交通監控圖片管理 116 5.5.1 需求分析 116 5.5.2 系統設計 116 5.5.3 系統實現 117 5.6 小結 122 5.7 思考題 122 第6章 如何實現大規模數據的并行分析與處理 123 6.1 引言 123 6.2 MapReduce的由來和原理 124 6.2.1 一個樸素的單詞計數程序 124 6.2.2 多線程并行化單詞計數程序 124 6.2.3 使用分塊存儲的單詞計數程序 125 6.2.4 在多臺計算機上并行運行的單詞計數程序 126 6.2.5 MapReduce的提出 127 6.2.6 MapReduce的設計思想 129 6.3 MapReduce的開源實現——Hadoop 131 6.3.1 Hadoop運行環境 131 6.3.2 Hadoop工作流程 132 6.3.3 Hadoop作業運行機制 133 6.4 Hadoop中的數據類型和格式 140 6.4.1 文件輸入 141 6.4.2 其他輸入格式 143 6.4.3 輸出格式 143 6.5 Hadoop編程案例 143 6.5.1 單詞計數程序例子回顧 143 6.5.2 數據去重 146 6.5.3 數據排序 149 6.6 小結 153 6.7 思考題 153 第7章 如何利用云中的各類資源 154 7.1 引言 154 7.2 服務計算基礎 155 7.2.1 服務的基本概念 155 7.2.2 SOA基本原理 156 7.2.3 Web服務的兩種基本形態 157 7.3 云服務與一切皆服務的交付模式 160 7.3.1 云服務的定義和分類 160 7.3.2 XaaS與一切皆服務的交付模式 162 7.3.3 云服務案例 163 7.4 服務開發實踐 165 7.4.1 Java與Web服務開發 165 7.4.2 SOAP服務開發實踐 166 7.4.3 REST服務開發實踐 170 7.5 小結 172 7.6 思考題 172 第8章 如何進行云應用開發 173 8.1 引言 173 8.2 面向多租戶的云應用設計 174 8.2.1 多租戶與應用交付模式 174 8.2.2 多租戶應用的設計要求 175 8.2.3 多租戶應用的實現方法 176 8.2.4 業界現狀 177 8.3 基于服務組合的云應用開發方法 178 8.3.1 面向IT開發人員的服務組合 178 8.3.2 面向最終用戶的服務組合 187 8.4 云應用的部署 198 8.5 小結 201 8.6 思考題 202 第9章 如何保證安全 203 9.1 引言 203 9.2 云基礎設施安全 204 9.2.1 網絡硬件安全 204 9.2.2 主機系統安全 206 9.2.3 安全管理 209 9.3 云數據安全 211 9.3.1 數據存儲安全 212 9.3.2 數據訪問安全 213 9.3.3 數據管理安全 214 9.4 云應用安全 215 9.4.1 用戶認證 215 9.4.2 應用授權 216 9.5 云安全標準和法律法規 219 9.6 小結 221 9.7 思考題 221 第10章 綜合實踐:交通流量監控 222 10.1 引言 222 10.2 需求分析 222 10.3 基礎環境搭建 224 10.4 數據準備 228 10.5 數據統計和索引 233 10.6 查詢接口封裝 236 10.7 應用界面開發 238 10.8 云應用開發總結 239 10.9 思考題 241 附錄A OpenStack的安裝與配置 242 A.1 總體規劃 242 A.2 操作系統準備 243 A.3 安裝OPENSTACK組件 244 A.4 KEYSTONE的配置、運行與測試 247 A.5 GLANCE的配置、運行與測試 249 A.6 NOVA的配置、運行與測試 251 A.7 HORIZON的配置、運行與測試 255 A.8 安裝與配置計算節點 257 附錄B Hadoop的安裝與配置 261 B.1 環境準備 261 B.2 配置在單節點(偽分布式)環境下運行HADOOP 262 B.3 在多節點(分布式)環境下運行HADOOP 266 B.4 運行WORDCOUNT詞頻統計程序 269 附錄C HBase的安裝與配置 272 C.1 單機版 272 C.2 偽分布模式 273 C.3 完全分布模式 274 參考文獻 277 云計算是一個龐大的技術體系,剛開始學習云計算的讀者很容易迷失在宏觀的概念或特定的工具中,往往不得其門而入。本書從如何有效利用云的視角,以提問的方式梳理脈絡和要點,帶領讀者登堂入室。區別于市面上側重于宏觀知識和概念介紹或者側重于某一特定技術或工具講解的云計算書籍,本書既不停留在遠景,也不局限于某一技術和工具的細節,而是在對云計算的本質問題、基本原則、基本結構以及基本的云計算技能、應用實踐方法方面下功夫,期冀能夠幫助讀者既對云計算的技術體系有全局觀和深入認識,又能夠動手實踐掌握具體的技術并明白其背后的道理。
互聯網的發展和完善催生了云計算,大系統協同以及大數據處理與分析等新發展又進一步推動了云計算。當前,放眼整個計算機和通信(ICT)領域,云計算顯得特別重要。
事實上,一種技術從發展到成熟常常要經歷所謂的S曲線,從一開始不被關注,到成為熱點且期望值過高,再到伴隨失望跌到谷底,最后回歸理性認識和逐漸成熟。云計算正經歷著這樣的S曲線,目前剛剛滑下峰頂,還沒到谷底。S曲線的峰頂階段往往“超載”嚴重,被賦予過多的東西,云計算的發展也是如此。 雖然“云”是當前大型應用系統必不可少的基礎設施,但它卻不能做到像操作系統或中間件那樣易操作和易掌控。云計算既非某項單一的技術或方法,亦非一個平臺;它不只是一種服務,也不僅僅是某個商業模式的一種實現,卻又和這些都緊密相關。云計算對應一個龐大的概念和技術體系,其自身元素還在不斷發展和演化,且元素之間的耦合度差異很大(也就是說,在實際應用中,針對某一特定的應用場景,各種元素不一定都要出現,也不一定都要緊密關聯起來)。上述特點總令云計算難以掌握。 此外,云計算已得到了實際應用,其發展勢不可擋,這點已毋庸置疑。許多高校都開設了或擬開設云計算課程。不僅計算機專業的學生和教師以及IT從業者有這方面的學習需求和熱情,很多來自政府、企業和應用領域的其他專業人士也有系統了解和應用云計算的迫切需求。當前,合適教材的匱乏成為突出矛盾。編者2010年便在中科院研究生院開設了云計算課程。作為國內較早教授這門課程的教師,我們長期以來也被教材問題所困擾。 市面上有關云計算的書籍已經很多,這些書籍有些側重于云計算的宏觀知識和概念介紹,有些側重于某一特定技術或工具的講解。剛開始學習云計算的讀者很容易迷失在宏觀的概念或特定的工具中,往往不得其門而入。讀者不希望只停留在遠景,也不希望過早地局限于某一技術和工具的細節,而是期望對云計算的本質問題、基本原則和基本結構等有較為完整的認識,同時又能夠掌握基本的云計算技能、工具及應用實踐方法。 云計算是一個龐大的技術體系,從不同的視角,針對不同的目的,所需要掌握的基礎理論和具體技能各有側重。例如,從使用云的視角,側重于如何利用云計算技術進行連網設備的使用、管理和維護,如何進行大規模數據的存儲和管理,如何進行云服務和云應用開發;而從構建云的視角,則側重于如何構建云服務的系統、網絡和體系結構等。但是二者又不是截然分開的,對云計算技術的利用也會牽扯到其背后系統構建的一些原理知識。 本書在自編研究生教材的基礎上,結合北方工業大學云計算研究中心暨大規模流數據集成與分析技術北京市重點實驗室研究團隊的教學及應用項目實踐,歸納總結了云計算的概念體系及其背后的基礎理論與核心技術。本書以提問的方式梳理脈絡和要點,從如何有效利用云的視角,展開討論。本書堅持理論結合實際,針對云計算的幾個核心問題給出了具體應用案例,將云計算的基礎理論與具體實踐相結合,力圖使有志于服務計算、云計算的學生、青年教師、科學工作者、IT從業者能夠在云計算的技術和研究領域少走彎路,盡快登堂入室。 全書內容共分為10章:第1章回顧了云計算的產生背景,并結合交通領域實際問題討論了云計算的用武之地和好處;第2章對云計算發展的歷史沿革、定義和基本特征、體系架構與關鍵技術等方面進行了闡述,力爭使讀者對云計算有直觀的了解;第3~9章分別介紹了云計算的核心技術,包括服務器虛擬化的關鍵技術、大規模數據的存儲原理、海量多元數據的管理機制、大規模數據的并行分析和處理方法、云服務的開發方法、基于服務組合的云應用開發方法、云計算各個層次的安全問題及保障方法等,回答了書中提出的關鍵問題;第10章是本書的實踐部分,結合交通領域的一個實際應用,展示了一個完整云端應用的構建方法和開發過程。本書最后還提供了3個附錄,分別介紹了OpenStack、Hadoop和HBase的安裝和配置知識。 本書在撰寫過程中,得到了許多人的幫助。實驗室李寒老師為本書校對花費了大量心血,博士研究生朱美玲、張仲妹以及碩士研究生姜永、南海京、張賽、刁璽、肖丙閑、李悅等參與了本書的實驗整理和繪圖工作。電子工業出版社的董亞峰老師為本書的最終面世提供了幫助。在此,對他們表示衷心的感謝! 由于時間和水平有限,書中的不妥之處在所難免,衷心希望廣大讀者和同行批評指正。 編 者 2014年8月于北京 |