由于云計算的發(fā)展十分迅猛,自《云計算及其實踐教程》出版以來,新的Hadoop 2.0平臺及YARN框架的出現(xiàn)、新的云平臺Spark的出現(xiàn)及迅速被廣泛接受,促使我們下決心更新教材內(nèi)容,趕上時代發(fā)展。
根據(jù)教學(xué)反饋,學(xué)生對云計算實踐很關(guān)注。原有教材主要關(guān)注在Windows平臺的云開發(fā),少量涉及Linux平臺,修訂版增加了Linux平臺的云開發(fā),并在宏觀意義上給出了幾條不同的加強云平臺實踐和開發(fā)的學(xué)習(xí)路徑。
本書共分11章。第1章云計算概論,介紹了云計算的定義和特征、云計算的SPI服務(wù)模型;第2章主流云平臺,介紹了Amazon云平臺、Google云平臺、OpenStack云平臺等;第3章Windows Azure云平臺,介紹了微軟的云服務(wù)、Windows Azure云平臺及其組成;第4章虛擬化,介紹了虛擬化的概念、功能、產(chǎn)品和應(yīng)用方案;第5章Hadoop云平臺,介紹了并行計算的概念、Hadoop的各個組件構(gòu)成和原理、Hadoop程序?qū)嵗\行;第6章Spark平臺,介紹Spark產(chǎn)生背景、生態(tài)系統(tǒng)、核心概念RDD、程序設(shè)計實例;第7章云存儲,介紹了云存儲的概念、FCoE接口、NoSQL的概念和實例、云存儲方案設(shè)計和存儲虛擬化;第8章云安全,介紹了云安全的概念、技術(shù)和應(yīng)用方案;第9章云標準,介紹了云計算的各種標準化組織;第10章云計算與物聯(lián)網(wǎng)通信,介紹了物聯(lián)網(wǎng)三層體系結(jié)構(gòu)、物聯(lián)網(wǎng)通信的概念、WPAN、WLAN、WMAN和WWAN等;第11章云計算實踐,介紹了基于Windows Azure和Hadoop、Spark平臺的九個實驗的實驗指導(dǎo),其實驗步驟詳細,初學(xué)者也可以參照學(xué)習(xí)和實踐。本書包括三個附錄:附錄1為各章習(xí)題答案;附錄2為增補習(xí)題及其答案;附錄3為中英文術(shù)語對照表。本書提供教學(xué)用的PPT課件、實驗源程序和實驗用的素材等,可在出版社網(wǎng)站下載。
與第一版相比,第二版修訂的內(nèi)容包括:
第一,新增了云計算平臺Spark的基本理論,包括產(chǎn)生背景、生態(tài)系統(tǒng)、核心概念RDD、程序設(shè)計實例。新增YARN的核心概念以及架構(gòu)。
第二,補充完善了虛擬機的遷移、網(wǎng)絡(luò)虛擬化、桌面虛擬化等方面的內(nèi)容。
第三,NoSQL技術(shù)目前應(yīng)用越來越廣泛,包括阿里云等國內(nèi)廠商也在迅速跟進使用MongoDB等NoSQL數(shù)據(jù)庫,學(xué)生畢業(yè)設(shè)計和就業(yè)已開始涉及這些新知識。更新原有教材,加強NoSQL的實例和分類以及FCoE接口、集群存儲的概念和方案。
第四,在實踐方面,增加了Linux平臺的云開發(fā),包括支持YARN的Hadoop分布式安裝和部署、Spark安裝、編寫和運行Hadoop和Spark程序、Spark Shell程序命令執(zhí)行等,并給出加強云平臺實踐和開發(fā)的學(xué)習(xí)路徑建議。
第五,各章中更新和增加了溫馨提示部分,幫助讀者理解易混淆的相關(guān)概念。
第六,增加了一些計算題和設(shè)計題,并集中放置到附錄2中,這些題目關(guān)注并行計算和分布式計算、資源管理和調(diào)度等基本理論問題,有助于學(xué)生深入思考云計算背后的科學(xué)問題。
與現(xiàn)有的云計算圖書比較,本書的特點在于:
第一,面向物聯(lián)網(wǎng)加以闡述,切合專業(yè)。云計算是物聯(lián)網(wǎng)的重要基礎(chǔ),物聯(lián)網(wǎng)是云計算的應(yīng)用之一。本書在內(nèi)容上包括云計算與物聯(lián)網(wǎng)的關(guān)系、云計算與物聯(lián)網(wǎng)通信、可以用于物聯(lián)網(wǎng)領(lǐng)域中的數(shù)據(jù)挖掘和數(shù)據(jù)分析的Mahout開源平臺、Spark MLlib開源平臺等內(nèi)容。
第二,注重基礎(chǔ)知識和基本理論,形成體系,便于教學(xué)。本書每個章節(jié)都有溫馨提示部分,以使讀者理解易混淆的概念。
第三,從實踐入手,使讀者有獲得感。例如,聽視頻、看電子書、自學(xué)課件中簡單的非關(guān)鍵部分;在網(wǎng)上申請阿里云、百度云、Amazon云等賬號(這三個都易于申請且有免費的時間段贈送);自己動手安裝Hadoop、Spark運行環(huán)境并用Java或Scala語言開發(fā)Linux平臺下的云程序;自己動手安裝Windows Azure運行環(huán)境并用C#語言開發(fā)Windows平臺下的云程序;自己動手安裝VMware Workstation虛擬化軟件或OpenStack開源虛擬化管理平臺,創(chuàng)建自己的虛擬機。
第四,關(guān)注云計算領(lǐng)域的熱點。本書不僅關(guān)注Mahout、Spark、MLlib等大數(shù)據(jù)和機器學(xué)習(xí)方面的內(nèi)容,也關(guān)注網(wǎng)絡(luò)虛擬化、桌面虛擬化等云網(wǎng)絡(luò)方面的內(nèi)容,并創(chuàng)新性地以習(xí)題形式關(guān)注并行計算和分布式計算、資源管理和資源調(diào)度等基本理論問題。
本書的初稿在北京科技大學(xué)計算機與通信工程學(xué)院物聯(lián)網(wǎng)專業(yè)進行了多次試講,并指導(dǎo)學(xué)生做了書中的全部實驗,收到了良好的效果。本書的出版得到了教育部本科教學(xué)工程、專業(yè)綜合改革試點項目經(jīng)費和北京科技大學(xué)教材建設(shè)基金的資助,在此表示感謝。
本書可作為高等學(xué)校物聯(lián)網(wǎng)工程、通信與信息系統(tǒng)、電子科學(xué)與技術(shù)、電子工程、計算機等專業(yè)的本科生教材,也可作為相近專業(yè)的教學(xué)參考書。
郝衛(wèi)東編寫了本書第3、4、5、6、11章,王志良編寫了第1、10章,劉宏嵐編寫了第7、8、9章和附錄1、2、3,王寧編寫了第2章。
感謝劉宏嵐整理了全書所有的圖片。感謝王志良教授對本書的指導(dǎo)意見,讓我們重視習(xí)題和實驗,并聯(lián)系了微軟公司對我們進行指導(dǎo)。感謝西安電子科技大學(xué)出版社毛紅兵編輯和王斌編輯的大力支持和認真細致的工作。本書部分引用了相關(guān)參考文獻和網(wǎng)絡(luò)資源,在此,我們對這些資料的作者們表示衷心感謝。
由于編者水平有限,書中難免存在不妥之處,懇請廣大讀者批評指正。
作者聯(lián)系方式:郝衛(wèi)東,E-mail:Wed@ustb.edu.cn。
編 者
2017年5月